@@ -60,7 +60,7 @@ |
||
60 | 60 | // Update table by deleting ID |
61 | 61 | if ($session->has('user-id') && null !== $session->get('user-id')) { |
62 | 62 | DB::update( |
63 | - DB_PREFIX . 'users', |
|
63 | + DB_PREFIX.'users', |
|
64 | 64 | [ |
65 | 65 | 'key_tempo' => '', |
66 | 66 | ], |
@@ -69,7 +69,7 @@ discard block |
||
69 | 69 | ) { |
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 | |
@@ -450,7 +450,7 @@ discard block |
||
450 | 450 | ); |
451 | 451 | |
452 | 452 | // add new role to user |
453 | - $tmp = $data_tmp['fonction_id'] . (substr($data_tmp['fonction_id'], -1) == ';' ? $role_id : ';' . $role_id); |
|
453 | + $tmp = $data_tmp['fonction_id'].(substr($data_tmp['fonction_id'], -1) == ';' ? $role_id : ';'.$role_id); |
|
454 | 454 | $session->set('user-roles', str_replace(';;', ';', $tmp)); |
455 | 455 | |
456 | 456 | // store in DB |
@@ -722,7 +722,7 @@ discard block |
||
722 | 722 | $groupsData = $openLdapExtra->getADGroups($ldapConnection, $SETTINGS); |
723 | 723 | break; |
724 | 724 | default: |
725 | - throw new Exception("Unsupported LDAP type: " . $SETTINGS['ldap_type']); |
|
725 | + throw new Exception("Unsupported LDAP type: ".$SETTINGS['ldap_type']); |
|
726 | 726 | } |
727 | 727 | } catch (Exception $e) { |
728 | 728 | echo prepareExchangedData(array( |
@@ -739,7 +739,7 @@ discard block |
||
739 | 739 | // Handle successful retrieval of groups |
740 | 740 | // exists in Teampass |
741 | 741 | //error_log("Error: " . print_r($groupsData['userGroups'], true)); |
742 | - foreach($groupsData['userGroups'] as $key => $group) { |
|
742 | + foreach ($groupsData['userGroups'] as $key => $group) { |
|
743 | 743 | $role_detail = DB::queryfirstrow( |
744 | 744 | 'SELECT a.increment_id as increment_id, a.role_id as role_id, r.title as title |
745 | 745 | FROM '.prefixTable('ldap_groups_roles').' AS a |
@@ -764,7 +764,7 @@ discard block |
||
764 | 764 | |
765 | 765 | // Get all groups in Teampass |
766 | 766 | $teampassRoles = array(); |
767 | - $rows = DB::query('SELECT id,title FROM ' . prefixTable('roles_title')); |
|
767 | + $rows = DB::query('SELECT id,title FROM '.prefixTable('roles_title')); |
|
768 | 768 | foreach ($rows as $record) { |
769 | 769 | array_push( |
770 | 770 | $teampassRoles, |
@@ -87,7 +87,7 @@ discard block |
||
87 | 87 | if ($checkUserAccess->checkSession() === false) { |
88 | 88 | // Not allowed page |
89 | 89 | $session->set('system-error_code', ERR_NOT_ALLOWED); |
90 | - include $SETTINGS['cpassman_dir'] . '/error.php'; |
|
90 | + include $SETTINGS['cpassman_dir'].'/error.php'; |
|
91 | 91 | exit; |
92 | 92 | } |
93 | 93 | |
@@ -122,7 +122,7 @@ discard block |
||
122 | 122 | * @param array $SETTINGS |
123 | 123 | * @return bool|string |
124 | 124 | */ |
125 | - function handleAuthAttempts($post_data, $SETTINGS): bool|string |
|
125 | + function handleAuthAttempts($post_data, $SETTINGS): bool | string |
|
126 | 126 | { |
127 | 127 | $session = SessionManager::getSession(); |
128 | 128 | $lang = new Language(); |
@@ -234,7 +234,7 @@ discard block |
||
234 | 234 | $sessionPwdAttempts = $session->get('pwd_attempts'); |
235 | 235 | $sessionUrl = $session->get('user-initial_url'); |
236 | 236 | $server = []; |
237 | - $server['PHP_AUTH_USER'] = $request->server->get('PHP_AUTH_USER'); |
|
237 | + $server['PHP_AUTH_USER'] = $request->server->get('PHP_AUTH_USER'); |
|
238 | 238 | $server['PHP_AUTH_PW'] = $request->server->get('PHP_AUTH_PW'); |
239 | 239 | |
240 | 240 | // decrypt and retreive data in JSON format |
@@ -249,18 +249,18 @@ discard block |
||
249 | 249 | } |
250 | 250 | |
251 | 251 | // Check if Duo auth is in progress and pass the pw and login back to the standard login process |
252 | - if( |
|
252 | + if ( |
|
253 | 253 | isKeyExistingAndEqual('duo', 1, $SETTINGS) === true |
254 | 254 | && $dataReceived['user_2fa_selection'] === 'duo' |
255 | 255 | && $session->get('user-duo_status') === 'IN_PROGRESS' |
256 | 256 | && !empty($dataReceived['duo_state']) |
257 | - ){ |
|
257 | + ) { |
|
258 | 258 | $key = hash('sha256', $dataReceived['duo_state']); |
259 | 259 | $iv = substr(hash('sha256', $dataReceived['duo_state']), 0, 16); |
260 | 260 | $duo_data_dec = openssl_decrypt(base64_decode($session->get('user-duo_status')), 'AES-256-CBC', $key, 0, $iv); |
261 | 261 | // Clear the data from the Duo process to continue clean with the standard login process |
262 | - $session->set('user-duo_data',''); |
|
263 | - if($duo_data_dec === false){ |
|
262 | + $session->set('user-duo_data', ''); |
|
263 | + if ($duo_data_dec === false) { |
|
264 | 264 | echo prepareExchangedData( |
265 | 265 | [ |
266 | 266 | 'error' => true, |
@@ -275,7 +275,7 @@ discard block |
||
275 | 275 | $dataReceived['login'] = $duo_data['duo_login']; |
276 | 276 | } |
277 | 277 | |
278 | - if(isset($dataReceived['pw']) === false || isset($dataReceived['login']) === false) { |
|
278 | + if (isset($dataReceived['pw']) === false || isset($dataReceived['login']) === false) { |
|
279 | 279 | echo json_encode([ |
280 | 280 | 'data' => prepareExchangedData( |
281 | 281 | [ |
@@ -544,7 +544,7 @@ discard block |
||
544 | 544 | } |
545 | 545 | // Append with roles from AD groups |
546 | 546 | if (is_null($userInfo['roles_from_ad_groups']) === false) { |
547 | - $userInfo['fonction_id'] = empty($userInfo['fonction_id']) === true ? $userInfo['roles_from_ad_groups'] : $userInfo['fonction_id']. ';' . $userInfo['roles_from_ad_groups']; |
|
547 | + $userInfo['fonction_id'] = empty($userInfo['fonction_id']) === true ? $userInfo['roles_from_ad_groups'] : $userInfo['fonction_id'].';'.$userInfo['roles_from_ad_groups']; |
|
548 | 548 | } |
549 | 549 | // store |
550 | 550 | $session->set('user-roles', $userInfo['fonction_id']); |
@@ -556,7 +556,7 @@ discard block |
||
556 | 556 | if (count($session->get('user-roles_array')) > 0) { |
557 | 557 | $rolesList = DB::query( |
558 | 558 | 'SELECT id, title, complexity |
559 | - FROM ' . prefixTable('roles_title') . ' |
|
559 | + FROM ' . prefixTable('roles_title').' |
|
560 | 560 | WHERE id IN %li', |
561 | 561 | $session->get('user-roles_array') |
562 | 562 | ); |
@@ -602,7 +602,7 @@ discard block |
||
602 | 602 | if ($adjustPermissions) { |
603 | 603 | $session->set('user-admin', (int) $userInfo['admin']); |
604 | 604 | $session->set('user-manager', (int) $userInfo['gestionnaire']); |
605 | - $session->set('user-can_manage_all_users',(int) $userInfo['can_manage_all_users']); |
|
605 | + $session->set('user-can_manage_all_users', (int) $userInfo['can_manage_all_users']); |
|
606 | 606 | $session->set('user-read_only', (int) $userInfo['read_only']); |
607 | 607 | DB::update( |
608 | 608 | prefixTable('users'), |
@@ -674,10 +674,10 @@ discard block |
||
674 | 674 | $session->set('user-latest_items_tab', []); |
675 | 675 | $session->set('user-nb_roles', 0); |
676 | 676 | foreach ($session->get('user-latest_items') as $item) { |
677 | - if (! empty($item)) { |
|
677 | + if (!empty($item)) { |
|
678 | 678 | $dataLastItems = DB::queryFirstRow( |
679 | 679 | 'SELECT id,label,id_tree |
680 | - FROM ' . prefixTable('items') . ' |
|
680 | + FROM ' . prefixTable('items').' |
|
681 | 681 | WHERE id=%i', |
682 | 682 | $item |
683 | 683 | ); |
@@ -686,7 +686,7 @@ discard block |
||
686 | 686 | [ |
687 | 687 | 'id' => $item, |
688 | 688 | 'label' => $dataLastItems['label'], |
689 | - 'url' => 'index.php?page=items&group=' . $dataLastItems['id_tree'] . '&id=' . $item, |
|
689 | + 'url' => 'index.php?page=items&group='.$dataLastItems['id_tree'].'&id='.$item, |
|
690 | 690 | ], |
691 | 691 | 'add' |
692 | 692 | ); |
@@ -696,7 +696,7 @@ discard block |
||
696 | 696 | // Get cahce tree info |
697 | 697 | $cacheTreeData = DB::queryFirstRow( |
698 | 698 | 'SELECT visible_folders |
699 | - FROM ' . prefixTable('cache_tree') . ' |
|
699 | + FROM ' . prefixTable('cache_tree').' |
|
700 | 700 | WHERE user_id=%i', |
701 | 701 | (int) $session->get('user-id') |
702 | 702 | ); |
@@ -728,7 +728,7 @@ discard block |
||
728 | 728 | && (int) $sessionAdmin !== 1 |
729 | 729 | ) { |
730 | 730 | // get all Admin users |
731 | - $val = DB::queryfirstrow('SELECT email FROM ' . prefixTable('users') . " WHERE admin = %i and email != ''", 1); |
|
731 | + $val = DB::queryfirstrow('SELECT email FROM '.prefixTable('users')." WHERE admin = %i and email != ''", 1); |
|
732 | 732 | if (DB::count() > 0) { |
733 | 733 | // Add email to table |
734 | 734 | prepareSendingEmail( |
@@ -740,7 +740,7 @@ discard block |
||
740 | 740 | '#tp_time#', |
741 | 741 | ], |
742 | 742 | [ |
743 | - ' ' . $session->get('user-login') . ' (IP: ' . getClientIpServer() . ')', |
|
743 | + ' '.$session->get('user-login').' (IP: '.getClientIpServer().')', |
|
744 | 744 | date($SETTINGS['date_format'], (int) $session->get('user-last_connection')), |
745 | 745 | date($SETTINGS['time_format'], (int) $session->get('user-last_connection')), |
746 | 746 | ], |
@@ -887,7 +887,7 @@ discard block |
||
887 | 887 | { |
888 | 888 | $rows = DB::query( |
889 | 889 | 'SELECT date |
890 | - FROM ' . prefixTable('log_system') . " |
|
890 | + FROM ' . prefixTable('log_system')." |
|
891 | 891 | WHERE field_1 = %s |
892 | 892 | AND type = 'failed_auth' |
893 | 893 | AND label = 'password_is_not_correct' |
@@ -901,7 +901,7 @@ discard block |
||
901 | 901 | foreach ($rows as $record) { |
902 | 902 | array_push( |
903 | 903 | $arrAttempts, |
904 | - date($SETTINGS['date_format'] . ' ' . $SETTINGS['time_format'], (int) $record['date']) |
|
904 | + date($SETTINGS['date_format'].' '.$SETTINGS['time_format'], (int) $record['date']) |
|
905 | 905 | ); |
906 | 906 | } |
907 | 907 | } |
@@ -955,7 +955,7 @@ discard block |
||
955 | 955 | $ldapConnection |
956 | 956 | ) : bool |
957 | 957 | { |
958 | - include_once $SETTINGS['cpassman_dir'] . '/sources/main.functions.php'; |
|
958 | + include_once $SETTINGS['cpassman_dir'].'/sources/main.functions.php'; |
|
959 | 959 | |
960 | 960 | if ((int) $userInfoDisabled === 1) { |
961 | 961 | return false; |
@@ -1163,7 +1163,7 @@ discard block |
||
1163 | 1163 | $openLdapExtra = new OpenLdapExtra(); |
1164 | 1164 | break; |
1165 | 1165 | default: |
1166 | - throw new Exception("Unsupported LDAP type: " . $SETTINGS['ldap_type']); |
|
1166 | + throw new Exception("Unsupported LDAP type: ".$SETTINGS['ldap_type']); |
|
1167 | 1167 | } |
1168 | 1168 | } catch (Exception $e) { |
1169 | 1169 | return [ |
@@ -1176,7 +1176,7 @@ discard block |
||
1176 | 1176 | // 2- Get user info from AD |
1177 | 1177 | // We want to isolate attribute ldap_user_attribute or mostly samAccountName |
1178 | 1178 | $userADInfos = $ldapConnection->query() |
1179 | - ->where((isset($SETTINGS['ldap_user_attribute']) ===true && empty($SETTINGS['ldap_user_attribute']) === false) ? $SETTINGS['ldap_user_attribute'] : 'samaccountname', '=', $username) |
|
1179 | + ->where((isset($SETTINGS['ldap_user_attribute']) === true && empty($SETTINGS['ldap_user_attribute']) === false) ? $SETTINGS['ldap_user_attribute'] : 'samaccountname', '=', $username) |
|
1180 | 1180 | ->firstOrFail(); |
1181 | 1181 | |
1182 | 1182 | // Is user enabled? Only ActiveDirectory |
@@ -1195,7 +1195,7 @@ discard block |
||
1195 | 1195 | // For OpenLDAP and others, we use attribute dn |
1196 | 1196 | $userAuthAttempt = $ldapConnection->auth()->attempt( |
1197 | 1197 | $SETTINGS['ldap_type'] === 'ActiveDirectory' ? |
1198 | - $userADInfos['userprincipalname'][0] : // refering to https://ldaprecord.com/docs/core/v2/authentication#basic-authentication |
|
1198 | + $userADInfos['userprincipalname'][0] : // refering to https://ldaprecord.com/docs/core/v2/authentication#basic-authentication |
|
1199 | 1199 | $userADInfos['dn'], |
1200 | 1200 | $passwordClear |
1201 | 1201 | ); |
@@ -1212,7 +1212,7 @@ discard block |
||
1212 | 1212 | $error = $e->getDetailedError(); |
1213 | 1213 | return [ |
1214 | 1214 | 'error' => true, |
1215 | - 'message' => $lang->get('error')." - ".(isset($error) === true ? $error->getErrorCode()." - ".$error->getErrorMessage(). "<br>".$error->getDiagnosticMessage() : $e), |
|
1215 | + 'message' => $lang->get('error')." - ".(isset($error) === true ? $error->getErrorCode()." - ".$error->getErrorMessage()."<br>".$error->getDiagnosticMessage() : $e), |
|
1216 | 1216 | |
1217 | 1217 | ]; |
1218 | 1218 | } |
@@ -1277,7 +1277,7 @@ discard block |
||
1277 | 1277 | // error |
1278 | 1278 | return [ |
1279 | 1279 | 'error' => true, |
1280 | - 'message' => "Error: Unsupported LDAP type: " . $SETTINGS['ldap_type'], |
|
1280 | + 'message' => "Error: Unsupported LDAP type: ".$SETTINGS['ldap_type'], |
|
1281 | 1281 | ]; |
1282 | 1282 | } |
1283 | 1283 | |
@@ -1312,12 +1312,12 @@ discard block |
||
1312 | 1312 | if (isset($SETTINGS['enable_ad_users_with_ad_groups']) === true && (int) $SETTINGS['enable_ad_users_with_ad_groups'] === 1) { |
1313 | 1313 | // Get user groups from AD |
1314 | 1314 | $user_ad_groups = []; |
1315 | - foreach($groups as $group) { |
|
1315 | + foreach ($groups as $group) { |
|
1316 | 1316 | //print_r($group); |
1317 | 1317 | // get relation role id for AD group |
1318 | 1318 | $role = DB::queryFirstRow( |
1319 | 1319 | 'SELECT lgr.role_id |
1320 | - FROM ' . prefixTable('ldap_groups_roles') . ' AS lgr |
|
1320 | + FROM ' . prefixTable('ldap_groups_roles').' AS lgr |
|
1321 | 1321 | WHERE lgr.ldap_group_id = %i', |
1322 | 1322 | $group |
1323 | 1323 | ); |
@@ -1466,7 +1466,7 @@ discard block |
||
1466 | 1466 | } |
1467 | 1467 | |
1468 | 1468 | // Now check yubico validity |
1469 | - include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Authentication/Yubico/Yubico.php'; |
|
1469 | + include_once $SETTINGS['cpassman_dir'].'/includes/libraries/Authentication/Yubico/Yubico.php'; |
|
1470 | 1470 | $yubi = new Auth_Yubico($yubico_user_id, $yubico_user_key); |
1471 | 1471 | $auth = $yubi->verify($yubico_key); |
1472 | 1472 | //, null, null, null, 60 |
@@ -1620,7 +1620,7 @@ discard block |
||
1620 | 1620 | $mfaMessage = $lang->get('ga_flash_qr_and_login'); |
1621 | 1621 | // generate new QR |
1622 | 1622 | $new_2fa_qr = $tfa->getQRCodeImageAsDataUri( |
1623 | - 'Teampass - ' . $username, |
|
1623 | + 'Teampass - '.$username, |
|
1624 | 1624 | $userInfo['ga'] |
1625 | 1625 | ); |
1626 | 1626 | // clear temporary code from DB |
@@ -1633,7 +1633,7 @@ discard block |
||
1633 | 1633 | $userInfo['id'] |
1634 | 1634 | ); |
1635 | 1635 | $firstTime = [ |
1636 | - 'value' => '<img src="' . $new_2fa_qr . '">', |
|
1636 | + 'value' => '<img src="'.$new_2fa_qr.'">', |
|
1637 | 1637 | 'user_admin' => isset($sessionAdmin) ? (int) $sessionAdmin : '', |
1638 | 1638 | 'initial_url' => isset($sessionUrl) === true ? $sessionUrl : '', |
1639 | 1639 | 'pwd_attempts' => (int) $sessionPwdAttempts, |
@@ -1789,7 +1789,7 @@ discard block |
||
1789 | 1789 | }*/ |
1790 | 1790 | return [ |
1791 | 1791 | 'error' => true, |
1792 | - 'message' => $duo_error . $lang->get('duo_error_check_config'), |
|
1792 | + 'message' => $duo_error.$lang->get('duo_error_check_config'), |
|
1793 | 1793 | 'pwd_attempts' => (int) $sessionPwdAttempts, |
1794 | 1794 | 'debug_message' => $e->getMessage(), |
1795 | 1795 | 'proceedIdentification' => false, |
@@ -1805,7 +1805,7 @@ discard block |
||
1805 | 1805 | } catch (DuoException $e) { |
1806 | 1806 | return [ |
1807 | 1807 | 'error' => true, |
1808 | - 'message' => $duo_error . $lang->get('duo_error_url'), |
|
1808 | + 'message' => $duo_error.$lang->get('duo_error_url'), |
|
1809 | 1809 | 'pwd_attempts' => (int) $sessionPwdAttempts, |
1810 | 1810 | 'debug_message' => $e->getMessage(), |
1811 | 1811 | 'proceedIdentification' => false, |
@@ -1813,7 +1813,7 @@ discard block |
||
1813 | 1813 | } |
1814 | 1814 | |
1815 | 1815 | // Somethimes Duo return success but fail to return a URL, double check if the URL has been created |
1816 | - if (!empty($duo_redirect_url) && isset($duo_redirect_url) && filter_var($duo_redirect_url,FILTER_SANITIZE_URL)) { |
|
1816 | + if (!empty($duo_redirect_url) && isset($duo_redirect_url) && filter_var($duo_redirect_url, FILTER_SANITIZE_URL)) { |
|
1817 | 1817 | // Since Duo Universal requires a redirect, let's store some info when the user get's back after completing the Duo prompt |
1818 | 1818 | $key = hash('sha256', $duo_state); |
1819 | 1819 | $iv = substr(hash('sha256', $duo_state), 0, 16); |
@@ -1841,7 +1841,7 @@ discard block |
||
1841 | 1841 | } else { |
1842 | 1842 | return [ |
1843 | 1843 | 'error' => true, |
1844 | - 'message' => $duo_error . $lang->get('duo_error_url'), |
|
1844 | + 'message' => $duo_error.$lang->get('duo_error_url'), |
|
1845 | 1845 | 'pwd_attempts' => (int) $sessionPwdAttempts, |
1846 | 1846 | 'proceedIdentification' => false, |
1847 | 1847 | ]; |
@@ -1862,8 +1862,8 @@ discard block |
||
1862 | 1862 | // return the response (which should be the user name) |
1863 | 1863 | if ($decoded_token['preferred_username'] === $username) { |
1864 | 1864 | $session->set('user-duo_status', 'COMPLET'); |
1865 | - $session->set('user-duo_state',''); |
|
1866 | - $session->set('user-duo_data',''); |
|
1865 | + $session->set('user-duo_state', ''); |
|
1866 | + $session->set('user-duo_data', ''); |
|
1867 | 1867 | $session->set('user-login', $username); |
1868 | 1868 | |
1869 | 1869 | return [ |
@@ -1874,9 +1874,9 @@ discard block |
||
1874 | 1874 | ]; |
1875 | 1875 | } else { |
1876 | 1876 | // Something wrong, username from the original Duo request is different than the one received now |
1877 | - $session->set('user-duo_status',''); |
|
1878 | - $session->set('user-duo_state',''); |
|
1879 | - $session->set('user-duo_data',''); |
|
1877 | + $session->set('user-duo_status', ''); |
|
1878 | + $session->set('user-duo_state', ''); |
|
1879 | + $session->set('user-duo_data', ''); |
|
1880 | 1880 | |
1881 | 1881 | return [ |
1882 | 1882 | 'error' => true, |
@@ -1887,9 +1887,9 @@ discard block |
||
1887 | 1887 | } |
1888 | 1888 | } |
1889 | 1889 | // If we are here something wrong |
1890 | - $session->set('user-duo_status',''); |
|
1891 | - $session->set('user-duo_state',''); |
|
1892 | - $session->set('user-duo_data',''); |
|
1890 | + $session->set('user-duo_status', ''); |
|
1891 | + $session->set('user-duo_state', ''); |
|
1892 | + $session->set('user-duo_data', ''); |
|
1893 | 1893 | return [ |
1894 | 1894 | 'error' => true, |
1895 | 1895 | 'message' => $lang->get('duo_login_mismatch'), |
@@ -2045,8 +2045,8 @@ discard block |
||
2045 | 2045 | public function get_user_info($login, $enable_ad_user_auto_creation) { |
2046 | 2046 | $data = DB::queryFirstRow( |
2047 | 2047 | 'SELECT u.*, a.value AS api_key |
2048 | - FROM ' . prefixTable('users') . ' AS u |
|
2049 | - LEFT JOIN ' . prefixTable('api') . ' AS a ON (u.id = a.user_id) |
|
2048 | + FROM ' . prefixTable('users').' AS u |
|
2049 | + LEFT JOIN ' . prefixTable('api').' AS a ON (u.id = a.user_id) |
|
2050 | 2050 | WHERE login = %s AND deleted_at IS NULL', |
2051 | 2051 | $login |
2052 | 2052 | ); |
@@ -2396,15 +2396,15 @@ discard block |
||
2396 | 2396 | |
2397 | 2397 | if ($ret['error'] !== false) { |
2398 | 2398 | logEvents($SETTINGS, 'failed_auth', 'bad_duo_mfa', '', stripslashes($username), stripslashes($username)); |
2399 | - $session->set('user-duo_status',''); |
|
2400 | - $session->set('user-duo_state',''); |
|
2401 | - $session->set('user-duo_data',''); |
|
2399 | + $session->set('user-duo_status', ''); |
|
2400 | + $session->set('user-duo_state', ''); |
|
2401 | + $session->set('user-duo_data', ''); |
|
2402 | 2402 | return [ |
2403 | 2403 | 'error' => true, |
2404 | 2404 | 'mfaData' => $ret, |
2405 | 2405 | 'mfaQRCodeInfos' => false, |
2406 | 2406 | ]; |
2407 | - } else if ($ret['duo_url_ready'] === true){ |
|
2407 | + } else if ($ret['duo_url_ready'] === true) { |
|
2408 | 2408 | return [ |
2409 | 2409 | 'error' => false, |
2410 | 2410 | 'mfaData' => $ret, |
@@ -66,7 +66,7 @@ discard block |
||
66 | 66 | if ($checkUserAccess->checkSession() === false || $checkUserAccess->userAccessPage('items') === false) { |
67 | 67 | // Not allowed page |
68 | 68 | $session->set('system-error_code', ERR_NOT_ALLOWED); |
69 | - include $SETTINGS['cpassman_dir'] . '/error.php'; |
|
69 | + include $SETTINGS['cpassman_dir'].'/error.php'; |
|
70 | 70 | exit; |
71 | 71 | } |
72 | 72 | // Define Timezone |
@@ -87,7 +87,7 @@ discard block |
||
87 | 87 | |
88 | 88 | // Get list of users |
89 | 89 | $usersList = []; |
90 | -$rows = DB::query('SELECT id,login,email FROM ' . prefixTable('users') . ' ORDER BY login ASC'); |
|
90 | +$rows = DB::query('SELECT id,login,email FROM '.prefixTable('users').' ORDER BY login ASC'); |
|
91 | 91 | foreach ($rows as $record) { |
92 | 92 | $usersList[$record['login']] = [ |
93 | 93 | 'id' => $record['id'], |
@@ -98,16 +98,16 @@ discard block |
||
98 | 98 | // Get list of roles |
99 | 99 | $arrRoles = []; |
100 | 100 | $listRoles = ''; |
101 | -$rows = DB::query('SELECT id,title FROM ' . prefixTable('roles_title') . ' ORDER BY title ASC'); |
|
101 | +$rows = DB::query('SELECT id,title FROM '.prefixTable('roles_title').' ORDER BY title ASC'); |
|
102 | 102 | foreach ($rows as $reccord) { |
103 | 103 | $arrRoles[$reccord['title']] = [ |
104 | 104 | 'id' => $reccord['id'], |
105 | 105 | 'title' => $reccord['title'], |
106 | 106 | ]; |
107 | 107 | if (empty($listRoles)) { |
108 | - $listRoles = $reccord['id'] . '#' . $reccord['title']; |
|
108 | + $listRoles = $reccord['id'].'#'.$reccord['title']; |
|
109 | 109 | } else { |
110 | - $listRoles .= ';' . $reccord['id'] . '#' . $reccord['title']; |
|
110 | + $listRoles .= ';'.$reccord['id'].'#'.$reccord['title']; |
|
111 | 111 | } |
112 | 112 | } |
113 | 113 | |
@@ -182,7 +182,7 @@ discard block |
||
182 | 182 | <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> |
183 | 183 | <?php |
184 | 184 | echo isset($SETTINGS['item_extra_fields']) === true && (int) $SETTINGS['item_extra_fields'] === 1 ? ' |
185 | - <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>' : ''; |
|
185 | + <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>' : ''; |
|
186 | 186 | ?> |
187 | 187 | </ul> |
188 | 188 | </div><!-- /.card-header --> |
@@ -251,7 +251,7 @@ discard block |
||
251 | 251 | <?php |
252 | 252 | for ($i = 4; $i <= $SETTINGS['pwd_maximum_length']; ++$i) { |
253 | 253 | echo ' |
254 | - <option>' . $i . '</option>'; |
|
254 | + <option>' . $i.'</option>'; |
|
255 | 255 | } |
256 | 256 | ?> |
257 | 257 | </select> |
@@ -281,7 +281,7 @@ discard block |
||
281 | 281 | <span class="ml-2 col-md-1 clear-me-html" id="form-item-icon-show"></span> |
282 | 282 | </div> |
283 | 283 | <small class='form-text text-muted'> |
284 | - <?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> |
|
284 | + <?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> |
|
285 | 285 | </small> |
286 | 286 | </div> |
287 | 287 | |
@@ -470,38 +470,38 @@ discard block |
||
470 | 470 | <div class="tab-pane" id="tab_4"> |
471 | 471 | <div id="form-item-field" class="hidden"> |
472 | 472 | <?php |
473 | - $session_item_fields = $session->get('system-item_fields');//print_r($session_item_fields); |
|
473 | + $session_item_fields = $session->get('system-item_fields'); //print_r($session_item_fields); |
|
474 | 474 | if (isset($session_item_fields) === true) { |
475 | 475 | foreach ($session_item_fields as $category) {print_r($category); |
476 | 476 | echo ' |
477 | - <div class="callout callout-info form-item-category hidden" id="form-item-category-' . $category['id'] . '"> |
|
478 | - <h5>' . $category['title'] . '</h5> |
|
477 | + <div class="callout callout-info form-item-category hidden" id="form-item-category-' . $category['id'].'"> |
|
478 | + <h5>' . $category['title'].'</h5> |
|
479 | 479 | <p>'; |
480 | 480 | foreach ($category['fields'] as $field) { |
481 | 481 | if ($field['type'] === 'textarea') { |
482 | 482 | echo ' |
483 | - <div class="form-group mb-3 form-item-field" id="form-item-field-' . $field['id'] . '" data-field-id="' . $field['id'] . '"> |
|
483 | + <div class="form-group mb-3 form-item-field" id="form-item-field-' . $field['id'].'" data-field-id="'.$field['id'].'"> |
|
484 | 484 | <label>' . $field['title'], |
485 | 485 | $field['is_mandatory'] === '1' ? |
486 | - '<span class="fa-solid fa-fire text-danger ml-1 infotip" title="' . $lang->get('is_mandatory') . '"></span>' : '', |
|
486 | + '<span class="fa-solid fa-fire text-danger ml-1 infotip" title="'.$lang->get('is_mandatory').'"></span>' : '', |
|
487 | 487 | '</label> |
488 | - <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> |
|
488 | + <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> |
|
489 | 489 | </div>'; |
490 | 490 | } else { |
491 | 491 | echo ' |
492 | - <div class="input-group mb-3 form-item-field" id="form-item-field-' . $field['id'] . '" data-field-id="' . $field['id'] . '"> |
|
492 | + <div class="input-group mb-3 form-item-field" id="form-item-field-' . $field['id'].'" data-field-id="'.$field['id'].'"> |
|
493 | 493 | <div class="input-group-prepend"> |
494 | 494 | <span class="input-group-text">' . $field['title'], |
495 | 495 | $field['is_mandatory'] === '1' ? |
496 | - '<span class="fa-solid fa-fire text-danger ml-1 infotip" title="' . $lang->get('is_mandatory') . '"></span>' : '', |
|
496 | + '<span class="fa-solid fa-fire text-danger ml-1 infotip" title="'.$lang->get('is_mandatory').'"></span>' : '', |
|
497 | 497 | '</span> |
498 | 498 | </div> |
499 | - <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"> |
|
499 | + <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"> |
|
500 | 500 | </div>'; |
501 | 501 | } |
502 | 502 | if (!empty($field['regex'])) { |
503 | 503 | echo ' |
504 | - <div>Regex: '. $field['regex'] .'</div> |
|
504 | + <div>Regex: '. $field['regex'].'</div> |
|
505 | 505 | '; |
506 | 506 | } |
507 | 507 | } |
@@ -512,8 +512,8 @@ discard block |
||
512 | 512 | ) { |
513 | 513 | echo ' |
514 | 514 | <div class="form-check icheck-blue"> |
515 | - <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'] . '"> |
|
516 | - <label class="form-check-label ml-3" for="template_' . $category['id'] . '">' . $lang->get('main_template') . '</label> |
|
515 | + <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'].'"> |
|
516 | + <label class="form-check-label ml-3" for="template_' . $category['id'].'">'.$lang->get('main_template').'</label> |
|
517 | 517 | </div>'; |
518 | 518 | } |
519 | 519 | echo ' |
@@ -523,8 +523,8 @@ discard block |
||
523 | 523 | } else { |
524 | 524 | echo |
525 | 525 | '<div class="alert alert-info"> |
526 | - <h5><i class="icon fa fa-info mr-3"></i>' . $lang->get('information') . '</h5> |
|
527 | - ' . $lang->get('no_fields') . ' |
|
526 | + <h5><i class="icon fa fa-info mr-3"></i>' . $lang->get('information').'</h5> |
|
527 | + ' . $lang->get('no_fields').' |
|
528 | 528 | </div>'; |
529 | 529 | } ?> |
530 | 530 | </div> |
@@ -717,18 +717,18 @@ discard block |
||
717 | 717 | <?php |
718 | 718 | foreach ($session_item_fields as $elem) { |
719 | 719 | echo ' |
720 | - <div class="callout callout-info card-item-category hidden" id="card-item-category-' . $elem['id'] . '"> |
|
721 | - <h5>' . $elem['title'] . '</h5> |
|
720 | + <div class="callout callout-info card-item-category hidden" id="card-item-category-' . $elem['id'].'"> |
|
721 | + <h5>' . $elem['title'].'</h5> |
|
722 | 722 | <p> |
723 | 723 | <ul class="list-group list-group-unbordered mb-3">'; |
724 | 724 | foreach ($elem['fields'] as $field) { |
725 | 725 | echo ' |
726 | - <li class="list-group-item card-item-field hidden" id="card-item-field-' . $field['id'] . '"> |
|
727 | - <span id="card-item-field-title-' . $field['id'] . '"><b>' . $field['title'] . '</b></span> |
|
728 | - <button type="button" class="float-right btn btn-outline-info btn-sm ml-1 btn-copy-clipboard-clear" data-clipboard-target="#card-item-field-value-' . $field['id'] . '"> |
|
726 | + <li class="list-group-item card-item-field hidden" id="card-item-field-' . $field['id'].'"> |
|
727 | + <span id="card-item-field-title-' . $field['id'].'"><b>'.$field['title'].'</b></span> |
|
728 | + <button type="button" class="float-right btn btn-outline-info btn-sm ml-1 btn-copy-clipboard-clear" data-clipboard-target="#card-item-field-value-' . $field['id'].'"> |
|
729 | 729 | <i class="fa-solid fa-copy"></i> |
730 | 730 | </button> |
731 | - <span class="card-item-field-value float-right ml-1" id="card-item-field-value-' . $field['id'] . '"></span> |
|
731 | + <span class="card-item-field-value float-right ml-1" id="card-item-field-value-' . $field['id'].'"></span> |
|
732 | 732 | </li>'; |
733 | 733 | } |
734 | 734 | echo ' |
@@ -1115,7 +1115,7 @@ discard block |
||
1115 | 1115 | <p><?php |
1116 | 1116 | echo str_replace( |
1117 | 1117 | ['##otv_expiration_period##', '. '], |
1118 | - ['<span class="text-bold text-primary">' . $SETTINGS['otv_expiration_period'] . '</span>', '<br>'], |
|
1118 | + ['<span class="text-bold text-primary">'.$SETTINGS['otv_expiration_period'].'</span>', '<br>'], |
|
1119 | 1119 | $lang->get('otv_message') |
1120 | 1120 | ); |
1121 | 1121 | ?></p> |
@@ -1133,9 +1133,9 @@ discard block |
||
1133 | 1133 | |
1134 | 1134 | <div class="row"> |
1135 | 1135 | <div class="form-group col-4"> |
1136 | - <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> |
|
1136 | + <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> |
|
1137 | 1137 | <div class="input-group mb-3"> |
1138 | - <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'];?>"> |
|
1138 | + <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']; ?>"> |
|
1139 | 1139 | </div> |
1140 | 1140 | </div> |
1141 | 1141 | |
@@ -1223,7 +1223,7 @@ discard block |
||
1223 | 1223 | <select class="form-control form-folder-control select2" style="width:100%;" id="form-folder-add-complexicity" required> |
1224 | 1224 | <?php |
1225 | 1225 | foreach (TP_PW_COMPLEXITY as $key => $value) { |
1226 | - echo '<option value="' . $key . '">' . $value[1] . '</option>'; |
|
1226 | + echo '<option value="'.$key.'">'.$value[1].'</option>'; |
|
1227 | 1227 | } |
1228 | 1228 | ?> |
1229 | 1229 | </select> |
@@ -1241,14 +1241,14 @@ discard block |
||
1241 | 1241 | <label><?php echo $lang->get('icon'); ?></label> |
1242 | 1242 | <input type="text" class="form-control form-folder-control" id="form-folder-add-icon"> |
1243 | 1243 | <small class='form-text text-muted'> |
1244 | - <?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> |
|
1244 | + <?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> |
|
1245 | 1245 | </small> |
1246 | 1246 | </div> |
1247 | 1247 | <div class="form-group"> |
1248 | 1248 | <label><?php echo $lang->get('icon_on_selection'); ?></label> |
1249 | 1249 | <input type="text" class="form-control form-folder-control" id="form-folder-add-icon-selected"> |
1250 | 1250 | <small class='form-text text-muted'> |
1251 | - <?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> |
|
1251 | + <?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> |
|
1252 | 1252 | </small> |
1253 | 1253 | </div> |
1254 | 1254 | </div> |
@@ -77,7 +77,7 @@ discard block |
||
77 | 77 | } |
78 | 78 | |
79 | 79 | // Load functions |
80 | -require_once __DIR__. '/includes/config/include.php'; |
|
80 | +require_once __DIR__.'/includes/config/include.php'; |
|
81 | 81 | require_once __DIR__.'/sources/main.functions.php'; |
82 | 82 | //error_log('>>>>> '.SessionManager::getCookieValue('PHPSESSID')); |
83 | 83 | // init |
@@ -106,7 +106,7 @@ discard block |
||
106 | 106 | } |
107 | 107 | |
108 | 108 | // Load Core library |
109 | -require_once $SETTINGS['cpassman_dir'] . '/sources/core.php'; |
|
109 | +require_once $SETTINGS['cpassman_dir'].'/sources/core.php'; |
|
110 | 110 | // Prepare POST variables |
111 | 111 | $post_language = filter_input(INPUT_POST, 'language', FILTER_SANITIZE_FULL_SPECIAL_CHARS); |
112 | 112 | $session_user_language = $session->get('user-language'); |
@@ -132,8 +132,8 @@ discard block |
||
132 | 132 | //get default language |
133 | 133 | $dataLanguage = DB::queryFirstRow( |
134 | 134 | 'SELECT m.valeur AS valeur, l.flag AS flag |
135 | - FROM ' . prefixTable('misc') . ' AS m |
|
136 | - INNER JOIN ' . prefixTable('languages') . ' AS l ON (m.valeur = l.name) |
|
135 | + FROM ' . prefixTable('misc').' AS m |
|
136 | + INNER JOIN ' . prefixTable('languages').' AS l ON (m.valeur = l.name) |
|
137 | 137 | WHERE m.type=%s_type AND m.intitule=%s_intitule', |
138 | 138 | [ |
139 | 139 | 'type' => 'admin', |
@@ -164,7 +164,7 @@ discard block |
||
164 | 164 | $session_user_language = $SETTINGS['default_language']; |
165 | 165 | } |
166 | 166 | } |
167 | -$lang = new Language($session_user_language, __DIR__. '/includes/language/'); |
|
167 | +$lang = new Language($session_user_language, __DIR__.'/includes/language/'); |
|
168 | 168 | |
169 | 169 | if (isset($SETTINGS['cpassman_dir']) === false || $SETTINGS['cpassman_dir'] === '') { |
170 | 170 | $SETTINGS['cpassman_dir'] = __DIR__; |
@@ -226,10 +226,10 @@ discard block |
||
226 | 226 | <!-- Toastr --> |
227 | 227 | <link rel="stylesheet" href="plugins/toastr/toastr.min.css" /> |
228 | 228 | <!-- favicon --> |
229 | - <link rel="shortcut icon" type="image/png" href="<?php echo $SETTINGS['favicon'];?>"/> |
|
229 | + <link rel="shortcut icon" type="image/png" href="<?php echo $SETTINGS['favicon']; ?>"/> |
|
230 | 230 | <!-- Custom style --> |
231 | 231 | <?php |
232 | - if (file_exists(__DIR__ . '/includes/css/custom.css') === true) {?> |
|
232 | + if (file_exists(__DIR__.'/includes/css/custom.css') === true) {?> |
|
233 | 233 | <link rel="stylesheet" href="includes/css/custom.css"> |
234 | 234 | <?php |
235 | 235 | } ?> |
@@ -293,7 +293,7 @@ discard block |
||
293 | 293 | <div class="dropdown show"> |
294 | 294 | <a class="btn btn-primary dropdown-toggle" href="#" data-toggle="dropdown"> |
295 | 295 | <?php |
296 | - echo $session_name . ' ' . $session_lastname; ?> |
|
296 | + echo $session_name.' '.$session_lastname; ?> |
|
297 | 297 | </a> |
298 | 298 | |
299 | 299 | <div class="dropdown-menu dropdown-menu-right"> |
@@ -317,7 +317,7 @@ discard block |
||
317 | 317 | </a> |
318 | 318 | <?php |
319 | 319 | } ?> |
320 | - <a class="dropdown-item user-menu<?php echo (int) $session_user_admin === 1 ? ' hidden' : '';?>" href="#" data-name="generate-new_keys"> |
|
320 | + <a class="dropdown-item user-menu<?php echo (int) $session_user_admin === 1 ? ' hidden' : ''; ?>" href="#" data-name="generate-new_keys"> |
|
321 | 321 | <i class="fa-solid fa-spray-can-sparkles fa-fw mr-2"></i><?php echo $lang->get('generate_new_keys'); ?> |
322 | 322 | </a> |
323 | 323 | |
@@ -346,7 +346,7 @@ discard block |
||
346 | 346 | <!-- Main Sidebar Container --> |
347 | 347 | <aside class="main-sidebar sidebar-dark-primary elevation-4"> |
348 | 348 | <!-- Brand Logo --> |
349 | - <a href="<?php echo $SETTINGS['cpassman_url'] . '/index.php?page=' . ((int) $session_user_admin === 1 ? 'admin' : 'items'); ?>" class="brand-link"> |
|
349 | + <a href="<?php echo $SETTINGS['cpassman_url'].'/index.php?page='.((int) $session_user_admin === 1 ? 'admin' : 'items'); ?>" class="brand-link"> |
|
350 | 350 | <img src="includes/images/teampass-logo2-home.png" alt="Teampass Logo" class="brand-image"> |
351 | 351 | <span class="brand-text font-weight-light"><?php echo TP_TOOL_NAME; ?></span> |
352 | 352 | </a> |
@@ -364,20 +364,20 @@ discard block |
||
364 | 364 | <a href="#" data-name="items" class="nav-link', $get['page'] === 'items' ? ' active' : '', '"> |
365 | 365 | <i class="nav-icon fa-solid fa-key"></i> |
366 | 366 | <p> |
367 | - ' . $lang->get('pw') . ' |
|
367 | + ' . $lang->get('pw').' |
|
368 | 368 | </p> |
369 | 369 | </a> |
370 | 370 | </li>'; |
371 | 371 | } |
372 | 372 | |
373 | 373 | // IMPORT menu |
374 | - if (isset($SETTINGS['allow_import']) === true && (int) $SETTINGS['allow_import'] === 1&& $session_user_admin === 0) { |
|
374 | + if (isset($SETTINGS['allow_import']) === true && (int) $SETTINGS['allow_import'] === 1 && $session_user_admin === 0) { |
|
375 | 375 | echo ' |
376 | 376 | <li class="nav-item"> |
377 | 377 | <a href="#" data-name="import" class="nav-link', $get['page'] === 'import' ? ' active' : '', '"> |
378 | 378 | <i class="nav-icon fa-solid fa-file-import"></i> |
379 | 379 | <p> |
380 | - ' . $lang->get('import') . ' |
|
380 | + ' . $lang->get('import').' |
|
381 | 381 | </p> |
382 | 382 | </a> |
383 | 383 | </li>'; |
@@ -398,7 +398,7 @@ discard block |
||
398 | 398 | <a href="#" data-name="export" class="nav-link', $get['page'] === 'export' ? ' active' : '', '"> |
399 | 399 | <i class="nav-icon fa-solid fa-file-export"></i> |
400 | 400 | <p> |
401 | - ' . $lang->get('export') . ' |
|
401 | + ' . $lang->get('export').' |
|
402 | 402 | </p> |
403 | 403 | </a> |
404 | 404 | </li>'; |
@@ -425,7 +425,7 @@ discard block |
||
425 | 425 | <a href="#" data-name="search" class="nav-link', $get['page'] === 'search' ? ' active' : '', '"> |
426 | 426 | <i class="nav-icon fa-solid fa-search"></i> |
427 | 427 | <p> |
428 | - ' . $lang->get('find') . ' |
|
428 | + ' . $lang->get('find').' |
|
429 | 429 | </p> |
430 | 430 | </a> |
431 | 431 | </li>'; |
@@ -441,7 +441,7 @@ discard block |
||
441 | 441 | <a href="#" data-name="favourites" class="nav-link', $get['page'] === 'admin' ? ' favourites' : '', '"> |
442 | 442 | <i class="nav-icon fa-solid fa-star"></i> |
443 | 443 | <p> |
444 | - ' . $lang->get('favorites') . ' |
|
444 | + ' . $lang->get('favorites').' |
|
445 | 445 | </p> |
446 | 446 | </a> |
447 | 447 | </li>'; |
@@ -471,7 +471,7 @@ discard block |
||
471 | 471 | <a href="#" data-name="suggestion" class="nav-link', $get['page'] === 'suggestion' ? ' active' : '', '"> |
472 | 472 | <i class="nav-icon fa-solid fa-lightbulb"></i> |
473 | 473 | <p> |
474 | - ' . $lang->get('suggestion_menu') . ' |
|
474 | + ' . $lang->get('suggestion_menu').' |
|
475 | 475 | </p> |
476 | 476 | </a> |
477 | 477 | </li>'; |
@@ -484,7 +484,7 @@ discard block |
||
484 | 484 | <a href="#" data-name="admin" class="nav-link', $get['page'] === 'admin' ? ' active' : '', '"> |
485 | 485 | <i class="nav-icon fa-solid fa-info"></i> |
486 | 486 | <p> |
487 | - ' . $lang->get('admin_main') . ' |
|
487 | + ' . $lang->get('admin_main').' |
|
488 | 488 | </p> |
489 | 489 | </a> |
490 | 490 | </li> |
@@ -492,7 +492,7 @@ discard block |
||
492 | 492 | <a href="#" class="nav-link"> |
493 | 493 | <i class="nav-icon fa-solid fa-wrench"></i> |
494 | 494 | <p> |
495 | - ' . $lang->get('admin_settings') . ' |
|
495 | + ' . $lang->get('admin_settings').' |
|
496 | 496 | <i class="fa-solid fa-angle-left right"></i> |
497 | 497 | </p> |
498 | 498 | </a> |
@@ -500,55 +500,55 @@ discard block |
||
500 | 500 | <li class="nav-item"> |
501 | 501 | <a href="#" data-name="options" class="nav-link', $get['page'] === 'options' ? ' active' : '', '"> |
502 | 502 | <i class="fa-solid fa-check-double nav-icon"></i> |
503 | - <p>' . $lang->get('options') . '</p> |
|
503 | + <p>' . $lang->get('options').'</p> |
|
504 | 504 | </a> |
505 | 505 | </li> |
506 | 506 | <li class="nav-item"> |
507 | 507 | <a href="#" data-name="2fa" class="nav-link', $get['page'] === '2fa' ? ' active' : '', '"> |
508 | 508 | <i class="fa-solid fa-qrcode nav-icon"></i> |
509 | - <p>' . $lang->get('mfa_short') . '</p> |
|
509 | + <p>' . $lang->get('mfa_short').'</p> |
|
510 | 510 | </a> |
511 | 511 | </li> |
512 | 512 | <li class="nav-item"> |
513 | 513 | <a href="#" data-name="api" class="nav-link', $get['page'] === 'api' ? ' active' : '', '"> |
514 | 514 | <i class="fa-solid fa-cubes nav-icon"></i> |
515 | - <p>' . $lang->get('api') . '</p> |
|
515 | + <p>' . $lang->get('api').'</p> |
|
516 | 516 | </a> |
517 | 517 | </li> |
518 | 518 | <li class="nav-item"> |
519 | 519 | <a href="#" data-name="backups" class="nav-link', $get['page'] === 'backups' ? ' active' : '', '"> |
520 | 520 | <i class="fa-solid fa-database nav-icon"></i> |
521 | - <p>' . $lang->get('backups') . '</p> |
|
521 | + <p>' . $lang->get('backups').'</p> |
|
522 | 522 | </a> |
523 | 523 | </li> |
524 | 524 | <li class="nav-item"> |
525 | 525 | <a href="#" data-name="emails" class="nav-link', $get['page'] === 'emails' ? ' active' : '', '"> |
526 | 526 | <i class="fa-solid fa-envelope nav-icon"></i> |
527 | - <p>' . $lang->get('emails') . '</p> |
|
527 | + <p>' . $lang->get('emails').'</p> |
|
528 | 528 | </a> |
529 | 529 | </li> |
530 | 530 | <li class="nav-item"> |
531 | 531 | <a href="#" data-name="fields" class="nav-link', $get['page'] === 'fields' ? ' active' : '', '"> |
532 | 532 | <i class="fa-solid fa-keyboard nav-icon"></i> |
533 | - <p>' . $lang->get('fields') . '</p> |
|
533 | + <p>' . $lang->get('fields').'</p> |
|
534 | 534 | </a> |
535 | 535 | </li> |
536 | 536 | <li class="nav-item"> |
537 | 537 | <a href="#" data-name="ldap" class="nav-link', $get['page'] === 'ldap' ? ' active' : '', '"> |
538 | 538 | <i class="fa-solid fa-id-card nav-icon"></i> |
539 | - <p>' . $lang->get('ldap') . '</p> |
|
539 | + <p>' . $lang->get('ldap').'</p> |
|
540 | 540 | </a> |
541 | 541 | </li> |
542 | 542 | <li class="nav-item"> |
543 | 543 | <a href="#" data-name="uploads" class="nav-link', $get['page'] === 'uploads' ? ' active' : '', '"> |
544 | 544 | <i class="fa-solid fa-file-upload nav-icon"></i> |
545 | - <p>' . $lang->get('uploads') . '</p> |
|
545 | + <p>' . $lang->get('uploads').'</p> |
|
546 | 546 | </a> |
547 | 547 | </li> |
548 | 548 | <li class="nav-item"> |
549 | 549 | <a href="#" data-name="statistics" class="nav-link', $get['page'] === 'statistics' ? ' active' : '', '"> |
550 | 550 | <i class="fa-solid fa-chart-bar nav-icon"></i> |
551 | - <p>' . $lang->get('statistics') . '</p> |
|
551 | + <p>' . $lang->get('statistics').'</p> |
|
552 | 552 | </a> |
553 | 553 | </li> |
554 | 554 | </ul> |
@@ -559,7 +559,7 @@ discard block |
||
559 | 559 | <li class="nav-item"> |
560 | 560 | <a href="#" data-name="tasks" class="nav-link', $get['page'] === 'tasks' ? ' active' : '', '"> |
561 | 561 | <i class="fa-solid fa-tasks nav-icon"></i> |
562 | - <p>' . $lang->get('tasks') . '</p> |
|
562 | + <p>' . $lang->get('tasks').'</p> |
|
563 | 563 | </a> |
564 | 564 | </li>'; |
565 | 565 | } |
@@ -575,7 +575,7 @@ discard block |
||
575 | 575 | <a href="#" data-name="folders" class="nav-link', $get['page'] === 'folders' ? ' active' : '', '"> |
576 | 576 | <i class="nav-icon fa-solid fa-folder-open"></i> |
577 | 577 | <p> |
578 | - ' . $lang->get('folders') . ' |
|
578 | + ' . $lang->get('folders').' |
|
579 | 579 | </p> |
580 | 580 | </a> |
581 | 581 | </li> |
@@ -583,7 +583,7 @@ discard block |
||
583 | 583 | <a href="#" data-name="roles" class="nav-link', $get['page'] === 'roles' ? ' active' : '', '"> |
584 | 584 | <i class="nav-icon fa-solid fa-graduation-cap"></i> |
585 | 585 | <p> |
586 | - ' . $lang->get('roles') . ' |
|
586 | + ' . $lang->get('roles').' |
|
587 | 587 | </p> |
588 | 588 | </a> |
589 | 589 | </li> |
@@ -591,38 +591,38 @@ discard block |
||
591 | 591 | <a href="#" data-name="users" class="nav-link', $get['page'] === 'users' ? ' active' : '', '"> |
592 | 592 | <i class="nav-icon fa-solid fa-users"></i> |
593 | 593 | <p> |
594 | - ' . $lang->get('users') . ' |
|
594 | + ' . $lang->get('users').' |
|
595 | 595 | </p> |
596 | 596 | </a> |
597 | 597 | </li> |
598 | 598 | <li class="nav-item has-treeview', $menuUtilities === true ? ' menu-open' : '', '"> |
599 | 599 | <a href="#" class="nav-link"> |
600 | 600 | <i class="nav-icon fa-solid fa-cubes"></i> |
601 | - <p>' . $lang->get('admin_views') . '<i class="fa-solid fa-angle-left right"></i></p> |
|
601 | + <p>' . $lang->get('admin_views').'<i class="fa-solid fa-angle-left right"></i></p> |
|
602 | 602 | </a> |
603 | 603 | <ul class="nav nav-treeview"> |
604 | 604 | <li class="nav-item"> |
605 | 605 | <a href="#" data-name="utilities.renewal" class="nav-link', $get['page'] === 'utilities.renewal' ? ' active' : '', '"> |
606 | 606 | <i class="far fa-calendar-alt nav-icon"></i> |
607 | - <p>' . $lang->get('renewal') . '</p> |
|
607 | + <p>' . $lang->get('renewal').'</p> |
|
608 | 608 | </a> |
609 | 609 | </li> |
610 | 610 | <li class="nav-item"> |
611 | 611 | <a href="#" data-name="utilities.deletion" class="nav-link', $get['page'] === 'utilities.deletion' ? ' active' : '', '"> |
612 | 612 | <i class="fa-solid fa-trash-alt nav-icon"></i> |
613 | - <p>' . $lang->get('deletion') . '</p> |
|
613 | + <p>' . $lang->get('deletion').'</p> |
|
614 | 614 | </a> |
615 | 615 | </li> |
616 | 616 | <li class="nav-item"> |
617 | 617 | <a href="#" data-name="utilities.logs" class="nav-link', $get['page'] === 'utilities.logs' ? ' active' : '', '"> |
618 | 618 | <i class="fa-solid fa-history nav-icon"></i> |
619 | - <p>' . $lang->get('logs') . '</p> |
|
619 | + <p>' . $lang->get('logs').'</p> |
|
620 | 620 | </a> |
621 | 621 | </li> |
622 | 622 | <li class="nav-item"> |
623 | 623 | <a href="#" data-name="utilities.database" class="nav-link', $get['page'] === 'utilities.database' ? ' active' : '', '"> |
624 | 624 | <i class="fa-solid fa-database nav-icon"></i> |
625 | - <p>' . $lang->get('database') . '</p> |
|
625 | + <p>' . $lang->get('database').'</p> |
|
626 | 626 | </a> |
627 | 627 | </li> |
628 | 628 | </ul> |
@@ -633,10 +633,10 @@ discard block |
||
633 | 633 | <!-- /.sidebar-menu --> |
634 | 634 | <div class="menu-footer"> |
635 | 635 | <div class="" id="sidebar-footer"> |
636 | - <i class="fa-solid fa-clock-o mr-2 infotip text-info pointer" title="<?php echo $lang->get('server_time') . ' ' . |
|
637 | - date($SETTINGS['date_format'], (int) $server['request_time']) . ' - ' . |
|
636 | + <i class="fa-solid fa-clock-o mr-2 infotip text-info pointer" title="<?php echo $lang->get('server_time').' '. |
|
637 | + date($SETTINGS['date_format'], (int) $server['request_time']).' - '. |
|
638 | 638 | date($SETTINGS['time_format'], (int) $server['request_time']); ?>"></i> |
639 | - <i class="fa-solid fa-users mr-2 infotip text-info pointer" title="<?php echo $session_nb_users_online . ' ' . $lang->get('users_online'); ?>"></i> |
|
639 | + <i class="fa-solid fa-users mr-2 infotip text-info pointer" title="<?php echo $session_nb_users_online.' '.$lang->get('users_online'); ?>"></i> |
|
640 | 640 | <a href="<?php echo DOCUMENTATION_URL; ?>" target="_blank" class="text-info"><i class="fa-solid fa-book mr-2 infotip" title="<?php echo $lang->get('documentation_canal'); ?>"></i></a> |
641 | 641 | <a href="<?php echo HELP_URL; ?>" target="_blank" class="text-info"><i class="fa-solid fa-life-ring mr-2 infotip" title="<?php echo $lang->get('admin_help'); ?>"></i></a> |
642 | 642 | <i class="fa-solid fa-bug infotip pointer text-info" title="<?php echo $lang->get('bugs_page'); ?>" onclick="generateBugReport()"></i> |
@@ -940,18 +940,18 @@ discard block |
||
940 | 940 | } elseif ($get['page'] === 'items') { |
941 | 941 | // SHow page with Items |
942 | 942 | if ((int) $session_user_admin !== 1) { |
943 | - include $SETTINGS['cpassman_dir'] . '/pages/items.php'; |
|
943 | + include $SETTINGS['cpassman_dir'].'/pages/items.php'; |
|
944 | 944 | } elseif ((int) $session_user_admin === 1) { |
945 | - include $SETTINGS['cpassman_dir'] . '/pages/admin.php'; |
|
945 | + include $SETTINGS['cpassman_dir'].'/pages/admin.php'; |
|
946 | 946 | } else { |
947 | 947 | $session->set('system-error_code', ERR_NOT_ALLOWED); |
948 | 948 | //not allowed page |
949 | - include $SETTINGS['cpassman_dir'] . '/error.php'; |
|
949 | + include $SETTINGS['cpassman_dir'].'/error.php'; |
|
950 | 950 | } |
951 | 951 | } elseif (in_array($get['page'], array_keys($mngPages)) === true) { |
952 | 952 | // Define if user is allowed to see management pages |
953 | 953 | if ($session_user_admin === 1) { |
954 | - include $SETTINGS['cpassman_dir'] . '/pages/' . $mngPages[$get['page']]; |
|
954 | + include $SETTINGS['cpassman_dir'].'/pages/'.$mngPages[$get['page']]; |
|
955 | 955 | } elseif ($session_user_manager === 1 || $session_user_human_resources === 1) { |
956 | 956 | if ($get['page'] !== 'manage_main' |
957 | 957 | && $get['page'] !== 'manage_settings' |
@@ -960,15 +960,15 @@ discard block |
||
960 | 960 | } else { |
961 | 961 | $session->set('system-error_code', ERR_NOT_ALLOWED); |
962 | 962 | //not allowed page |
963 | - include $SETTINGS['cpassman_dir'] . '/error.php'; |
|
963 | + include $SETTINGS['cpassman_dir'].'/error.php'; |
|
964 | 964 | } |
965 | 965 | } else { |
966 | 966 | $session->set('system-error_code', ERR_NOT_ALLOWED); |
967 | 967 | //not allowed page |
968 | - include $SETTINGS['cpassman_dir'] . '/error.php'; |
|
968 | + include $SETTINGS['cpassman_dir'].'/error.php'; |
|
969 | 969 | } |
970 | 970 | } elseif (empty($get['page']) === false) { |
971 | - include $SETTINGS['cpassman_dir'] . '/pages/' . $get['page'] . '.php'; |
|
971 | + include $SETTINGS['cpassman_dir'].'/pages/'.$get['page'].'.php'; |
|
972 | 972 | } else { |
973 | 973 | $session->set('system-array_roles', ERR_NOT_EXIST); |
974 | 974 | //page doesn't exist |
@@ -1017,7 +1017,7 @@ discard block |
||
1017 | 1017 | echo ' |
1018 | 1018 | <input type="hidden" id="temps_restant" value="', $session->get('user-session_duration') ?? '', '" />'; |
1019 | 1019 | // display an item in the context of OTV link |
1020 | -} elseif ((null === $session->get('user-validite_pw')|| empty($session->get('user-validite_pw')) === true || empty($session->get('user-id')) === true) |
|
1020 | +} elseif ((null === $session->get('user-validite_pw') || empty($session->get('user-validite_pw')) === true || empty($session->get('user-id')) === true) |
|
1021 | 1021 | && empty($get['otv']) === false |
1022 | 1022 | ) { |
1023 | 1023 | // case where one-shot viewer |
@@ -1036,7 +1036,7 @@ discard block |
||
1036 | 1036 | FILTER_SANITIZE_URL |
1037 | 1037 | ) |
1038 | 1038 | ); |
1039 | - include $SETTINGS['cpassman_dir'] . '/error.php'; |
|
1039 | + include $SETTINGS['cpassman_dir'].'/error.php'; |
|
1040 | 1040 | } |
1041 | 1041 | } elseif (//(empty($session->get('user-id')) === false && $session->get('user-id') !== null) || |
1042 | 1042 | empty($session->get('user-id')) === true |
@@ -1069,7 +1069,7 @@ discard block |
||
1069 | 1069 | $session->set('user-initial_url', ''); |
1070 | 1070 | |
1071 | 1071 | // LOGIN form |
1072 | - include $SETTINGS['cpassman_dir'] . '/includes/core/login.php'; |
|
1072 | + include $SETTINGS['cpassman_dir'].'/includes/core/login.php'; |
|
1073 | 1073 | } else { |
1074 | 1074 | // Clear session |
1075 | 1075 | $session->invalidate(); |
@@ -1287,61 +1287,61 @@ discard block |
||
1287 | 1287 | |
1288 | 1288 | // Load links, css and javascripts |
1289 | 1289 | if (isset($SETTINGS['cpassman_dir']) === true) { |
1290 | - include_once $SETTINGS['cpassman_dir'] . '/includes/core/load.js.php'; |
|
1290 | + include_once $SETTINGS['cpassman_dir'].'/includes/core/load.js.php'; |
|
1291 | 1291 | if ($menuAdmin === true) { |
1292 | - include_once $SETTINGS['cpassman_dir'] . '/pages/admin.js.php'; |
|
1292 | + include_once $SETTINGS['cpassman_dir'].'/pages/admin.js.php'; |
|
1293 | 1293 | if ($get['page'] === '2fa') { |
1294 | - include_once $SETTINGS['cpassman_dir'] . '/pages/2fa.js.php'; |
|
1294 | + include_once $SETTINGS['cpassman_dir'].'/pages/2fa.js.php'; |
|
1295 | 1295 | } elseif ($get['page'] === 'api') { |
1296 | - include_once $SETTINGS['cpassman_dir'] . '/pages/api.js.php'; |
|
1296 | + include_once $SETTINGS['cpassman_dir'].'/pages/api.js.php'; |
|
1297 | 1297 | } elseif ($get['page'] === 'backups') { |
1298 | - include_once $SETTINGS['cpassman_dir'] . '/pages/backups.js.php'; |
|
1298 | + include_once $SETTINGS['cpassman_dir'].'/pages/backups.js.php'; |
|
1299 | 1299 | } elseif ($get['page'] === 'emails') { |
1300 | - include_once $SETTINGS['cpassman_dir'] . '/pages/emails.js.php'; |
|
1300 | + include_once $SETTINGS['cpassman_dir'].'/pages/emails.js.php'; |
|
1301 | 1301 | } elseif ($get['page'] === 'ldap') { |
1302 | - include_once $SETTINGS['cpassman_dir'] . '/pages/ldap.js.php'; |
|
1302 | + include_once $SETTINGS['cpassman_dir'].'/pages/ldap.js.php'; |
|
1303 | 1303 | } elseif ($get['page'] === 'uploads') { |
1304 | - include_once $SETTINGS['cpassman_dir'] . '/pages/uploads.js.php'; |
|
1304 | + include_once $SETTINGS['cpassman_dir'].'/pages/uploads.js.php'; |
|
1305 | 1305 | } elseif ($get['page'] === 'fields') { |
1306 | - include_once $SETTINGS['cpassman_dir'] . '/pages/fields.js.php'; |
|
1306 | + include_once $SETTINGS['cpassman_dir'].'/pages/fields.js.php'; |
|
1307 | 1307 | } elseif ($get['page'] === 'options') { |
1308 | - include_once $SETTINGS['cpassman_dir'] . '/pages/options.js.php'; |
|
1308 | + include_once $SETTINGS['cpassman_dir'].'/pages/options.js.php'; |
|
1309 | 1309 | } elseif ($get['page'] === 'statistics') { |
1310 | - include_once $SETTINGS['cpassman_dir'] . '/pages/statistics.js.php'; |
|
1310 | + include_once $SETTINGS['cpassman_dir'].'/pages/statistics.js.php'; |
|
1311 | 1311 | } elseif ($get['page'] === 'tasks') { |
1312 | - include_once $SETTINGS['cpassman_dir'] . '/pages/tasks.js.php'; |
|
1312 | + include_once $SETTINGS['cpassman_dir'].'/pages/tasks.js.php'; |
|
1313 | 1313 | } |
1314 | 1314 | } elseif (isset($get['page']) === true && $get['page'] !== '') { |
1315 | 1315 | if ($get['page'] === 'items') { |
1316 | - include_once $SETTINGS['cpassman_dir'] . '/pages/items.js.php'; |
|
1316 | + include_once $SETTINGS['cpassman_dir'].'/pages/items.js.php'; |
|
1317 | 1317 | } elseif ($get['page'] === 'import') { |
1318 | - include_once $SETTINGS['cpassman_dir'] . '/pages/import.js.php'; |
|
1318 | + include_once $SETTINGS['cpassman_dir'].'/pages/import.js.php'; |
|
1319 | 1319 | } elseif ($get['page'] === 'export') { |
1320 | - include_once $SETTINGS['cpassman_dir'] . '/pages/export.js.php'; |
|
1320 | + include_once $SETTINGS['cpassman_dir'].'/pages/export.js.php'; |
|
1321 | 1321 | } elseif ($get['page'] === 'offline') { |
1322 | - include_once $SETTINGS['cpassman_dir'] . '/pages/offline.js.php'; |
|
1322 | + include_once $SETTINGS['cpassman_dir'].'/pages/offline.js.php'; |
|
1323 | 1323 | } elseif ($get['page'] === 'search') { |
1324 | - include_once $SETTINGS['cpassman_dir'] . '/pages/search.js.php'; |
|
1324 | + include_once $SETTINGS['cpassman_dir'].'/pages/search.js.php'; |
|
1325 | 1325 | } elseif ($get['page'] === 'profile') { |
1326 | - include_once $SETTINGS['cpassman_dir'] . '/pages/profile.js.php'; |
|
1326 | + include_once $SETTINGS['cpassman_dir'].'/pages/profile.js.php'; |
|
1327 | 1327 | } elseif ($get['page'] === 'favourites') { |
1328 | - include_once $SETTINGS['cpassman_dir'] . '/pages/favorites.js.php'; |
|
1328 | + include_once $SETTINGS['cpassman_dir'].'/pages/favorites.js.php'; |
|
1329 | 1329 | } elseif ($get['page'] === 'folders') { |
1330 | - include_once $SETTINGS['cpassman_dir'] . '/pages/folders.js.php'; |
|
1330 | + include_once $SETTINGS['cpassman_dir'].'/pages/folders.js.php'; |
|
1331 | 1331 | } elseif ($get['page'] === 'users') { |
1332 | - include_once $SETTINGS['cpassman_dir'] . '/pages/users.js.php'; |
|
1332 | + include_once $SETTINGS['cpassman_dir'].'/pages/users.js.php'; |
|
1333 | 1333 | } elseif ($get['page'] === 'roles') { |
1334 | - include_once $SETTINGS['cpassman_dir'] . '/pages/roles.js.php'; |
|
1334 | + include_once $SETTINGS['cpassman_dir'].'/pages/roles.js.php'; |
|
1335 | 1335 | } elseif ($get['page'] === 'utilities.deletion') { |
1336 | - include_once $SETTINGS['cpassman_dir'] . '/pages/utilities.deletion.js.php'; |
|
1336 | + include_once $SETTINGS['cpassman_dir'].'/pages/utilities.deletion.js.php'; |
|
1337 | 1337 | } elseif ($get['page'] === 'utilities.logs') { |
1338 | - include_once $SETTINGS['cpassman_dir'] . '/pages/utilities.logs.js.php'; |
|
1338 | + include_once $SETTINGS['cpassman_dir'].'/pages/utilities.logs.js.php'; |
|
1339 | 1339 | } elseif ($get['page'] === 'utilities.database') { |
1340 | - include_once $SETTINGS['cpassman_dir'] . '/pages/utilities.database.js.php'; |
|
1340 | + include_once $SETTINGS['cpassman_dir'].'/pages/utilities.database.js.php'; |
|
1341 | 1341 | } elseif ($get['page'] === 'utilities.renewal') { |
1342 | - include_once $SETTINGS['cpassman_dir'] . '/pages/utilities.renewal.js.php'; |
|
1342 | + include_once $SETTINGS['cpassman_dir'].'/pages/utilities.renewal.js.php'; |
|
1343 | 1343 | } |
1344 | 1344 | } else { |
1345 | - include_once $SETTINGS['cpassman_dir'] . '/includes/core/login.js.php'; |
|
1345 | + include_once $SETTINGS['cpassman_dir'].'/includes/core/login.js.php'; |
|
1346 | 1346 | } |
1347 | 1347 | } |