@@ -33,7 +33,7 @@ discard block |
||
33 | 33 | use Symfony\Component\HttpFoundation\Request as SymfonyRequest; |
34 | 34 | |
35 | 35 | // Load functions |
36 | -require_once __DIR__. '/includes/config/include.php'; |
|
36 | +require_once __DIR__.'/includes/config/include.php'; |
|
37 | 37 | require_once __DIR__.'/sources/main.functions.php'; |
38 | 38 | |
39 | 39 | // init |
@@ -53,10 +53,10 @@ discard block |
||
53 | 53 | // Check for existing lock |
54 | 54 | $result = DB::queryFirstField( |
55 | 55 | 'SELECT 1 |
56 | - FROM ' . prefixTable('auth_failures') . ' |
|
56 | + FROM ' . prefixTable('auth_failures').' |
|
57 | 57 | WHERE unlock_at = ( |
58 | 58 | SELECT MAX(unlock_at) |
59 | - FROM ' . prefixTable('auth_failures') . ' |
|
59 | + FROM ' . prefixTable('auth_failures').' |
|
60 | 60 | WHERE unlock_at > %s |
61 | 61 | AND source = %s AND value = %s) |
62 | 62 | AND unlock_code = %s', |
@@ -2663,7 +2663,7 @@ |
||
2663 | 2663 | 'SELECT email, name |
2664 | 2664 | FROM '.prefixTable('users').' |
2665 | 2665 | WHERE login = %s', |
2666 | - $value |
|
2666 | + $value |
|
2667 | 2667 | ); |
2668 | 2668 | |
2669 | 2669 | // No valid email address for user |
@@ -2401,7 +2401,9 @@ discard block |
||
2401 | 2401 | // Complete $userInfo |
2402 | 2402 | $userInfo['has_been_created'] = 1; |
2403 | 2403 | |
2404 | - if (WIP === true) error_log("--- USER CREATED ---"); |
|
2404 | + if (WIP === true) { |
|
2405 | + error_log("--- USER CREATED ---"); |
|
2406 | + } |
|
2405 | 2407 | |
2406 | 2408 | return [ |
2407 | 2409 | 'error' => false, |
@@ -2437,7 +2439,9 @@ discard block |
||
2437 | 2439 | } |
2438 | 2440 | |
2439 | 2441 | // Oauth2 user already exists and authenticated |
2440 | - if (WIP === true) error_log("--- USER AUTHENTICATED ---"); |
|
2442 | + if (WIP === true) { |
|
2443 | + error_log("--- USER AUTHENTICATED ---"); |
|
2444 | + } |
|
2441 | 2445 | $userInfo['has_been_created'] = 0; |
2442 | 2446 | |
2443 | 2447 | $passwordManager = new PasswordManager(); |
@@ -2667,8 +2671,9 @@ discard block |
||
2667 | 2671 | ); |
2668 | 2672 | |
2669 | 2673 | // No valid email address for user |
2670 | - if (!$userInfos || !filter_var($userInfos['email'], FILTER_VALIDATE_EMAIL)) |
|
2671 | - return; |
|
2674 | + if (!$userInfos || !filter_var($userInfos['email'], FILTER_VALIDATE_EMAIL)) { |
|
2675 | + return; |
|
2676 | + } |
|
2672 | 2677 | |
2673 | 2678 | $unlock_url = $SETTINGS['cpassman_url'].'/self-unlock.php?login='.$value.'&otp='.$unlock_code; |
2674 | 2679 |
@@ -147,7 +147,7 @@ discard block |
||
147 | 147 | $sessionPwdAttempts = $session->get('pwd_attempts'); |
148 | 148 | $sessionUrl = $session->get('user-initial_url'); |
149 | 149 | $server = []; |
150 | - $server['PHP_AUTH_USER'] = $request->getUser(); |
|
150 | + $server['PHP_AUTH_USER'] = $request->getUser(); |
|
151 | 151 | $server['PHP_AUTH_PW'] = $request->getPassword(); |
152 | 152 | |
153 | 153 | // decrypt and retreive data in JSON format |
@@ -162,18 +162,18 @@ discard block |
||
162 | 162 | } |
163 | 163 | |
164 | 164 | // Check if Duo auth is in progress and pass the pw and login back to the standard login process |
165 | - if( |
|
165 | + if ( |
|
166 | 166 | isKeyExistingAndEqual('duo', 1, $SETTINGS) === true |
167 | 167 | && $dataReceived['user_2fa_selection'] === 'duo' |
168 | 168 | && $session->get('user-duo_status') === 'IN_PROGRESS' |
169 | 169 | && !empty($dataReceived['duo_state']) |
170 | - ){ |
|
170 | + ) { |
|
171 | 171 | $key = hash('sha256', $dataReceived['duo_state']); |
172 | 172 | $iv = substr(hash('sha256', $dataReceived['duo_state']), 0, 16); |
173 | 173 | $duo_data_dec = openssl_decrypt(base64_decode($session->get('user-duo_data')), 'AES-256-CBC', $key, 0, $iv); |
174 | 174 | // Clear the data from the Duo process to continue clean with the standard login process |
175 | - $session->set('user-duo_data',''); |
|
176 | - if($duo_data_dec === false) { |
|
175 | + $session->set('user-duo_data', ''); |
|
176 | + if ($duo_data_dec === false) { |
|
177 | 177 | // Add failed authentication log |
178 | 178 | addFailedAuthentication(filter_var($dataReceived['login'], FILTER_SANITIZE_FULL_SPECIAL_CHARS), getClientIpServer()); |
179 | 179 | |
@@ -191,7 +191,7 @@ discard block |
||
191 | 191 | $dataReceived['login'] = $duo_data['duo_login']; |
192 | 192 | } |
193 | 193 | |
194 | - if(isset($dataReceived['pw']) === false || isset($dataReceived['login']) === false) { |
|
194 | + if (isset($dataReceived['pw']) === false || isset($dataReceived['login']) === false) { |
|
195 | 195 | echo json_encode([ |
196 | 196 | 'data' => prepareExchangedData( |
197 | 197 | [ |
@@ -536,7 +536,7 @@ discard block |
||
536 | 536 | } |
537 | 537 | // Append with roles from AD groups |
538 | 538 | if (is_null($userInfo['roles_from_ad_groups']) === false) { |
539 | - $userInfo['fonction_id'] = empty($userInfo['fonction_id']) === true ? $userInfo['roles_from_ad_groups'] : $userInfo['fonction_id']. ';' . $userInfo['roles_from_ad_groups']; |
|
539 | + $userInfo['fonction_id'] = empty($userInfo['fonction_id']) === true ? $userInfo['roles_from_ad_groups'] : $userInfo['fonction_id'].';'.$userInfo['roles_from_ad_groups']; |
|
540 | 540 | } |
541 | 541 | // store |
542 | 542 | $session->set('user-roles', $userInfo['fonction_id']); |
@@ -548,7 +548,7 @@ discard block |
||
548 | 548 | if (count($session->get('user-roles_array')) > 0) { |
549 | 549 | $rolesList = DB::query( |
550 | 550 | 'SELECT id, title, complexity |
551 | - FROM ' . prefixTable('roles_title') . ' |
|
551 | + FROM ' . prefixTable('roles_title').' |
|
552 | 552 | WHERE id IN %li', |
553 | 553 | $session->get('user-roles_array') |
554 | 554 | ); |
@@ -594,7 +594,7 @@ discard block |
||
594 | 594 | if ($adjustPermissions) { |
595 | 595 | $session->set('user-admin', (int) $userInfo['admin']); |
596 | 596 | $session->set('user-manager', (int) $userInfo['gestionnaire']); |
597 | - $session->set('user-can_manage_all_users',(int) $userInfo['can_manage_all_users']); |
|
597 | + $session->set('user-can_manage_all_users', (int) $userInfo['can_manage_all_users']); |
|
598 | 598 | $session->set('user-read_only', (int) $userInfo['read_only']); |
599 | 599 | DB::update( |
600 | 600 | prefixTable('users'), |
@@ -665,10 +665,10 @@ discard block |
||
665 | 665 | $session->set('user-latest_items_tab', []); |
666 | 666 | $session->set('user-nb_roles', 0); |
667 | 667 | foreach ($session->get('user-latest_items') as $item) { |
668 | - if (! empty($item)) { |
|
668 | + if (!empty($item)) { |
|
669 | 669 | $dataLastItems = DB::queryFirstRow( |
670 | 670 | 'SELECT id,label,id_tree |
671 | - FROM ' . prefixTable('items') . ' |
|
671 | + FROM ' . prefixTable('items').' |
|
672 | 672 | WHERE id=%i', |
673 | 673 | $item |
674 | 674 | ); |
@@ -677,7 +677,7 @@ discard block |
||
677 | 677 | [ |
678 | 678 | 'id' => $item, |
679 | 679 | 'label' => $dataLastItems['label'], |
680 | - 'url' => 'index.php?page=items&group=' . $dataLastItems['id_tree'] . '&id=' . $item, |
|
680 | + 'url' => 'index.php?page=items&group='.$dataLastItems['id_tree'].'&id='.$item, |
|
681 | 681 | ], |
682 | 682 | 'add' |
683 | 683 | ); |
@@ -687,7 +687,7 @@ discard block |
||
687 | 687 | // Get cahce tree info |
688 | 688 | $cacheTreeData = DB::queryFirstRow( |
689 | 689 | 'SELECT visible_folders |
690 | - FROM ' . prefixTable('cache_tree') . ' |
|
690 | + FROM ' . prefixTable('cache_tree').' |
|
691 | 691 | WHERE user_id=%i', |
692 | 692 | (int) $session->get('user-id') |
693 | 693 | ); |
@@ -719,7 +719,7 @@ discard block |
||
719 | 719 | && (int) $sessionAdmin !== 1 |
720 | 720 | ) { |
721 | 721 | // get all Admin users |
722 | - $val = DB::queryfirstrow('SELECT email FROM ' . prefixTable('users') . " WHERE admin = %i and email != ''", 1); |
|
722 | + $val = DB::queryfirstrow('SELECT email FROM '.prefixTable('users')." WHERE admin = %i and email != ''", 1); |
|
723 | 723 | if (DB::count() > 0) { |
724 | 724 | // Add email to table |
725 | 725 | prepareSendingEmail( |
@@ -731,7 +731,7 @@ discard block |
||
731 | 731 | '#tp_time#', |
732 | 732 | ], |
733 | 733 | [ |
734 | - ' ' . $session->get('user-login') . ' (IP: ' . getClientIpServer() . ')', |
|
734 | + ' '.$session->get('user-login').' (IP: '.getClientIpServer().')', |
|
735 | 735 | date($SETTINGS['date_format'], (int) $session->get('user-last_connection')), |
736 | 736 | date($SETTINGS['time_format'], (int) $session->get('user-last_connection')), |
737 | 737 | ], |
@@ -842,7 +842,7 @@ discard block |
||
842 | 842 | { |
843 | 843 | $rows = DB::query( |
844 | 844 | 'SELECT date |
845 | - FROM ' . prefixTable('log_system') . " |
|
845 | + FROM ' . prefixTable('log_system')." |
|
846 | 846 | WHERE field_1 = %s |
847 | 847 | AND type = 'failed_auth' |
848 | 848 | AND label = 'password_is_not_correct' |
@@ -856,7 +856,7 @@ discard block |
||
856 | 856 | foreach ($rows as $record) { |
857 | 857 | array_push( |
858 | 858 | $arrAttempts, |
859 | - date($SETTINGS['date_format'] . ' ' . $SETTINGS['time_format'], (int) $record['date']) |
|
859 | + date($SETTINGS['date_format'].' '.$SETTINGS['time_format'], (int) $record['date']) |
|
860 | 860 | ); |
861 | 861 | } |
862 | 862 | } |
@@ -891,7 +891,7 @@ discard block |
||
891 | 891 | $ldapConnection |
892 | 892 | ) : bool |
893 | 893 | { |
894 | - include_once $SETTINGS['cpassman_dir'] . '/sources/main.functions.php'; |
|
894 | + include_once $SETTINGS['cpassman_dir'].'/sources/main.functions.php'; |
|
895 | 895 | |
896 | 896 | if ((int) $userInfoDisabled === 1) { |
897 | 897 | return false; |
@@ -1086,7 +1086,7 @@ discard block |
||
1086 | 1086 | } catch (Exception $e) { |
1087 | 1087 | return [ |
1088 | 1088 | 'error' => true, |
1089 | - 'message' => "Error: " . $e->getMessage(), |
|
1089 | + 'message' => "Error: ".$e->getMessage(), |
|
1090 | 1090 | ]; |
1091 | 1091 | } |
1092 | 1092 | } |
@@ -1117,7 +1117,7 @@ discard block |
||
1117 | 1117 | 'type' => 'OpenLDAP' |
1118 | 1118 | ]; |
1119 | 1119 | default: |
1120 | - throw new Exception("Unsupported LDAP type: " . $SETTINGS['ldap_type']); |
|
1120 | + throw new Exception("Unsupported LDAP type: ".$SETTINGS['ldap_type']); |
|
1121 | 1121 | } |
1122 | 1122 | } |
1123 | 1123 | |
@@ -1254,7 +1254,7 @@ discard block |
||
1254 | 1254 | ); |
1255 | 1255 | } |
1256 | 1256 | |
1257 | - throw new Exception("Unsupported LDAP type: " . $ldapHandler['type']); |
|
1257 | + throw new Exception("Unsupported LDAP type: ".$ldapHandler['type']); |
|
1258 | 1258 | } |
1259 | 1259 | |
1260 | 1260 | /** |
@@ -1271,12 +1271,12 @@ discard block |
||
1271 | 1271 | if (isset($SETTINGS['enable_ad_users_with_ad_groups']) === true && (int) $SETTINGS['enable_ad_users_with_ad_groups'] === 1) { |
1272 | 1272 | // Get user groups from AD |
1273 | 1273 | $user_ad_groups = []; |
1274 | - foreach($groups as $group) { |
|
1274 | + foreach ($groups as $group) { |
|
1275 | 1275 | //print_r($group); |
1276 | 1276 | // get relation role id for AD group |
1277 | 1277 | $role = DB::queryFirstRow( |
1278 | 1278 | 'SELECT lgr.role_id |
1279 | - FROM ' . prefixTable('ldap_groups_roles') . ' AS lgr |
|
1279 | + FROM ' . prefixTable('ldap_groups_roles').' AS lgr |
|
1280 | 1280 | WHERE lgr.ldap_group_id = %s', |
1281 | 1281 | $group |
1282 | 1282 | ); |
@@ -1421,7 +1421,7 @@ discard block |
||
1421 | 1421 | } |
1422 | 1422 | |
1423 | 1423 | // Now check yubico validity |
1424 | - include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Authentication/Yubico/Yubico.php'; |
|
1424 | + include_once $SETTINGS['cpassman_dir'].'/includes/libraries/Authentication/Yubico/Yubico.php'; |
|
1425 | 1425 | $yubi = new Auth_Yubico($yubico_user_id, $yubico_user_key); |
1426 | 1426 | $auth = $yubi->verify($yubico_key); |
1427 | 1427 | //, null, null, null, 60 |
@@ -1480,7 +1480,7 @@ discard block |
||
1480 | 1480 | // Check if exists in DB |
1481 | 1481 | $groupData = DB::queryFirstRow( |
1482 | 1482 | 'SELECT id |
1483 | - FROM ' . prefixTable('roles_title') . ' |
|
1483 | + FROM ' . prefixTable('roles_title').' |
|
1484 | 1484 | WHERE title = %s', |
1485 | 1485 | $group["displayName"] |
1486 | 1486 | ); |
@@ -1610,7 +1610,7 @@ discard block |
||
1610 | 1610 | |
1611 | 1611 | // generate new QR |
1612 | 1612 | $new_2fa_qr = $tfa->getQRCodeImageAsDataUri( |
1613 | - 'Teampass - ' . $username, |
|
1613 | + 'Teampass - '.$username, |
|
1614 | 1614 | $userInfo['ga'] |
1615 | 1615 | ); |
1616 | 1616 | // clear temporary code from DB |
@@ -1623,7 +1623,7 @@ discard block |
||
1623 | 1623 | $userInfo['id'] |
1624 | 1624 | ); |
1625 | 1625 | $firstTime = [ |
1626 | - 'value' => '<img src="' . $new_2fa_qr . '">', |
|
1626 | + 'value' => '<img src="'.$new_2fa_qr.'">', |
|
1627 | 1627 | 'user_admin' => isset($sessionAdmin) ? (int) $sessionAdmin : '', |
1628 | 1628 | 'initial_url' => isset($sessionUrl) === true ? $sessionUrl : '', |
1629 | 1629 | 'pwd_attempts' => (int) $sessionPwdAttempts, |
@@ -1779,7 +1779,7 @@ discard block |
||
1779 | 1779 | }*/ |
1780 | 1780 | return [ |
1781 | 1781 | 'error' => true, |
1782 | - 'message' => $duo_error . $lang->get('duo_error_check_config'), |
|
1782 | + 'message' => $duo_error.$lang->get('duo_error_check_config'), |
|
1783 | 1783 | 'pwd_attempts' => (int) $sessionPwdAttempts, |
1784 | 1784 | 'debug_message' => $e->getMessage(), |
1785 | 1785 | 'proceedIdentification' => false, |
@@ -1795,7 +1795,7 @@ discard block |
||
1795 | 1795 | } catch (DuoException $e) { |
1796 | 1796 | return [ |
1797 | 1797 | 'error' => true, |
1798 | - 'message' => $duo_error . $lang->get('duo_error_url'), |
|
1798 | + 'message' => $duo_error.$lang->get('duo_error_url'), |
|
1799 | 1799 | 'pwd_attempts' => (int) $sessionPwdAttempts, |
1800 | 1800 | 'debug_message' => $e->getMessage(), |
1801 | 1801 | 'proceedIdentification' => false, |
@@ -1803,7 +1803,7 @@ discard block |
||
1803 | 1803 | } |
1804 | 1804 | |
1805 | 1805 | // Somethimes Duo return success but fail to return a URL, double check if the URL has been created |
1806 | - if (!empty($duo_redirect_url) && isset($duo_redirect_url) && filter_var($duo_redirect_url,FILTER_SANITIZE_URL)) { |
|
1806 | + if (!empty($duo_redirect_url) && isset($duo_redirect_url) && filter_var($duo_redirect_url, FILTER_SANITIZE_URL)) { |
|
1807 | 1807 | // Since Duo Universal requires a redirect, let's store some info when the user get's back after completing the Duo prompt |
1808 | 1808 | $key = hash('sha256', $duo_state); |
1809 | 1809 | $iv = substr(hash('sha256', $duo_state), 0, 16); |
@@ -1831,7 +1831,7 @@ discard block |
||
1831 | 1831 | } else { |
1832 | 1832 | return [ |
1833 | 1833 | 'error' => true, |
1834 | - 'message' => $duo_error . $lang->get('duo_error_url'), |
|
1834 | + 'message' => $duo_error.$lang->get('duo_error_url'), |
|
1835 | 1835 | 'pwd_attempts' => (int) $sessionPwdAttempts, |
1836 | 1836 | 'proceedIdentification' => false, |
1837 | 1837 | ]; |
@@ -1852,8 +1852,8 @@ discard block |
||
1852 | 1852 | // return the response (which should be the user name) |
1853 | 1853 | if ($decoded_token['preferred_username'] === $username) { |
1854 | 1854 | $session->set('user-duo_status', 'COMPLET'); |
1855 | - $session->set('user-duo_state',''); |
|
1856 | - $session->set('user-duo_data',''); |
|
1855 | + $session->set('user-duo_state', ''); |
|
1856 | + $session->set('user-duo_data', ''); |
|
1857 | 1857 | $session->set('user-login', $username); |
1858 | 1858 | |
1859 | 1859 | return [ |
@@ -1864,9 +1864,9 @@ discard block |
||
1864 | 1864 | ]; |
1865 | 1865 | } else { |
1866 | 1866 | // Something wrong, username from the original Duo request is different than the one received now |
1867 | - $session->set('user-duo_status',''); |
|
1868 | - $session->set('user-duo_state',''); |
|
1869 | - $session->set('user-duo_data',''); |
|
1867 | + $session->set('user-duo_status', ''); |
|
1868 | + $session->set('user-duo_state', ''); |
|
1869 | + $session->set('user-duo_data', ''); |
|
1870 | 1870 | |
1871 | 1871 | return [ |
1872 | 1872 | 'error' => true, |
@@ -1877,9 +1877,9 @@ discard block |
||
1877 | 1877 | } |
1878 | 1878 | } |
1879 | 1879 | // If we are here something wrong |
1880 | - $session->set('user-duo_status',''); |
|
1881 | - $session->set('user-duo_state',''); |
|
1882 | - $session->set('user-duo_data',''); |
|
1880 | + $session->set('user-duo_status', ''); |
|
1881 | + $session->set('user-duo_state', ''); |
|
1882 | + $session->set('user-duo_data', ''); |
|
1883 | 1883 | return [ |
1884 | 1884 | 'error' => true, |
1885 | 1885 | 'message' => $lang->get('duo_login_mismatch'), |
@@ -1991,7 +1991,7 @@ discard block |
||
1991 | 1991 | // Check for existing lock |
1992 | 1992 | $unlock_at = DB::queryFirstField( |
1993 | 1993 | 'SELECT MAX(unlock_at) |
1994 | - FROM ' . prefixTable('auth_failures') . ' |
|
1994 | + FROM ' . prefixTable('auth_failures').' |
|
1995 | 1995 | WHERE unlock_at > %s |
1996 | 1996 | AND ((source = %s AND value = %s) OR (source = %s AND value = %s))', |
1997 | 1997 | date('Y-m-d H:i:s', time()), |
@@ -2013,8 +2013,8 @@ discard block |
||
2013 | 2013 | // Get user info from DB |
2014 | 2014 | $data = DB::queryFirstRow( |
2015 | 2015 | 'SELECT u.*, a.value AS api_key |
2016 | - FROM ' . prefixTable('users') . ' AS u |
|
2017 | - LEFT JOIN ' . prefixTable('api') . ' AS a ON (u.id = a.user_id) |
|
2016 | + FROM ' . prefixTable('users').' AS u |
|
2017 | + LEFT JOIN ' . prefixTable('api').' AS a ON (u.id = a.user_id) |
|
2018 | 2018 | WHERE login = %s AND deleted_at IS NULL', |
2019 | 2019 | $login |
2020 | 2020 | ); |
@@ -2134,7 +2134,7 @@ discard block |
||
2134 | 2134 | 'array' => [ |
2135 | 2135 | 'value' => 'bruteforce_wait', |
2136 | 2136 | 'error' => true, |
2137 | - 'message' => $lang->get('bruteforce_wait') . (string) $e->getMessage(), |
|
2137 | + 'message' => $lang->get('bruteforce_wait').(string) $e->getMessage(), |
|
2138 | 2138 | ] |
2139 | 2139 | ]; |
2140 | 2140 | } |
@@ -2566,15 +2566,15 @@ discard block |
||
2566 | 2566 | |
2567 | 2567 | if ($ret['error'] !== false) { |
2568 | 2568 | logEvents($SETTINGS, 'failed_auth', 'bad_duo_mfa', '', stripslashes($username), stripslashes($username)); |
2569 | - $session->set('user-duo_status',''); |
|
2570 | - $session->set('user-duo_state',''); |
|
2571 | - $session->set('user-duo_data',''); |
|
2569 | + $session->set('user-duo_status', ''); |
|
2570 | + $session->set('user-duo_state', ''); |
|
2571 | + $session->set('user-duo_data', ''); |
|
2572 | 2572 | return [ |
2573 | 2573 | 'error' => true, |
2574 | 2574 | 'mfaData' => $ret, |
2575 | 2575 | 'mfaQRCodeInfos' => false, |
2576 | 2576 | ]; |
2577 | - } else if ($ret['duo_url_ready'] === true){ |
|
2577 | + } else if ($ret['duo_url_ready'] === true) { |
|
2578 | 2578 | return [ |
2579 | 2579 | 'error' => false, |
2580 | 2580 | 'mfaData' => $ret, |
@@ -2638,7 +2638,7 @@ discard block |
||
2638 | 2638 | // Count failed attempts from this source |
2639 | 2639 | $count = DB::queryFirstField( |
2640 | 2640 | 'SELECT COUNT(*) |
2641 | - FROM ' . prefixTable('auth_failures') . ' |
|
2641 | + FROM ' . prefixTable('auth_failures').' |
|
2642 | 2642 | WHERE source = %s AND value = %s', |
2643 | 2643 | $source, |
2644 | 2644 | $value |
@@ -77,7 +77,7 @@ discard block |
||
77 | 77 | ) { |
78 | 78 | // Not allowed page |
79 | 79 | $session->set('system-error_code', ERR_NOT_ALLOWED); |
80 | - include $SETTINGS['cpassman_dir'] . '/error.php'; |
|
80 | + include $SETTINGS['cpassman_dir'].'/error.php'; |
|
81 | 81 | exit; |
82 | 82 | } |
83 | 83 | |
@@ -128,7 +128,7 @@ discard block |
||
128 | 128 | if (isset($order['column']) && preg_match('#^(asc|desc)$#i', $order['dir'])) { |
129 | 129 | $columnIndex = filter_var($order['column'], FILTER_SANITIZE_NUMBER_INT); |
130 | 130 | $dir = filter_var($order['dir'], FILTER_SANITIZE_FULL_SPECIAL_CHARS); |
131 | - $sOrder .= $aColumns[$columnIndex] . ' ' . $dir . ', '; |
|
131 | + $sOrder .= $aColumns[$columnIndex].' '.$dir.', '; |
|
132 | 132 | } |
133 | 133 | |
134 | 134 | $sOrder = substr_replace($sOrder, '', -2); |
@@ -152,15 +152,15 @@ discard block |
||
152 | 152 | |
153 | 153 | if ($letter !== '' && $letter !== 'None') { |
154 | 154 | $sWhere .= ' AND ('; |
155 | - $sWhere .= $aColumns[1] . " LIKE '" . $letter . "%' OR "; |
|
156 | - $sWhere .= $aColumns[2] . " LIKE '" . $letter . "%' OR "; |
|
157 | - $sWhere .= $aColumns[3] . " LIKE '" . $letter . "%' "; |
|
155 | + $sWhere .= $aColumns[1]." LIKE '".$letter."%' OR "; |
|
156 | + $sWhere .= $aColumns[2]." LIKE '".$letter."%' OR "; |
|
157 | + $sWhere .= $aColumns[3]." LIKE '".$letter."%' "; |
|
158 | 158 | $sWhere .= ')'; |
159 | 159 | } elseif ($searchValue !== '') { |
160 | 160 | $sWhere .= ' AND ('; |
161 | - $sWhere .= $aColumns[1] . " LIKE '" . $searchValue . "%' OR "; |
|
162 | - $sWhere .= $aColumns[2] . " LIKE '" . $searchValue . "%' OR "; |
|
163 | - $sWhere .= $aColumns[3] . " LIKE '" . $searchValue . "%' "; |
|
161 | + $sWhere .= $aColumns[1]." LIKE '".$searchValue."%' OR "; |
|
162 | + $sWhere .= $aColumns[2]." LIKE '".$searchValue."%' OR "; |
|
163 | + $sWhere .= $aColumns[3]." LIKE '".$searchValue."%' "; |
|
164 | 164 | $sWhere .= ')'; |
165 | 165 | } |
166 | 166 | |
@@ -247,7 +247,7 @@ discard block |
||
247 | 247 | // Check for existing lock |
248 | 248 | $unlock_at = DB::queryFirstField( |
249 | 249 | 'SELECT MAX(unlock_at) |
250 | - FROM ' . prefixTable('auth_failures') . ' |
|
250 | + FROM ' . prefixTable('auth_failures').' |
|
251 | 251 | WHERE unlock_at > %s AND source = %s AND value = %s', |
252 | 252 | date('Y-m-d H:i:s', time()), |
253 | 253 | 'login', |
@@ -256,33 +256,31 @@ discard block |
||
256 | 256 | |
257 | 257 | // Get some infos about user |
258 | 258 | $userDisplayInfos = |
259 | - (isset($userDate['date']) ? '<i class=\"fas fa-calendar-day infotip text-info ml-2\" title=\"'.$lang->get('creation_date').': '.date($SETTINGS['date_format'] . ' ' . $SETTINGS['time_format'], (int) $userDate['date']).'\"></i>' : '') |
|
259 | + (isset($userDate['date']) ? '<i class=\"fas fa-calendar-day infotip text-info ml-2\" title=\"'.$lang->get('creation_date').': '.date($SETTINGS['date_format'].' '.$SETTINGS['time_format'], (int) $userDate['date']).'\"></i>' : '') |
|
260 | 260 | . |
261 | 261 | ((int) $record['last_connexion'] > 0 ? '<i class=\"far fa-clock infotip text-info ml-2\" title=\"'.$lang->get('index_last_seen').": ". |
262 | - date($SETTINGS['date_format'] . ' ' . $SETTINGS['time_format'], (int) $record['last_connexion']).'\"></i>' : '') |
|
262 | + date($SETTINGS['date_format'].' '.$SETTINGS['time_format'], (int) $record['last_connexion']).'\"></i>' : '') |
|
263 | 263 | . |
264 | 264 | ((int) $record['user_ip'] > 0 ? '<i class=\"fas fa-street-view infotip text-info ml-1\" title=\"'.$lang->get('ip').": ".($record['user_ip']).'\"></i>' : '') |
265 | 265 | . |
266 | 266 | ($record['auth_type'] === 'ldap' ? '<i class=\"far fa-address-book infotip text-warning ml-1\" title=\"'.$lang->get('managed_through_ad').'\"></i>' : '') |
267 | 267 | . |
268 | 268 | ((in_array($record['id'], [OTV_USER_ID, TP_USER_ID, SSH_USER_ID, API_USER_ID]) === false && (int) $record['admin'] !== 1 && ((int) $SETTINGS['duo'] === 1 || (int) $SETTINGS['google_authentication'] === 1)) ? |
269 | - ((int) $record['mfa_enabled'] === 1 ? '' : '<i class=\"fa-solid fa-fingerprint infotip ml-1\" style=\"color:Tomato\" title=\"'.$lang->get('mfa_disabled_for_user').'\"></i>') : |
|
270 | - '' |
|
269 | + ((int) $record['mfa_enabled'] === 1 ? '' : '<i class=\"fa-solid fa-fingerprint infotip ml-1\" style=\"color:Tomato\" title=\"'.$lang->get('mfa_disabled_for_user').'\"></i>') : '' |
|
271 | 270 | ) |
272 | 271 | . |
273 | 272 | (($unlock_at) ? '<i class=\"fas fa-solid text-red fa-lock infotip text-info ml-1\" title=\"'.$lang->get('bruteforce_unlock_at').$unlock_at.'\"></i>' : ''); |
274 | 273 | if ($request->query->filter('display_warnings', '', FILTER_VALIDATE_BOOLEAN) === true) { |
275 | 274 | $userDisplayInfos .= '<br>'. |
276 | 275 | ((in_array($record['id'], [OTV_USER_ID, TP_USER_ID, SSH_USER_ID, API_USER_ID]) === false && (int) $record['admin'] !== 1 && is_null($record['keys_recovery_time']) === true) ? |
277 | - '<i class=\"fa-solid fa-download infotip ml-1\" style=\"color:Tomato\" title=\"'.$lang->get('recovery_keys_not_downloaded').'\"></i>' : |
|
278 | - '' |
|
276 | + '<i class=\"fa-solid fa-download infotip ml-1\" style=\"color:Tomato\" title=\"'.$lang->get('recovery_keys_not_downloaded').'\"></i>' : '' |
|
279 | 277 | ). |
280 | 278 | ((in_array($record['id'], [OTV_USER_ID, TP_USER_ID, SSH_USER_ID, API_USER_ID]) === false && (int) $record['pw_passwordlib'] === 1) ? '<i class=\"fa-solid fa-person-walking-luggage infotip ml-1\" style=\"color:Tomato\" title=\"Old password encryption. Shall login to initialize.\"></i>' : ''); |
281 | 279 | } |
282 | 280 | |
283 | 281 | $sOutput .= '["<span data-id=\"'.$record['id'].'\" data-fullname=\"'. |
284 | - (empty($record['name']) === false ? htmlentities($record['name'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED) : '').' '. |
|
285 | - (empty($record['lastname']) === false ? htmlentities($record['lastname'], ENT_QUOTES|ENT_SUBSTITUTE|ENT_DISALLOWED) : ''). |
|
282 | + (empty($record['name']) === false ? htmlentities($record['name'], ENT_QUOTES | ENT_SUBSTITUTE | ENT_DISALLOWED) : '').' '. |
|
283 | + (empty($record['lastname']) === false ? htmlentities($record['lastname'], ENT_QUOTES | ENT_SUBSTITUTE | ENT_DISALLOWED) : ''). |
|
286 | 284 | '\" data-auth-type=\"'.$record['auth_type'].'\" data-special=\"'.$record['special'].'\" data-mfa-enabled=\"'.$record['mfa_enabled'].'\" data-otp-provided=\"'.(isset($record['otp_provided']) === true ? $record['otp_provided'] : '').'\"></span>", '; |
287 | 285 | //col2 |
288 | 286 | $sOutput .= '"'. |
@@ -76,7 +76,7 @@ discard block |
||
76 | 76 | ) { |
77 | 77 | // Not allowed page |
78 | 78 | $session->set('system-error_code', ERR_NOT_ALLOWED); |
79 | - include $SETTINGS['cpassman_dir'] . '/error.php'; |
|
79 | + include $SETTINGS['cpassman_dir'].'/error.php'; |
|
80 | 80 | exit; |
81 | 81 | } |
82 | 82 | |
@@ -130,7 +130,7 @@ discard block |
||
130 | 130 | } else { |
131 | 131 | // check if token is expired |
132 | 132 | $data = DB::queryFirstRow( |
133 | - 'SELECT end_timestamp FROM ' . prefixTable('tokens') . ' WHERE user_id = %i AND token = %s', |
|
133 | + 'SELECT end_timestamp FROM '.prefixTable('tokens').' WHERE user_id = %i AND token = %s', |
|
134 | 134 | $session->get('user-id'), |
135 | 135 | $post_user_token |
136 | 136 | ); |
@@ -154,7 +154,7 @@ discard block |
||
154 | 154 | |
155 | 155 | // HTTP headers for no cache etc |
156 | 156 | header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); |
157 | -header('Last-Modified: ' . gmdate('D, d M Y H:i:s') . ' GMT'); |
|
157 | +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); |
|
158 | 158 | header('Cache-Control: no-store, no-cache, must-revalidate'); |
159 | 159 | header('Cache-Control: post-check=0, pre-check=0', false); |
160 | 160 | |
@@ -166,7 +166,7 @@ discard block |
||
166 | 166 | } |
167 | 167 | |
168 | 168 | // Set directory used to store file |
169 | - $targetDir = realpath($SETTINGS['cpassman_dir'] . '/includes/avatars'); |
|
169 | + $targetDir = realpath($SETTINGS['cpassman_dir'].'/includes/avatars'); |
|
170 | 170 | } else { |
171 | 171 | $targetDir = realpath($SETTINGS['path_to_files_folder']); |
172 | 172 | } |
@@ -219,7 +219,7 @@ discard block |
||
219 | 219 | $file_name = preg_replace('/[^a-zA-Z0-9-_\.]/', '', strtolower(basename($file->getClientOriginalName()))); |
220 | 220 | |
221 | 221 | if (strlen($file_name) == 0 || strlen($file_name) > $MAX_FILENAME_LENGTH) { |
222 | - error_log('Invalid file name: ' . $file_name . '.'); |
|
222 | + error_log('Invalid file name: '.$file_name.'.'); |
|
223 | 223 | echo handleUploadError('Invalid file name provided.'); |
224 | 224 | return false; |
225 | 225 | } |
@@ -233,13 +233,13 @@ discard block |
||
233 | 233 | $ext = strtolower($ext); |
234 | 234 | } else { |
235 | 235 | // Case where the file extension is not a string |
236 | - error_log('Invalid file name: ' . $file_name . '.'); |
|
236 | + error_log('Invalid file name: '.$file_name.'.'); |
|
237 | 237 | echo handleUploadError('Invalid file extension.'); |
238 | 238 | return false; |
239 | 239 | } |
240 | 240 | } else { |
241 | 241 | // Case where the file name is not a string |
242 | - error_log('Invalid file name: ' . $file_name . '.'); |
|
242 | + error_log('Invalid file name: '.$file_name.'.'); |
|
243 | 243 | echo handleUploadError('Invalid file.'); |
244 | 244 | return false; |
245 | 245 | } |
@@ -247,8 +247,8 @@ discard block |
||
247 | 247 | // Validate against a list of allowed extensions |
248 | 248 | $allowed_extensions = explode( |
249 | 249 | ',', |
250 | - $SETTINGS['upload_docext'] . ',' . $SETTINGS['upload_imagesext'] . |
|
251 | - ',' . $SETTINGS['upload_pkgext'] . ',' . $SETTINGS['upload_otherext'] |
|
250 | + $SETTINGS['upload_docext'].','.$SETTINGS['upload_imagesext']. |
|
251 | + ','.$SETTINGS['upload_pkgext'].','.$SETTINGS['upload_otherext'] |
|
252 | 252 | ); |
253 | 253 | if ( |
254 | 254 | !in_array($ext, $allowed_extensions) |
@@ -267,25 +267,25 @@ discard block |
||
267 | 267 | |
268 | 268 | // is destination folder writable |
269 | 269 | if (is_writable($SETTINGS['path_to_files_folder']) === false) { |
270 | - echo handleUploadError('Not enough permissions on folder ' . $SETTINGS['path_to_files_folder'] . '.'); |
|
270 | + echo handleUploadError('Not enough permissions on folder '.$SETTINGS['path_to_files_folder'].'.'); |
|
271 | 271 | return false; |
272 | 272 | } |
273 | 273 | |
274 | 274 | // Make sure the fileName is unique but only if chunking is disabled |
275 | -if ($chunks < 2 && file_exists($targetDir . DIRECTORY_SEPARATOR . $fileName)) { |
|
275 | +if ($chunks < 2 && file_exists($targetDir.DIRECTORY_SEPARATOR.$fileName)) { |
|
276 | 276 | // $ext is guaranteed to be a string due to prior checks |
277 | 277 | $fileNameA = substr($fileName, 0, strlen(/** @scrutinizer ignore-type */$ext)); |
278 | 278 | $fileNameB = substr($fileName, strlen(/** @scrutinizer ignore-type */$ext)); |
279 | 279 | |
280 | 280 | $count = 1; |
281 | - while (file_exists($targetDir . DIRECTORY_SEPARATOR . $fileNameA . '_' . $count . $fileNameB)) { |
|
281 | + while (file_exists($targetDir.DIRECTORY_SEPARATOR.$fileNameA.'_'.$count.$fileNameB)) { |
|
282 | 282 | ++$count; |
283 | 283 | } |
284 | 284 | |
285 | - $fileName = $fileNameA . '_' . $count . $fileNameB; |
|
285 | + $fileName = $fileNameA.'_'.$count.$fileNameB; |
|
286 | 286 | } |
287 | 287 | |
288 | -$filePath = $targetDir . DIRECTORY_SEPARATOR . $fileName; |
|
288 | +$filePath = $targetDir.DIRECTORY_SEPARATOR.$fileName; |
|
289 | 289 | |
290 | 290 | // Create target dir |
291 | 291 | if (!file_exists($targetDir)) { |
@@ -299,7 +299,7 @@ discard block |
||
299 | 299 | // Remove old temp files |
300 | 300 | if ($cleanupTargetDir && is_dir($targetDir) && ($dir = opendir($targetDir))) { |
301 | 301 | while (($fileClean = readdir($dir)) !== false) { |
302 | - $tmpfilePath = $targetDir . DIRECTORY_SEPARATOR . $fileClean; |
|
302 | + $tmpfilePath = $targetDir.DIRECTORY_SEPARATOR.$fileClean; |
|
303 | 303 | |
304 | 304 | // Remove temp file if it is older than the max age and is not the current file |
305 | 305 | if ( |
@@ -313,7 +313,7 @@ discard block |
||
313 | 313 | |
314 | 314 | closedir($dir); |
315 | 315 | } else { |
316 | - echo handleUploadError('Not enough permissions on folder ' . $SETTINGS['path_to_files_folder'] . '.'); |
|
316 | + echo handleUploadError('Not enough permissions on folder '.$SETTINGS['path_to_files_folder'].'.'); |
|
317 | 317 | return false; |
318 | 318 | } |
319 | 319 | |
@@ -353,7 +353,7 @@ discard block |
||
353 | 353 | |
354 | 354 | // Safe destination folder |
355 | 355 | $uploadDir = realpath($SETTINGS['path_to_upload_folder']); |
356 | - $destinationPath = $uploadDir . DIRECTORY_SEPARATOR . $fileName; |
|
356 | + $destinationPath = $uploadDir.DIRECTORY_SEPARATOR.$fileName; |
|
357 | 357 | |
358 | 358 | if (move_uploaded_file($tmpFilePath, $destinationPath)) { |
359 | 359 | // Open the moved file in read mode |
@@ -394,7 +394,7 @@ discard block |
||
394 | 394 | return false; |
395 | 395 | } |
396 | 396 | } else { |
397 | - echo handleUploadError('Failed to move uploaded file to ' . $SETTINGS['path_to_files_folder'] . '.'); |
|
397 | + echo handleUploadError('Failed to move uploaded file to '.$SETTINGS['path_to_files_folder'].'.'); |
|
398 | 398 | return false; |
399 | 399 | } |
400 | 400 | } else { |
@@ -410,14 +410,14 @@ discard block |
||
410 | 410 | fwrite($out, $buff); |
411 | 411 | } |
412 | 412 | } else { |
413 | - echo handleUploadError('Failed to open input stream ' . $SETTINGS['path_to_files_folder'] . '.'); |
|
413 | + echo handleUploadError('Failed to open input stream '.$SETTINGS['path_to_files_folder'].'.'); |
|
414 | 414 | return false; |
415 | 415 | } |
416 | 416 | |
417 | 417 | fclose($in); |
418 | 418 | fclose($out); |
419 | 419 | } else { |
420 | - echo handleUploadError('Failed to open output stream ' . $SETTINGS['path_to_files_folder'] . '.'); |
|
420 | + echo handleUploadError('Failed to open output stream '.$SETTINGS['path_to_files_folder'].'.'); |
|
421 | 421 | return false; |
422 | 422 | } |
423 | 423 | } |
@@ -450,7 +450,7 @@ discard block |
||
450 | 450 | ) { |
451 | 451 | rename( |
452 | 452 | $filePath, |
453 | - $targetDir . DIRECTORY_SEPARATOR . $newFileName |
|
453 | + $targetDir.DIRECTORY_SEPARATOR.$newFileName |
|
454 | 454 | ); |
455 | 455 | |
456 | 456 | // Add in DB |
@@ -479,7 +479,7 @@ discard block |
||
479 | 479 | ) { |
480 | 480 | rename( |
481 | 481 | $filePath, |
482 | - $targetDir . DIRECTORY_SEPARATOR . $newFileName |
|
482 | + $targetDir.DIRECTORY_SEPARATOR.$newFileName |
|
483 | 483 | ); |
484 | 484 | |
485 | 485 | // Add in DB |
@@ -512,13 +512,13 @@ discard block |
||
512 | 512 | // rename the file |
513 | 513 | rename( |
514 | 514 | $filePath, |
515 | - $targetDir . DIRECTORY_SEPARATOR . $newFileName . '.' . $ext |
|
515 | + $targetDir.DIRECTORY_SEPARATOR.$newFileName.'.'.$ext |
|
516 | 516 | ); |
517 | 517 | |
518 | 518 | // make thumbnail |
519 | 519 | $ret = makeThumbnail( |
520 | - $targetDir . DIRECTORY_SEPARATOR . $newFileName . '.' . $ext, |
|
521 | - $targetDir . DIRECTORY_SEPARATOR . $newFileName . '_thumb' . '.' . $ext, |
|
520 | + $targetDir.DIRECTORY_SEPARATOR.$newFileName.'.'.$ext, |
|
521 | + $targetDir.DIRECTORY_SEPARATOR.$newFileName.'_thumb'.'.'.$ext, |
|
522 | 522 | 40 |
523 | 523 | ); |
524 | 524 | |
@@ -530,21 +530,21 @@ discard block |
||
530 | 530 | } |
531 | 531 | |
532 | 532 | // get current avatar and delete it |
533 | - $data = DB::queryFirstRow('SELECT avatar, avatar_thumb FROM ' . prefixTable('users') . ' WHERE id=%i', $session->get('user-id')); |
|
534 | - fileDelete($targetDir . DIRECTORY_SEPARATOR . $data['avatar'], $SETTINGS); |
|
535 | - fileDelete($targetDir . DIRECTORY_SEPARATOR . $data['avatar_thumb'], $SETTINGS); |
|
533 | + $data = DB::queryFirstRow('SELECT avatar, avatar_thumb FROM '.prefixTable('users').' WHERE id=%i', $session->get('user-id')); |
|
534 | + fileDelete($targetDir.DIRECTORY_SEPARATOR.$data['avatar'], $SETTINGS); |
|
535 | + fileDelete($targetDir.DIRECTORY_SEPARATOR.$data['avatar_thumb'], $SETTINGS); |
|
536 | 536 | |
537 | 537 | // store in DB the new avatar |
538 | 538 | DB::query( |
539 | - 'UPDATE ' . prefixTable('users') . " |
|
540 | - SET avatar='" . $newFileName . '.' . $ext . "', avatar_thumb='" . $newFileName . '_thumb' . '.' . $ext . "' |
|
539 | + 'UPDATE '.prefixTable('users')." |
|
540 | + SET avatar='" . $newFileName.'.'.$ext."', avatar_thumb='".$newFileName.'_thumb'.'.'.$ext."' |
|
541 | 541 | WHERE id=%i", |
542 | 542 | $session->get('user-id') |
543 | 543 | ); |
544 | 544 | |
545 | 545 | // store in session |
546 | - $session->set('user-avatar', $newFileName . '.' . $ext); |
|
547 | - $session->set('user-avatar_thumb', $newFileName . '_thumb' . '.' . $ext); |
|
546 | + $session->set('user-avatar', $newFileName.'.'.$ext); |
|
547 | + $session->set('user-avatar_thumb', $newFileName.'_thumb'.'.'.$ext); |
|
548 | 548 | |
549 | 549 | // return info |
550 | 550 | echo prepareExchangedData( |
@@ -563,7 +563,7 @@ discard block |
||
563 | 563 | ) { |
564 | 564 | rename( |
565 | 565 | $filePath, |
566 | - $targetDir . DIRECTORY_SEPARATOR . $newFileName |
|
566 | + $targetDir.DIRECTORY_SEPARATOR.$newFileName |
|
567 | 567 | ); |
568 | 568 | |
569 | 569 | // Add in DB |
@@ -73,7 +73,7 @@ discard block |
||
73 | 73 | if ($checkUserAccess->checkSession() === false || $checkUserAccess->userAccessPage('profile') === false) { |
74 | 74 | // Not allowed page |
75 | 75 | $session->set('system-error_code', ERR_NOT_ALLOWED); |
76 | - include $SETTINGS['cpassman_dir'] . '/error.php'; |
|
76 | + include $SETTINGS['cpassman_dir'].'/error.php'; |
|
77 | 77 | exit; |
78 | 78 | } |
79 | 79 | ?> |
@@ -97,7 +97,7 @@ discard block |
||
97 | 97 | }) |
98 | 98 | |
99 | 99 | // Select user properties |
100 | - $('#profile-user-language option[value=<?php echo $session->get('user-language');?>').attr('selected','selected'); |
|
100 | + $('#profile-user-language option[value=<?php echo $session->get('user-language'); ?>').attr('selected','selected'); |
|
101 | 101 | |
102 | 102 | |
103 | 103 | // AVATAR IMPORT |
@@ -295,7 +295,7 @@ discard block |
||
295 | 295 | |
296 | 296 | // reload page in case of language change |
297 | 297 | if ($('#profile-user-language').val() |
298 | - && $('#profile-user-language').val().toLowerCase() !== '<?php echo $session->get('user-language');?>') { |
|
298 | + && $('#profile-user-language').val().toLowerCase() !== '<?php echo $session->get('user-language'); ?>') { |
|
299 | 299 | // prepare reload |
300 | 300 | $(this).delay(3000).queue(function() { |
301 | 301 | document.location.href = "index.php?page=profile"; |
@@ -306,7 +306,7 @@ discard block |
||
306 | 306 | // Inform user |
307 | 307 | toastr.remove(); |
308 | 308 | toastr.info( |
309 | - '<?php echo $lang->get('alert_page_will_reload') . ' ... ' . $lang->get('please_wait'); ?>', |
|
309 | + '<?php echo $lang->get('alert_page_will_reload').' ... '.$lang->get('please_wait'); ?>', |
|
310 | 310 | '', { |
311 | 311 | timeOut: 3000, |
312 | 312 | progressBar: true |
@@ -410,27 +410,27 @@ discard block |
||
410 | 410 | "defaultText": "<?php echo $lang->get('index_pw_level_txt'); ?>", |
411 | 411 | "ratings": [ |
412 | 412 | { |
413 | - "minScore": <?php echo TP_PW_STRENGTH_1;?>, |
|
413 | + "minScore": <?php echo TP_PW_STRENGTH_1; ?>, |
|
414 | 414 | "className": "meterWarn", |
415 | 415 | "text": "<?php echo $lang->get('complex_level1'); ?>" |
416 | 416 | }, |
417 | 417 | { |
418 | - "minScore": <?php echo TP_PW_STRENGTH_2;?>, |
|
418 | + "minScore": <?php echo TP_PW_STRENGTH_2; ?>, |
|
419 | 419 | "className": "meterWarn", |
420 | 420 | "text": "<?php echo $lang->get('complex_level2'); ?>" |
421 | 421 | }, |
422 | 422 | { |
423 | - "minScore": <?php echo TP_PW_STRENGTH_3;?>, |
|
423 | + "minScore": <?php echo TP_PW_STRENGTH_3; ?>, |
|
424 | 424 | "className": "meterGood", |
425 | 425 | "text": "<?php echo $lang->get('complex_level3'); ?>" |
426 | 426 | }, |
427 | 427 | { |
428 | - "minScore": <?php echo TP_PW_STRENGTH_4;?>, |
|
428 | + "minScore": <?php echo TP_PW_STRENGTH_4; ?>, |
|
429 | 429 | "className": "meterGood", |
430 | 430 | "text": "<?php echo $lang->get('complex_level4'); ?>" |
431 | 431 | }, |
432 | 432 | { |
433 | - "minScore": <?php echo TP_PW_STRENGTH_5;?>, |
|
433 | + "minScore": <?php echo TP_PW_STRENGTH_5; ?>, |
|
434 | 434 | "className": "meterExcel", |
435 | 435 | "text": "<?php echo $lang->get('complex_level5'); ?>" |
436 | 436 | } |
@@ -523,27 +523,27 @@ discard block |
||
523 | 523 | "defaultText": "<?php echo $lang->get('index_pw_level_txt'); ?>", |
524 | 524 | "ratings": [ |
525 | 525 | { |
526 | - "minScore": <?php echo TP_PW_STRENGTH_1;?>, |
|
526 | + "minScore": <?php echo TP_PW_STRENGTH_1; ?>, |
|
527 | 527 | "className": "meterWarn", |
528 | 528 | "text": "<?php echo $lang->get('complex_level1'); ?>" |
529 | 529 | }, |
530 | 530 | { |
531 | - "minScore": <?php echo TP_PW_STRENGTH_2;?>, |
|
531 | + "minScore": <?php echo TP_PW_STRENGTH_2; ?>, |
|
532 | 532 | "className": "meterWarn", |
533 | 533 | "text": "<?php echo $lang->get('complex_level2'); ?>" |
534 | 534 | }, |
535 | 535 | { |
536 | - "minScore": <?php echo TP_PW_STRENGTH_3;?>, |
|
536 | + "minScore": <?php echo TP_PW_STRENGTH_3; ?>, |
|
537 | 537 | "className": "meterGood", |
538 | 538 | "text": "<?php echo $lang->get('complex_level3'); ?>" |
539 | 539 | }, |
540 | 540 | { |
541 | - "minScore": <?php echo TP_PW_STRENGTH_4;?>, |
|
541 | + "minScore": <?php echo TP_PW_STRENGTH_4; ?>, |
|
542 | 542 | "className": "meterGood", |
543 | 543 | "text": "<?php echo $lang->get('complex_level4'); ?>" |
544 | 544 | }, |
545 | 545 | { |
546 | - "minScore": <?php echo TP_PW_STRENGTH_5;?>, |
|
546 | + "minScore": <?php echo TP_PW_STRENGTH_5; ?>, |
|
547 | 547 | "className": "meterExcel", |
548 | 548 | "text": "<?php echo $lang->get('complex_level5'); ?>" |
549 | 549 | } |
@@ -559,7 +559,7 @@ discard block |
||
559 | 559 | } |
560 | 560 | }); |
561 | 561 | |
562 | - $('#profile-keys_download-date').text('<?php echo null === $session->get('user-keys_recovery_time') ? $lang->get('none') : date($SETTINGS['date_format'] . ' ' . $SETTINGS['time_format'], (int) $session->get('user-keys_recovery_time')); ?>'); |
|
562 | + $('#profile-keys_download-date').text('<?php echo null === $session->get('user-keys_recovery_time') ? $lang->get('none') : date($SETTINGS['date_format'].' '.$SETTINGS['time_format'], (int) $session->get('user-keys_recovery_time')); ?>'); |
|
563 | 563 | |
564 | 564 | $("#open-dialog-keys-download").on('click', function(event) { |
565 | 565 | event.preventDefault(); |
@@ -69,7 +69,7 @@ discard block |
||
69 | 69 | if ($checkUserAccess->checkSession() === false || $checkUserAccess->userAccessPage('items') === false) { |
70 | 70 | // Not allowed page |
71 | 71 | $session->set('system-error_code', ERR_NOT_ALLOWED); |
72 | - include $SETTINGS['cpassman_dir'] . '/error.php'; |
|
72 | + include $SETTINGS['cpassman_dir'].'/error.php'; |
|
73 | 73 | exit; |
74 | 74 | } |
75 | 75 | // Define Timezone |
@@ -90,7 +90,7 @@ discard block |
||
90 | 90 | |
91 | 91 | // Get list of users |
92 | 92 | $usersList = []; |
93 | -$rows = DB::query('SELECT id,login,email FROM ' . prefixTable('users') . ' ORDER BY login ASC'); |
|
93 | +$rows = DB::query('SELECT id,login,email FROM '.prefixTable('users').' ORDER BY login ASC'); |
|
94 | 94 | foreach ($rows as $record) { |
95 | 95 | $usersList[$record['login']] = [ |
96 | 96 | 'id' => $record['id'], |
@@ -101,16 +101,16 @@ discard block |
||
101 | 101 | // Get list of roles |
102 | 102 | $arrRoles = []; |
103 | 103 | $listRoles = ''; |
104 | -$rows = DB::query('SELECT id,title FROM ' . prefixTable('roles_title') . ' ORDER BY title ASC'); |
|
104 | +$rows = DB::query('SELECT id,title FROM '.prefixTable('roles_title').' ORDER BY title ASC'); |
|
105 | 105 | foreach ($rows as $reccord) { |
106 | 106 | $arrRoles[$reccord['title']] = [ |
107 | 107 | 'id' => $reccord['id'], |
108 | 108 | 'title' => $reccord['title'], |
109 | 109 | ]; |
110 | 110 | if (empty($listRoles)) { |
111 | - $listRoles = $reccord['id'] . '#' . $reccord['title']; |
|
111 | + $listRoles = $reccord['id'].'#'.$reccord['title']; |
|
112 | 112 | } else { |
113 | - $listRoles .= ';' . $reccord['id'] . '#' . $reccord['title']; |
|
113 | + $listRoles .= ';'.$reccord['id'].'#'.$reccord['title']; |
|
114 | 114 | } |
115 | 115 | } |
116 | 116 | |
@@ -185,7 +185,7 @@ discard block |
||
185 | 185 | <li class="nav-item"><a class="nav-link" href="#tab_3" data-toggle="tab"><i class="fa-solid fa-archive mr-2"></i><?php echo $lang->get('attachments'); ?></a></li> |
186 | 186 | <?php |
187 | 187 | echo isset($SETTINGS['item_extra_fields']) === true && (int) $SETTINGS['item_extra_fields'] === 1 ? ' |
188 | - <li class="nav-item"><a class="nav-link" href="#tab_4" data-toggle="tab"><i class="fa-solid fa-cubes mr-2"></i>' . $lang->get('fields') . '</a></li>' : ''; |
|
188 | + <li class="nav-item"><a class="nav-link" href="#tab_4" data-toggle="tab"><i class="fa-solid fa-cubes mr-2"></i>' . $lang->get('fields').'</a></li>' : ''; |
|
189 | 189 | ?> |
190 | 190 | </ul> |
191 | 191 | </div><!-- /.card-header --> |
@@ -254,7 +254,7 @@ discard block |
||
254 | 254 | <?php |
255 | 255 | for ($i = 4; $i <= $SETTINGS['pwd_maximum_length']; ++$i) { |
256 | 256 | echo ' |
257 | - <option>' . $i . '</option>'; |
|
257 | + <option>' . $i.'</option>'; |
|
258 | 258 | } |
259 | 259 | ?> |
260 | 260 | </select> |
@@ -284,7 +284,7 @@ discard block |
||
284 | 284 | <span class="ml-2 col-md-1 clear-me-html" id="form-item-icon-show"></span> |
285 | 285 | </div> |
286 | 286 | <small class='form-text text-muted'> |
287 | - <?php echo $lang->get('fontawesome_icon_tip'); ?><a href="<?php echo FONTAWESOME_URL;?>" target="_blank"><i class="fa-solid fa-external-link-alt ml-1"></i></a> |
|
287 | + <?php echo $lang->get('fontawesome_icon_tip'); ?><a href="<?php echo FONTAWESOME_URL; ?>" target="_blank"><i class="fa-solid fa-external-link-alt ml-1"></i></a> |
|
288 | 288 | </small> |
289 | 289 | </div> |
290 | 290 | |
@@ -472,39 +472,39 @@ discard block |
||
472 | 472 | <div class="tab-pane" id="tab_4"> |
473 | 473 | <div id="form-item-field" class="hidden"> |
474 | 474 | <?php |
475 | - $session_item_fields = $session->get('system-item_fields');//print_r($session_item_fields); |
|
475 | + $session_item_fields = $session->get('system-item_fields'); //print_r($session_item_fields); |
|
476 | 476 | if (isset($session_item_fields) === true) { |
477 | 477 | foreach ($session_item_fields as $category) { |
478 | 478 | //print_r($category); |
479 | 479 | echo ' |
480 | - <div class="callout callout-info form-item-category hidden" id="form-item-category-' . $category['id'] . '"> |
|
481 | - <h5>' . $category['title'] . '</h5> |
|
480 | + <div class="callout callout-info form-item-category hidden" id="form-item-category-' . $category['id'].'"> |
|
481 | + <h5>' . $category['title'].'</h5> |
|
482 | 482 | <p>'; |
483 | 483 | foreach ($category['fields'] as $field) { |
484 | 484 | if ($field['type'] === 'textarea') { |
485 | 485 | echo ' |
486 | - <div class="form-group mb-3 form-item-field" id="form-item-field-' . $field['id'] . '" data-field-id="' . $field['id'] . '"> |
|
486 | + <div class="form-group mb-3 form-item-field" id="form-item-field-' . $field['id'].'" data-field-id="'.$field['id'].'"> |
|
487 | 487 | <label>' . $field['title'], |
488 | 488 | $field['is_mandatory'] === '1' ? |
489 | - '<span class="fa-solid fa-fire text-danger ml-1 infotip" title="' . $lang->get('is_mandatory') . '"></span>' : '', |
|
489 | + '<span class="fa-solid fa-fire text-danger ml-1 infotip" title="'.$lang->get('is_mandatory').'"></span>' : '', |
|
490 | 490 | '</label> |
491 | - <textarea class="form-control form-item-control form-item-field-custom" rows="2" data-field-name="' . $field['id'] . '" data-field-mandatory="' . $field['is_mandatory'] . '" data-field-regex="' . $field['regex'] . '" data-change-ongoing="0"></textarea> |
|
491 | + <textarea class="form-control form-item-control form-item-field-custom" rows="2" data-field-name="' . $field['id'].'" data-field-mandatory="'.$field['is_mandatory'].'" data-field-regex="'.$field['regex'].'" data-change-ongoing="0"></textarea> |
|
492 | 492 | </div>'; |
493 | 493 | } else { |
494 | 494 | echo ' |
495 | - <div class="input-group mb-3 form-item-field" id="form-item-field-' . $field['id'] . '" data-field-id="' . $field['id'] . '"> |
|
495 | + <div class="input-group mb-3 form-item-field" id="form-item-field-' . $field['id'].'" data-field-id="'.$field['id'].'"> |
|
496 | 496 | <div class="input-group-prepend"> |
497 | 497 | <span class="input-group-text">' . $field['title'], |
498 | 498 | $field['is_mandatory'] === '1' ? |
499 | - '<span class="fa-solid fa-fire text-danger ml-1 infotip" title="' . $lang->get('is_mandatory') . '"></span>' : '', |
|
499 | + '<span class="fa-solid fa-fire text-danger ml-1 infotip" title="'.$lang->get('is_mandatory').'"></span>' : '', |
|
500 | 500 | '</span> |
501 | 501 | </div> |
502 | - <input type="' . $field['type'] . '" class="form-control form-item-control form-item-field-custom" data-field-name="' . $field['id'] . '" data-field-mandatory="' . $field['is_mandatory'] . '" data-field-regex="' . $field['regex'] . '" data-change-ongoing="0"> |
|
502 | + <input type="' . $field['type'].'" class="form-control form-item-control form-item-field-custom" data-field-name="'.$field['id'].'" data-field-mandatory="'.$field['is_mandatory'].'" data-field-regex="'.$field['regex'].'" data-change-ongoing="0"> |
|
503 | 503 | </div>'; |
504 | 504 | } |
505 | 505 | if (!empty($field['regex'])) { |
506 | 506 | echo ' |
507 | - <div>Regex: '. $field['regex'] .'</div> |
|
507 | + <div>Regex: '. $field['regex'].'</div> |
|
508 | 508 | '; |
509 | 509 | } |
510 | 510 | } |
@@ -515,8 +515,8 @@ discard block |
||
515 | 515 | ) { |
516 | 516 | echo ' |
517 | 517 | <div class="form-check icheck-blue"> |
518 | - <input type="checkbox" class="form-check-input form-check-input-template form-item-control flat-blue" data-category-id="' . $category['id'] . '" data-change-ongoing="0" data-field-name="template" id="template_' . $category['id'] . '"> |
|
519 | - <label class="form-check-label ml-3" for="template_' . $category['id'] . '">' . $lang->get('main_template') . '</label> |
|
518 | + <input type="checkbox" class="form-check-input form-check-input-template form-item-control flat-blue" data-category-id="' . $category['id'].'" data-change-ongoing="0" data-field-name="template" id="template_'.$category['id'].'"> |
|
519 | + <label class="form-check-label ml-3" for="template_' . $category['id'].'">'.$lang->get('main_template').'</label> |
|
520 | 520 | </div>'; |
521 | 521 | } |
522 | 522 | echo ' |
@@ -526,8 +526,8 @@ discard block |
||
526 | 526 | } else { |
527 | 527 | echo |
528 | 528 | '<div class="alert alert-info"> |
529 | - <h5><i class="icon fa fa-info mr-3"></i>' . $lang->get('information') . '</h5> |
|
530 | - ' . $lang->get('no_fields') . ' |
|
529 | + <h5><i class="icon fa fa-info mr-3"></i>' . $lang->get('information').'</h5> |
|
530 | + ' . $lang->get('no_fields').' |
|
531 | 531 | </div>'; |
532 | 532 | } ?> |
533 | 533 | </div> |
@@ -668,7 +668,7 @@ discard block |
||
668 | 668 | <p><?php |
669 | 669 | echo str_replace( |
670 | 670 | ['##otv_expiration_period##', '. '], |
671 | - ['<span class="text-bold text-primary">' . $SETTINGS['otv_expiration_period'] . '</span>', '<br>'], |
|
671 | + ['<span class="text-bold text-primary">'.$SETTINGS['otv_expiration_period'].'</span>', '<br>'], |
|
672 | 672 | $lang->get('otv_message') |
673 | 673 | ); |
674 | 674 | ?></p> |
@@ -686,9 +686,9 @@ discard block |
||
686 | 686 | |
687 | 687 | <div class="row"> |
688 | 688 | <div class="form-group col-4"> |
689 | - <label for="form-item-otv-days"><i class="fa-regular fa-calendar-days mr-2"></i><?php echo $lang->get('number_of_days'); ?> (<?php echo $lang->get('maximum').': '.$SETTINGS['otv_expiration_period'];?>)</label> |
|
689 | + <label for="form-item-otv-days"><i class="fa-regular fa-calendar-days mr-2"></i><?php echo $lang->get('number_of_days'); ?> (<?php echo $lang->get('maximum').': '.$SETTINGS['otv_expiration_period']; ?>)</label> |
|
690 | 690 | <div class="input-group mb-3"> |
691 | - <input type="number" class="form-control clear-me-val" id="form-item-otv-days" min="0" max="<?php echo $SETTINGS['otv_expiration_period'];?>" value="<?php echo $SETTINGS['otv_expiration_period'];?>"> |
|
691 | + <input type="number" class="form-control clear-me-val" id="form-item-otv-days" min="0" max="<?php echo $SETTINGS['otv_expiration_period']; ?>" value="<?php echo $SETTINGS['otv_expiration_period']; ?>"> |
|
692 | 692 | </div> |
693 | 693 | </div> |
694 | 694 | |
@@ -776,7 +776,7 @@ discard block |
||
776 | 776 | <select class="form-control form-folder-control select2" style="width:100%;" id="form-folder-add-complexicity" required> |
777 | 777 | <?php |
778 | 778 | foreach (TP_PW_COMPLEXITY as $key => $value) { |
779 | - echo '<option value="' . $key . '">' . $value[1] . '</option>'; |
|
779 | + echo '<option value="'.$key.'">'.$value[1].'</option>'; |
|
780 | 780 | } |
781 | 781 | ?> |
782 | 782 | </select> |
@@ -794,14 +794,14 @@ discard block |
||
794 | 794 | <label><?php echo $lang->get('icon'); ?></label> |
795 | 795 | <input type="text" class="form-control form-folder-control" id="form-folder-add-icon"> |
796 | 796 | <small class='form-text text-muted'> |
797 | - <?php echo $lang->get('fontawesome_icon_tip'); ?><a href="<?php echo FONTAWESOME_URL;?>" target="_blank"><i class="fa-solid fa-external-link-alt ml-1"></i></a> |
|
797 | + <?php echo $lang->get('fontawesome_icon_tip'); ?><a href="<?php echo FONTAWESOME_URL; ?>" target="_blank"><i class="fa-solid fa-external-link-alt ml-1"></i></a> |
|
798 | 798 | </small> |
799 | 799 | </div> |
800 | 800 | <div class="form-group"> |
801 | 801 | <label><?php echo $lang->get('icon_on_selection'); ?></label> |
802 | 802 | <input type="text" class="form-control form-folder-control" id="form-folder-add-icon-selected"> |
803 | 803 | <small class='form-text text-muted'> |
804 | - <?php echo $lang->get('fontawesome_icon_tip'); ?><a href="<?php echo FONTAWESOME_URL;?>" target="_blank"><i class="fa-solid fa-external-link-alt ml-1"></i></a> |
|
804 | + <?php echo $lang->get('fontawesome_icon_tip'); ?><a href="<?php echo FONTAWESOME_URL; ?>" target="_blank"><i class="fa-solid fa-external-link-alt ml-1"></i></a> |
|
805 | 805 | </small> |
806 | 806 | </div> |
807 | 807 | </div> |
@@ -1212,18 +1212,18 @@ discard block |
||
1212 | 1212 | <?php |
1213 | 1213 | foreach ($session_item_fields as $elem) { |
1214 | 1214 | echo ' |
1215 | - <div class="callout callout-info card-item-category hidden" id="card-item-category-' . $elem['id'] . '"> |
|
1216 | - <h5>' . $elem['title'] . '</h5> |
|
1215 | + <div class="callout callout-info card-item-category hidden" id="card-item-category-' . $elem['id'].'"> |
|
1216 | + <h5>' . $elem['title'].'</h5> |
|
1217 | 1217 | <p> |
1218 | 1218 | <ul class="list-group list-group-unbordered mb-3">'; |
1219 | 1219 | foreach ($elem['fields'] as $field) { |
1220 | 1220 | echo ' |
1221 | - <li class="list-group-item card-item-field hidden" id="card-item-field-' . $field['id'] . '"> |
|
1222 | - <span id="card-item-field-title-' . $field['id'] . '"><b>' . $field['title'] . '</b></span> |
|
1223 | - <button type="button" class="float-right btn btn-secondary btn-sm ml-1 btn-copy-clipboard-clear" data-clipboard-target="card-item-field-value-' . $field['id'] . '"> |
|
1221 | + <li class="list-group-item card-item-field hidden" id="card-item-field-' . $field['id'].'"> |
|
1222 | + <span id="card-item-field-title-' . $field['id'].'"><b>'.$field['title'].'</b></span> |
|
1223 | + <button type="button" class="float-right btn btn-secondary btn-sm ml-1 btn-copy-clipboard-clear" data-clipboard-target="card-item-field-value-' . $field['id'].'"> |
|
1224 | 1224 | <i class="fa-solid fa-copy"></i> |
1225 | 1225 | </button> |
1226 | - <span class="card-item-field-value float-right ml-1" id="card-item-field-value-' . $field['id'] . '"></span> |
|
1226 | + <span class="card-item-field-value float-right ml-1" id="card-item-field-value-' . $field['id'].'"></span> |
|
1227 | 1227 | </li>'; |
1228 | 1228 | } |
1229 | 1229 | echo ' |
@@ -91,215 +91,215 @@ |
||
91 | 91 | switch ($post_type) { |
92 | 92 | //########################################################## |
93 | 93 | //CASE for creating a DB backup |
94 | -case 'perform_fix_pf_items-step1': |
|
95 | - // Check KEY |
|
96 | - if (!hash_equals((string) $session->get('key'), (string) $post_key)) { |
|
97 | - echo prepareExchangedData( |
|
98 | - array( |
|
99 | - 'error' => true, |
|
100 | - 'message' => $lang->get('key_is_not_correct'), |
|
101 | - ), |
|
102 | - 'encode' |
|
103 | - ); |
|
104 | - break; |
|
105 | - } |
|
106 | - // Is admin? |
|
107 | - if ((int) $session->get('user-admin') !== 1) { |
|
108 | - echo prepareExchangedData( |
|
109 | - array( |
|
110 | - 'error' => true, |
|
111 | - 'message' => $lang->get('error_not_allowed_to'), |
|
112 | - ), |
|
113 | - 'encode' |
|
114 | - ); |
|
115 | - break; |
|
116 | - } |
|
94 | + case 'perform_fix_pf_items-step1': |
|
95 | + // Check KEY |
|
96 | + if (!hash_equals((string) $session->get('key'), (string) $post_key)) { |
|
97 | + echo prepareExchangedData( |
|
98 | + array( |
|
99 | + 'error' => true, |
|
100 | + 'message' => $lang->get('key_is_not_correct'), |
|
101 | + ), |
|
102 | + 'encode' |
|
103 | + ); |
|
104 | + break; |
|
105 | + } |
|
106 | + // Is admin? |
|
107 | + if ((int) $session->get('user-admin') !== 1) { |
|
108 | + echo prepareExchangedData( |
|
109 | + array( |
|
110 | + 'error' => true, |
|
111 | + 'message' => $lang->get('error_not_allowed_to'), |
|
112 | + ), |
|
113 | + 'encode' |
|
114 | + ); |
|
115 | + break; |
|
116 | + } |
|
117 | 117 | |
118 | - // decrypt and retrieve data in JSON format |
|
119 | - $dataReceived = prepareExchangedData( |
|
120 | - $post_data, |
|
121 | - 'decode' |
|
122 | - ); |
|
118 | + // decrypt and retrieve data in JSON format |
|
119 | + $dataReceived = prepareExchangedData( |
|
120 | + $post_data, |
|
121 | + 'decode' |
|
122 | + ); |
|
123 | 123 | |
124 | - $userId = filter_var($dataReceived['userId'], FILTER_SANITIZE_NUMBER_INT); |
|
124 | + $userId = filter_var($dataReceived['userId'], FILTER_SANITIZE_NUMBER_INT); |
|
125 | 125 | |
126 | - // Get user info |
|
127 | - $userInfo = DB::queryFirstRow( |
|
128 | - 'SELECT private_key, public_key, psk, encrypted_psk |
|
126 | + // Get user info |
|
127 | + $userInfo = DB::queryFirstRow( |
|
128 | + 'SELECT private_key, public_key, psk, encrypted_psk |
|
129 | 129 | FROM teampass_users |
130 | 130 | WHERE id = %i', |
131 | - $userId |
|
132 | - ); |
|
131 | + $userId |
|
132 | + ); |
|
133 | 133 | |
134 | - // Get user's private folders |
|
135 | - $userPFRoot = DB::queryFirstRow( |
|
136 | - 'SELECT id |
|
134 | + // Get user's private folders |
|
135 | + $userPFRoot = DB::queryFirstRow( |
|
136 | + 'SELECT id |
|
137 | 137 | FROM teampass_nested_tree |
138 | 138 | WHERE title = %i', |
139 | - $userId |
|
140 | - ); |
|
141 | - if (DB::count() === 0) { |
|
142 | - echo prepareExchangedData( |
|
143 | - array( |
|
144 | - 'error' => true, |
|
145 | - 'message' => 'User has no personal folders', |
|
146 | - ), |
|
147 | - 'encode' |
|
148 | - ); |
|
149 | - break; |
|
150 | - } |
|
151 | - $personalFolders = []; |
|
152 | - $tree = new NestedTree(prefixTable('nested_tree'), 'id', 'parent_id', 'title'); |
|
153 | - $tree->rebuild(); |
|
154 | - $folders = $tree->getDescendants($userPFRoot['id'], true); |
|
155 | - foreach ($folders as $folder) { |
|
156 | - array_push($personalFolders, $folder->id); |
|
157 | - } |
|
158 | - |
|
159 | - //Show done |
|
160 | - echo prepareExchangedData( |
|
161 | - array( |
|
162 | - 'error' => false, |
|
163 | - 'message' => 'Personal Folders found: ', |
|
164 | - 'personalFolders' => json_encode($personalFolders), |
|
165 | - ), |
|
166 | - 'encode' |
|
167 | - ); |
|
168 | - break; |
|
169 | - |
|
170 | -case 'perform_fix_pf_items-step2': |
|
171 | - // Check KEY |
|
172 | - if (!hash_equals((string) $session->get('key'), (string) $post_key)) { |
|
173 | - echo prepareExchangedData( |
|
174 | - array( |
|
175 | - 'error' => true, |
|
176 | - 'message' => $lang->get('key_is_not_correct'), |
|
177 | - ), |
|
178 | - 'encode' |
|
139 | + $userId |
|
179 | 140 | ); |
180 | - break; |
|
181 | - } |
|
182 | - // Is admin? |
|
183 | - if ((int) $session->get('user-admin') !== 1) { |
|
141 | + if (DB::count() === 0) { |
|
142 | + echo prepareExchangedData( |
|
143 | + array( |
|
144 | + 'error' => true, |
|
145 | + 'message' => 'User has no personal folders', |
|
146 | + ), |
|
147 | + 'encode' |
|
148 | + ); |
|
149 | + break; |
|
150 | + } |
|
151 | + $personalFolders = []; |
|
152 | + $tree = new NestedTree(prefixTable('nested_tree'), 'id', 'parent_id', 'title'); |
|
153 | + $tree->rebuild(); |
|
154 | + $folders = $tree->getDescendants($userPFRoot['id'], true); |
|
155 | + foreach ($folders as $folder) { |
|
156 | + array_push($personalFolders, $folder->id); |
|
157 | + } |
|
158 | + |
|
159 | + //Show done |
|
184 | 160 | echo prepareExchangedData( |
185 | 161 | array( |
186 | - 'error' => true, |
|
187 | - 'message' => $lang->get('error_not_allowed_to'), |
|
162 | + 'error' => false, |
|
163 | + 'message' => 'Personal Folders found: ', |
|
164 | + 'personalFolders' => json_encode($personalFolders), |
|
188 | 165 | ), |
189 | 166 | 'encode' |
190 | 167 | ); |
191 | 168 | break; |
192 | - } |
|
193 | 169 | |
194 | - // decrypt and retrieve data in JSON format |
|
195 | - $dataReceived = prepareExchangedData( |
|
196 | - $post_data, |
|
197 | - 'decode' |
|
198 | - ); |
|
170 | + case 'perform_fix_pf_items-step2': |
|
171 | + // Check KEY |
|
172 | + if (!hash_equals((string) $session->get('key'), (string) $post_key)) { |
|
173 | + echo prepareExchangedData( |
|
174 | + array( |
|
175 | + 'error' => true, |
|
176 | + 'message' => $lang->get('key_is_not_correct'), |
|
177 | + ), |
|
178 | + 'encode' |
|
179 | + ); |
|
180 | + break; |
|
181 | + } |
|
182 | + // Is admin? |
|
183 | + if ((int) $session->get('user-admin') !== 1) { |
|
184 | + echo prepareExchangedData( |
|
185 | + array( |
|
186 | + 'error' => true, |
|
187 | + 'message' => $lang->get('error_not_allowed_to'), |
|
188 | + ), |
|
189 | + 'encode' |
|
190 | + ); |
|
191 | + break; |
|
192 | + } |
|
199 | 193 | |
200 | - $userId = filter_var($dataReceived['userId'], FILTER_SANITIZE_NUMBER_INT); |
|
201 | - $personalFolders = filter_var($dataReceived['personalFolders'], FILTER_SANITIZE_FULL_SPECIAL_CHARS); |
|
194 | + // decrypt and retrieve data in JSON format |
|
195 | + $dataReceived = prepareExchangedData( |
|
196 | + $post_data, |
|
197 | + 'decode' |
|
198 | + ); |
|
199 | + |
|
200 | + $userId = filter_var($dataReceived['userId'], FILTER_SANITIZE_NUMBER_INT); |
|
201 | + $personalFolders = filter_var($dataReceived['personalFolders'], FILTER_SANITIZE_FULL_SPECIAL_CHARS); |
|
202 | 202 | |
203 | - // Delete all private items with sharekeys |
|
204 | - $pfiSharekeys = DB::queryFirstColumn( |
|
205 | - 'select s.increment_id |
|
203 | + // Delete all private items with sharekeys |
|
204 | + $pfiSharekeys = DB::queryFirstColumn( |
|
205 | + 'select s.increment_id |
|
206 | 206 | from teampass_sharekeys_items as s |
207 | 207 | INNER JOIN teampass_items AS i ON (i.id = s.object_id) |
208 | 208 | WHERE s.user_id = %i AND i.perso = 1 AND i.id_tree IN %ls', |
209 | - $userId, |
|
210 | - $personalFolders |
|
211 | - ); |
|
212 | - $pfiSharekeysCount = DB::count(); |
|
213 | - if ($pfiSharekeysCount > 0) { |
|
214 | - DB::delete( |
|
215 | - "teampass_sharekeys_items", |
|
216 | - "increment_id IN %ls", |
|
217 | - $pfiSharekeys |
|
209 | + $userId, |
|
210 | + $personalFolders |
|
218 | 211 | ); |
219 | - } |
|
212 | + $pfiSharekeysCount = DB::count(); |
|
213 | + if ($pfiSharekeysCount > 0) { |
|
214 | + DB::delete( |
|
215 | + "teampass_sharekeys_items", |
|
216 | + "increment_id IN %ls", |
|
217 | + $pfiSharekeys |
|
218 | + ); |
|
219 | + } |
|
220 | 220 | |
221 | 221 | |
222 | - //Show done |
|
223 | - echo prepareExchangedData( |
|
224 | - array( |
|
225 | - 'error' => false, |
|
226 | - 'message' => '<br>Number of Sharekeys for private items DELETED: ', |
|
227 | - 'nbDeleted' => $pfiSharekeysCount, |
|
228 | - 'personalFolders' => json_encode($personalFolders), |
|
229 | - ), |
|
230 | - 'encode' |
|
231 | - ); |
|
232 | - break; |
|
233 | - |
|
234 | -case 'perform_fix_pf_items-step3': |
|
235 | - // Check KEY |
|
236 | - if (!hash_equals((string) $session->get('key'), (string) $post_key)) { |
|
237 | - echo prepareExchangedData( |
|
238 | - array( |
|
239 | - 'error' => true, |
|
240 | - 'message' => $lang->get('key_is_not_correct'), |
|
241 | - ), |
|
242 | - 'encode' |
|
243 | - ); |
|
244 | - break; |
|
245 | - } |
|
246 | - // Is admin? |
|
247 | - if ((int) $session->get('user-admin') !== 1) { |
|
222 | + //Show done |
|
248 | 223 | echo prepareExchangedData( |
249 | 224 | array( |
250 | - 'error' => true, |
|
251 | - 'message' => $lang->get('error_not_allowed_to'), |
|
225 | + 'error' => false, |
|
226 | + 'message' => '<br>Number of Sharekeys for private items DELETED: ', |
|
227 | + 'nbDeleted' => $pfiSharekeysCount, |
|
228 | + 'personalFolders' => json_encode($personalFolders), |
|
252 | 229 | ), |
253 | 230 | 'encode' |
254 | 231 | ); |
255 | 232 | break; |
256 | - } |
|
257 | 233 | |
258 | - // decrypt and retrieve data in JSON format |
|
259 | - $dataReceived = prepareExchangedData( |
|
260 | - $post_data, |
|
261 | - 'decode' |
|
262 | - ); |
|
234 | + case 'perform_fix_pf_items-step3': |
|
235 | + // Check KEY |
|
236 | + if (!hash_equals((string) $session->get('key'), (string) $post_key)) { |
|
237 | + echo prepareExchangedData( |
|
238 | + array( |
|
239 | + 'error' => true, |
|
240 | + 'message' => $lang->get('key_is_not_correct'), |
|
241 | + ), |
|
242 | + 'encode' |
|
243 | + ); |
|
244 | + break; |
|
245 | + } |
|
246 | + // Is admin? |
|
247 | + if ((int) $session->get('user-admin') !== 1) { |
|
248 | + echo prepareExchangedData( |
|
249 | + array( |
|
250 | + 'error' => true, |
|
251 | + 'message' => $lang->get('error_not_allowed_to'), |
|
252 | + ), |
|
253 | + 'encode' |
|
254 | + ); |
|
255 | + break; |
|
256 | + } |
|
257 | + |
|
258 | + // decrypt and retrieve data in JSON format |
|
259 | + $dataReceived = prepareExchangedData( |
|
260 | + $post_data, |
|
261 | + 'decode' |
|
262 | + ); |
|
263 | 263 | |
264 | - $userId = filter_var($dataReceived['userId'], FILTER_SANITIZE_NUMBER_INT); |
|
265 | - $personalFolders = filter_var($dataReceived['personalFolders'], FILTER_SANITIZE_FULL_SPECIAL_CHARS); |
|
264 | + $userId = filter_var($dataReceived['userId'], FILTER_SANITIZE_NUMBER_INT); |
|
265 | + $personalFolders = filter_var($dataReceived['personalFolders'], FILTER_SANITIZE_FULL_SPECIAL_CHARS); |
|
266 | 266 | |
267 | - // Update from items_old to items all the private itemsitems that have been converted to teampass_aes |
|
268 | - // Get all key back |
|
269 | - $items = DB::query( |
|
270 | - "SELECT id |
|
267 | + // Update from items_old to items all the private itemsitems that have been converted to teampass_aes |
|
268 | + // Get all key back |
|
269 | + $items = DB::query( |
|
270 | + "SELECT id |
|
271 | 271 | FROM teampass_items |
272 | 272 | WHERE id_tree IN %ls AND encryption_type = %s", |
273 | - $personalFolders, |
|
274 | - "teampass_aes" |
|
275 | - ); |
|
276 | - //DB::debugMode(false); |
|
277 | - $nbItems = DB::count(); |
|
278 | - foreach ($items as $item) { |
|
279 | - $defusePwd = DB::queryFirstField("SELECT pw FROM teampass_items_old WHERE id = %i", $item['id']); |
|
280 | - DB::update( |
|
281 | - "teampass_items", |
|
282 | - ['pw' => $defusePwd, "encryption_type" => "defuse"], |
|
283 | - "id = %i", |
|
284 | - $item['id'] |
|
273 | + $personalFolders, |
|
274 | + "teampass_aes" |
|
285 | 275 | ); |
286 | - } |
|
276 | + //DB::debugMode(false); |
|
277 | + $nbItems = DB::count(); |
|
278 | + foreach ($items as $item) { |
|
279 | + $defusePwd = DB::queryFirstField("SELECT pw FROM teampass_items_old WHERE id = %i", $item['id']); |
|
280 | + DB::update( |
|
281 | + "teampass_items", |
|
282 | + ['pw' => $defusePwd, "encryption_type" => "defuse"], |
|
283 | + "id = %i", |
|
284 | + $item['id'] |
|
285 | + ); |
|
286 | + } |
|
287 | 287 | |
288 | 288 | |
289 | - //Show done |
|
290 | - echo prepareExchangedData( |
|
291 | - array( |
|
292 | - 'error' => false, |
|
293 | - 'message' => '<br>Number of items reseted to Defuse: ', |
|
294 | - 'nbItems' => $nbItems, |
|
295 | - 'personalFolders' => json_encode($personalFolders), |
|
296 | - ), |
|
297 | - 'encode' |
|
298 | - ); |
|
299 | - break; |
|
300 | - |
|
301 | - /* TOOL #2 - Fixing items master keys */ |
|
302 | - /* |
|
289 | + //Show done |
|
290 | + echo prepareExchangedData( |
|
291 | + array( |
|
292 | + 'error' => false, |
|
293 | + 'message' => '<br>Number of items reseted to Defuse: ', |
|
294 | + 'nbItems' => $nbItems, |
|
295 | + 'personalFolders' => json_encode($personalFolders), |
|
296 | + ), |
|
297 | + 'encode' |
|
298 | + ); |
|
299 | + break; |
|
300 | + |
|
301 | + /* TOOL #2 - Fixing items master keys */ |
|
302 | + /* |
|
303 | 303 | * STEP 1 - Check if we have the correct pwd for TP_USER |
304 | 304 | */ |
305 | 305 | case 'perform_fix_items_master_keys-step1': |
@@ -70,7 +70,7 @@ discard block |
||
70 | 70 | if ($checkUserAccess->checkSession() === false || $checkUserAccess->userAccessPage('tools') === false) { |
71 | 71 | // Not allowed page |
72 | 72 | $session->set('system-error_code', ERR_NOT_ALLOWED); |
73 | - include $SETTINGS['cpassman_dir'] . '/error.php'; |
|
73 | + include $SETTINGS['cpassman_dir'].'/error.php'; |
|
74 | 74 | exit; |
75 | 75 | } |
76 | 76 | |
@@ -335,7 +335,7 @@ discard block |
||
335 | 335 | // Get PT_USER info |
336 | 336 | $userInfo = DB::queryFirstRow( |
337 | 337 | 'SELECT pw, public_key, private_key, login, name |
338 | - FROM ' . prefixTable('users') . ' |
|
338 | + FROM ' . prefixTable('users').' |
|
339 | 339 | WHERE id = %i', |
340 | 340 | TP_USER_ID |
341 | 341 | ); |
@@ -372,8 +372,8 @@ discard block |
||
372 | 372 | // Get one itemKey from current user |
373 | 373 | $currentUserKey = DB::queryFirstRow( |
374 | 374 | 'SELECT ski.share_key, ski.increment_id AS increment_id, l.id_user |
375 | - FROM ' . prefixTable('sharekeys_items') . ' AS ski |
|
376 | - INNER JOIN ' . prefixTable('log_items') . ' AS l ON ski.object_id = l.id_item |
|
375 | + FROM ' . prefixTable('sharekeys_items').' AS ski |
|
376 | + INNER JOIN ' . prefixTable('log_items').' AS l ON ski.object_id = l.id_item |
|
377 | 377 | WHERE ski.user_id = %i |
378 | 378 | ORDER BY RAND() |
379 | 379 | LIMIT 1', |
@@ -392,7 +392,7 @@ discard block |
||
392 | 392 | echo prepareExchangedData( |
393 | 393 | array( |
394 | 394 | 'error' => true, |
395 | - 'message' => 'No issue found, normal process should work. This process is now finished. (item id : ' . $currentUserKey['increment_id'] . ')', |
|
395 | + 'message' => 'No issue found, normal process should work. This process is now finished. (item id : '.$currentUserKey['increment_id'].')', |
|
396 | 396 | ), |
397 | 397 | 'encode' |
398 | 398 | ); |
@@ -452,7 +452,7 @@ discard block |
||
452 | 452 | // Get user info |
453 | 453 | $userInfo = DB::queryFirstRow( |
454 | 454 | 'SELECT public_key, private_key |
455 | - FROM ' . prefixTable('users') . ' |
|
455 | + FROM ' . prefixTable('users').' |
|
456 | 456 | WHERE id = %i', |
457 | 457 | $userId |
458 | 458 | ); |
@@ -475,8 +475,8 @@ discard block |
||
475 | 475 | // Get one itemKey from current user |
476 | 476 | $currentUserKey = DB::queryFirstRow( |
477 | 477 | 'SELECT ski.share_key, ski.increment_id AS increment_id, l.id_user |
478 | - FROM ' . prefixTable('sharekeys_items') . ' AS ski |
|
479 | - INNER JOIN ' . prefixTable('log_items') . ' AS l ON ski.object_id = l.id_item |
|
478 | + FROM ' . prefixTable('sharekeys_items').' AS ski |
|
479 | + INNER JOIN ' . prefixTable('log_items').' AS l ON ski.object_id = l.id_item |
|
480 | 480 | WHERE ski.user_id = %i |
481 | 481 | ORDER BY RAND() |
482 | 482 | LIMIT 1', |
@@ -514,8 +514,8 @@ discard block |
||
514 | 514 | // Get number of users to treat |
515 | 515 | DB::query( |
516 | 516 | 'SELECT i.id |
517 | - FROM ' . prefixTable('items') . ' AS i |
|
518 | - INNER JOIN ' . prefixTable('sharekeys_items') . ' AS si ON i.id = si.object_id |
|
517 | + FROM ' . prefixTable('items').' AS i |
|
518 | + INNER JOIN ' . prefixTable('sharekeys_items').' AS si ON i.id = si.object_id |
|
519 | 519 | WHERE i.perso = %i AND si.user_id = %i;', |
520 | 520 | 0, |
521 | 521 | $userId |
@@ -597,11 +597,11 @@ discard block |
||
597 | 597 | // Loop on items |
598 | 598 | $rows = DB::query( |
599 | 599 | 'SELECT si.object_id AS object_id, si.share_key AS share_key, i.pw AS pw, si.increment_id as increment_id |
600 | - FROM ' . prefixTable('sharekeys_items') . ' AS si |
|
601 | - INNER JOIN ' . prefixTable('items') . ' AS i ON (i.id = si.object_id) |
|
600 | + FROM ' . prefixTable('sharekeys_items').' AS si |
|
601 | + INNER JOIN ' . prefixTable('items').' AS i ON (i.id = si.object_id) |
|
602 | 602 | WHERE si.user_id = %i |
603 | 603 | ORDER BY si.increment_id ASC |
604 | - LIMIT ' . $startIndex . ', ' . $limit, |
|
604 | + LIMIT ' . $startIndex.', '.$limit, |
|
605 | 605 | $userId |
606 | 606 | ); |
607 | 607 | |
@@ -625,7 +625,7 @@ discard block |
||
625 | 625 | // It will be updated if already exists |
626 | 626 | $currentTPUserKey = DB::queryFirstRow( |
627 | 627 | 'SELECT increment_id, user_id, share_key |
628 | - FROM ' . prefixTable('sharekeys_items') . ' |
|
628 | + FROM ' . prefixTable('sharekeys_items').' |
|
629 | 629 | WHERE object_id = %i AND user_id = %i', |
630 | 630 | $record['object_id'], |
631 | 631 | TP_USER_ID |
@@ -661,7 +661,7 @@ discard block |
||
661 | 661 | DB::commit(); |
662 | 662 | } catch (Exception $e) { |
663 | 663 | DB::rollback(); |
664 | - error_log("Teampass - Error: Keys treatment: " . $e->getMessage()); |
|
664 | + error_log("Teampass - Error: Keys treatment: ".$e->getMessage()); |
|
665 | 665 | } |
666 | 666 | |
667 | 667 | $nextIndex = (int) $startIndex + (int) $limit; |
@@ -717,7 +717,7 @@ discard block |
||
717 | 717 | // Get PT_USER info |
718 | 718 | DB::queryFirstRow( |
719 | 719 | 'SELECT operation_code |
720 | - FROM ' . prefixTable('sharekeys_backup') . ' |
|
720 | + FROM ' . prefixTable('sharekeys_backup').' |
|
721 | 721 | WHERE operation_code = %s', |
722 | 722 | $operationCode |
723 | 723 | ); |
@@ -727,7 +727,7 @@ discard block |
||
727 | 727 | // using increment_id_value in order to update the correct record |
728 | 728 | $rows = DB::query( |
729 | 729 | 'SELECT * |
730 | - FROM ' . prefixTable('sharekeys_backup') . ' |
|
730 | + FROM ' . prefixTable('sharekeys_backup').' |
|
731 | 731 | WHERE operation_code = %s', |
732 | 732 | $operationCode |
733 | 733 | ); |
@@ -746,7 +746,7 @@ discard block |
||
746 | 746 | |
747 | 747 | // Delete all sharekeys for this operation |
748 | 748 | DB::query( |
749 | - 'DELETE FROM ' . prefixTable('sharekeys_backup') . ' |
|
749 | + 'DELETE FROM '.prefixTable('sharekeys_backup').' |
|
750 | 750 | WHERE operation_code = %i', |
751 | 751 | $operationCode |
752 | 752 | ); |
@@ -809,7 +809,7 @@ discard block |
||
809 | 809 | // Get operation info |
810 | 810 | DB::query( |
811 | 811 | 'SELECT operation_code |
812 | - FROM ' . prefixTable('sharekeys_backup') . ' |
|
812 | + FROM ' . prefixTable('sharekeys_backup').' |
|
813 | 813 | WHERE operation_code = %s', |
814 | 814 | $operationCode |
815 | 815 | ); |
@@ -818,7 +818,7 @@ discard block |
||
818 | 818 | if ($nbKeys > 0) { |
819 | 819 | // Delete all sharekeys for this operation |
820 | 820 | DB::query( |
821 | - 'DELETE FROM ' . prefixTable('sharekeys_backup') . ' |
|
821 | + 'DELETE FROM '.prefixTable('sharekeys_backup').' |
|
822 | 822 | WHERE operation_code = %s', |
823 | 823 | $operationCode |
824 | 824 | ); |
@@ -75,7 +75,7 @@ discard block |
||
75 | 75 | ) { |
76 | 76 | // Not allowed page |
77 | 77 | $session->set('system-error_code', ERR_NOT_ALLOWED); |
78 | - include $SETTINGS['cpassman_dir'] . '/error.php'; |
|
78 | + include $SETTINGS['cpassman_dir'].'/error.php'; |
|
79 | 79 | exit; |
80 | 80 | } |
81 | 81 | |
@@ -145,7 +145,7 @@ discard block |
||
145 | 145 | if (isset($order['column']) && preg_match('#^(asc|desc)$#i', $order['dir'])) { |
146 | 146 | $columnIndex = $order['column']; |
147 | 147 | $dir = $inputData['dir']; |
148 | - $sOrder .= $aColumns[$columnIndex] . ' ' . $dir . ', '; |
|
148 | + $sOrder .= $aColumns[$columnIndex].' '.$dir.', '; |
|
149 | 149 | } |
150 | 150 | |
151 | 151 | $sOrder = substr_replace($sOrder, '', -2); |
@@ -113,7 +113,7 @@ |
||
113 | 113 | private function isParentFolderAllowed($parent_id, $user_accessible_folders, $user_is_admin, $user_can_create_root_folder) |
114 | 114 | { |
115 | 115 | if ($parent_id == 0 && $user_can_create_root_folder == true) |
116 | - return true; |
|
116 | + return true; |
|
117 | 117 | |
118 | 118 | if (in_array($parent_id, $user_accessible_folders) === false |
119 | 119 | && (int) $user_is_admin !== 1 |
@@ -112,8 +112,9 @@ discard block |
||
112 | 112 | */ |
113 | 113 | private function isParentFolderAllowed($parent_id, $user_accessible_folders, $user_is_admin, $user_can_create_root_folder) |
114 | 114 | { |
115 | - if ($parent_id == 0 && $user_can_create_root_folder == true) |
|
116 | - return true; |
|
115 | + if ($parent_id == 0 && $user_can_create_root_folder == true) { |
|
116 | + return true; |
|
117 | + } |
|
117 | 118 | |
118 | 119 | if (in_array($parent_id, $user_accessible_folders) === false |
119 | 120 | && (int) $user_is_admin !== 1 |
@@ -438,8 +439,9 @@ discard block |
||
438 | 439 | )['count']; |
439 | 440 | |
440 | 441 | // Don't insert duplicates |
441 | - if ($count > 0) |
|
442 | - continue; |
|
442 | + if ($count > 0) { |
|
443 | + continue; |
|
444 | + } |
|
443 | 445 | |
444 | 446 | // Insert new background task |
445 | 447 | DB::insert( |
@@ -85,7 +85,7 @@ discard block |
||
85 | 85 | |
86 | 86 | $parentComplexity = $this->checkComplexityLevel($parentFolderData, $complexity, $parent_id); |
87 | 87 | if (isset($parentComplexity ['error']) && $parentComplexity['error'] === true) { |
88 | - return $this->errorResponse($this->lang->get('error_folder_complexity_lower_than_top_folder') . " [<b>{$this->settings['TP_PW_COMPLEXITY'][$parentComplexity['valeur']][1]}</b>]"); |
|
88 | + return $this->errorResponse($this->lang->get('error_folder_complexity_lower_than_top_folder')." [<b>{$this->settings['TP_PW_COMPLEXITY'][$parentComplexity['valeur']][1]}</b>]"); |
|
89 | 89 | } |
90 | 90 | |
91 | 91 | return $this->createFolder($params, array_merge($parentFolderData, $parentComplexity), $options); |
@@ -138,7 +138,7 @@ discard block |
||
138 | 138 | ) { |
139 | 139 | DB::query( |
140 | 140 | 'SELECT * |
141 | - FROM ' . prefixTable('nested_tree') . ' |
|
141 | + FROM ' . prefixTable('nested_tree').' |
|
142 | 142 | WHERE title = %s AND personal_folder = 0', |
143 | 143 | $title |
144 | 144 | ); |
@@ -162,7 +162,7 @@ discard block |
||
162 | 162 | //check if parent folder is personal |
163 | 163 | $data = DB::queryfirstrow( |
164 | 164 | 'SELECT personal_folder, bloquer_creation, bloquer_modification |
165 | - FROM ' . prefixTable('nested_tree') . ' |
|
165 | + FROM ' . prefixTable('nested_tree').' |
|
166 | 166 | WHERE id = %i', |
167 | 167 | $parent_id |
168 | 168 | ); |
@@ -201,7 +201,7 @@ discard block |
||
201 | 201 | // get complexity level for this folder |
202 | 202 | $data = DB::queryfirstrow( |
203 | 203 | 'SELECT valeur |
204 | - FROM ' . prefixTable('misc') . ' |
|
204 | + FROM ' . prefixTable('misc').' |
|
205 | 205 | WHERE intitule = %i AND type = %s', |
206 | 206 | $parent_id, |
207 | 207 | 'complex' |
@@ -262,11 +262,11 @@ discard block |
||
262 | 262 | */ |
263 | 263 | private function canCreateFolder($isPersonal, $user_is_admin, $user_is_manager, $user_can_manage_all_users, $user_can_create_root_folder) |
264 | 264 | { |
265 | - return (int)$isPersonal === 1 || |
|
266 | - (int)$user_is_admin === 1 || |
|
267 | - ((int)$user_is_manager === 1 || (int)$user_can_manage_all_users === 1) || |
|
265 | + return (int) $isPersonal === 1 || |
|
266 | + (int) $user_is_admin === 1 || |
|
267 | + ((int) $user_is_manager === 1 || (int) $user_can_manage_all_users === 1) || |
|
268 | 268 | ($this->settings['enable_user_can_create_folders'] ?? false) || |
269 | - ((int)$user_can_create_root_folder === 1); |
|
269 | + ((int) $user_can_create_root_folder === 1); |
|
270 | 270 | } |
271 | 271 | |
272 | 272 | /** |
@@ -346,7 +346,7 @@ discard block |
||
346 | 346 | $path = ''; |
347 | 347 | $tree_path = $tree->getPath(0, false); |
348 | 348 | foreach ($tree_path as $fld) { |
349 | - $path .= empty($path) ? $fld->title : '/' . $fld->title; |
|
349 | + $path .= empty($path) ? $fld->title : '/'.$fld->title; |
|
350 | 350 | } |
351 | 351 | |
352 | 352 | $new_json = [ |
@@ -360,7 +360,7 @@ discard block |
||
360 | 360 | "is_visible_active" => 0, |
361 | 361 | ]; |
362 | 362 | |
363 | - $cache_tree = DB::queryFirstRow('SELECT increment_id, folders, visible_folders FROM ' . prefixTable('cache_tree') . ' WHERE user_id = %i', (int)$user_id); |
|
363 | + $cache_tree = DB::queryFirstRow('SELECT increment_id, folders, visible_folders FROM '.prefixTable('cache_tree').' WHERE user_id = %i', (int) $user_id); |
|
364 | 364 | |
365 | 365 | if (empty($cache_tree)) { |
366 | 366 | DB::insert(prefixTable('cache_tree'), [ |
@@ -380,7 +380,7 @@ discard block |
||
380 | 380 | 'folders' => json_encode($folders), |
381 | 381 | 'visible_folders' => json_encode($visible_folders), |
382 | 382 | 'timestamp' => time(), |
383 | - ], 'increment_id = %i', (int)$cache_tree['increment_id']); |
|
383 | + ], 'increment_id = %i', (int) $cache_tree['increment_id']); |
|
384 | 384 | } |
385 | 385 | } |
386 | 386 | |
@@ -390,7 +390,7 @@ discard block |
||
390 | 390 | private function manageFolderPermissions($parent_id, $newId, $user_roles, $access_rights, $user_is_admin) |
391 | 391 | { |
392 | 392 | if ($parent_id !== 0 && $this->settings['subfolder_rights_as_parent'] ?? false) { |
393 | - $rows = DB::query('SELECT role_id, type FROM ' . prefixTable('roles_values') . ' WHERE folder_id = %i', $parent_id); |
|
393 | + $rows = DB::query('SELECT role_id, type FROM '.prefixTable('roles_values').' WHERE folder_id = %i', $parent_id); |
|
394 | 394 | foreach ($rows as $record) { |
395 | 395 | DB::insert(prefixTable('roles_values'), [ |
396 | 396 | 'role_id' => $record['role_id'], |
@@ -398,7 +398,7 @@ discard block |
||
398 | 398 | 'type' => $record['type'], |
399 | 399 | ]); |
400 | 400 | } |
401 | - } elseif ((int)$user_is_admin !== 1) { |
|
401 | + } elseif ((int) $user_is_admin !== 1) { |
|
402 | 402 | foreach (array_unique(explode(';', $user_roles)) as $role) { |
403 | 403 | if (!empty($role)) { |
404 | 404 | DB::insert(prefixTable('roles_values'), [ |
@@ -416,7 +416,7 @@ discard block |
||
416 | 416 | */ |
417 | 417 | private function copyCustomFieldsCategories($parent_id, $newId) |
418 | 418 | { |
419 | - $rows = DB::query('SELECT id_category FROM ' . prefixTable('categories_folders') . ' WHERE id_folder = %i', $parent_id); |
|
419 | + $rows = DB::query('SELECT id_category FROM '.prefixTable('categories_folders').' WHERE id_folder = %i', $parent_id); |
|
420 | 420 | foreach ($rows as $record) { |
421 | 421 | DB::insert(prefixTable('categories_folders'), [ |
422 | 422 | 'id_category' => $record['id_category'], |
@@ -441,7 +441,7 @@ discard block |
||
441 | 441 | // Search for existing job |
442 | 442 | $count = DB::queryFirstRow( |
443 | 443 | 'SELECT COUNT(*) AS count |
444 | - FROM ' . prefixTable('background_tasks') . ' |
|
444 | + FROM ' . prefixTable('background_tasks').' |
|
445 | 445 | WHERE is_in_progress = %i AND process_type = %s AND arguments = %s', |
446 | 446 | 0, |
447 | 447 | 'user_build_cache_tree', |
@@ -475,7 +475,7 @@ discard block |
||
475 | 475 | return [ |
476 | 476 | 'error' => true, |
477 | 477 | 'message' => $message, |
478 | - 'newId' => '' . $newIdSuffix, |
|
478 | + 'newId' => ''.$newIdSuffix, |
|
479 | 479 | ]; |
480 | 480 | } |
481 | 481 | } |