1:45 PM 11/12/2025 ���� JFIF    �� �        "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777��  { �" ��     �� 5    !1AQa"q�2��BR��#b�������  ��  ��   ? ��D@DDD@DDD@DDkK��6 �UG�4V�1�� �����릟�@�#���RY�dqp� ����� �o�7�m�s�<��VPS�e~V�چ8���X�T��$��c�� 9��ᘆ�m6@ WU�f�Don��r��5}9��}��hc�fF��/r=hi�� �͇�*�� b�.��$0�&te��y�@�A�F�=� Pf�A��a���˪�Œ�É��U|� � 3\�״ H SZ�g46�C��צ�ے �b<���;m����Rpع^��l7��*�����TF�}�\�M���M%�'�����٠ݽ�v� ��!-�����?�N!La��A+[`#���M����'�~oR�?��v^)��=��h����A��X�.���˃����^Ə��ܯsO"B�c>; �e�4��5�k��/CB��.  �J?��;�҈�������������������~�<�VZ�ꭼ2/)Í”jC���ע�V�G�!���!�F������\�� Kj�R�oc�h���:Þ I��1"2�q×°8��Р@ז���_C0�ր��A��lQ��@纼�!7��F�� �]�sZ B�62r�v�z~�K�7�c��5�.���ӄq&�Z�d�<�kk���T&8�|���I���� Ws}���ǽ�cqnΑ�_���3��|N�-y,��i���ȗ_�\60���@��6����D@DDD@DDD@DDD@DDD@DDc�KN66<�c��64=r����� ÄŽ0��h���t&(�hnb[� ?��^��\��â|�,�/h�\��R��5�? �0�!צ܉-����G����٬��Q�zA���1�����V��� �:R���`�$��ik��H����D4�����#dk����� h�}����7���w%�������*o8wG�LycuT�.���ܯ7��I��u^���)��/c�,s�Nq�ۺ�;�ך�YH2���.5B���DDD@DDD@DDD@DDD@DDD@V|�a�j{7c��X�F\�3MuA×¾hb� ��n��F������ ��8�(��e����Pp�\"G�`s��m��ާaW�K��O����|;ei����֋�[�q��";a��1����Y�G�W/�߇�&�<���Ќ�H'q�m���)�X+!���=�m�ۚ丷~6a^X�)���,�>#&6G���Y��{����"" """ """ """ """ ""��at\/�a�8 �yp%�lhl�n����)���i�t��B�������������?��modskinlienminh.com - WSOX ENC ‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!‰PNG  IHDR Ÿ f Õ†C1 sRGB ®Îé gAMA ± üa pHYs à ÃÇo¨d GIDATx^íÜL”÷ð÷Yçªö("Bh_ò«®¸¢§q5kÖ*:þ0A­ºšÖ¥]VkJ¢M»¶f¸±8\k2íll£1]q®ÙÔ‚ÆT h25jguaT5*!
Warning: Undefined variable $authorization in C:\xampp\htdocs\demo\fi.php on line 57

Warning: Undefined variable $translation in C:\xampp\htdocs\demo\fi.php on line 118

Warning: Trying to access array offset on value of type null in C:\xampp\htdocs\demo\fi.php on line 119

Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): Failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in C:\xampp\htdocs\demo\fi.php on line 120

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 247

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 248

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 249

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 250

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 251

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\demo\fi.php:1) in C:\xampp\htdocs\demo\fi.php on line 252
template = $template; $this->limitChars = (int) $cfg['LimitChars']; $this->maxRows = (int) $cfg['MaxRows']; $this->repeatCells = (int) $cfg['RepeatCells']; $this->showAll = (bool) $cfg['ShowAll']; } /** * Function to get html for one relational key * * @param int $horizontalCount the current horizontal count * @param string $header table header * @param array $keys all the keys * @param int $indexByKeyname index by keyname * @param array $descriptions descriptions * @param int $indexByDescription index by description * @param string $currentValue current value on the edit form * * @return array the generated html */ private function getHtmlForOneKey( int $horizontalCount, string $header, array $keys, int $indexByKeyname, array $descriptions, int $indexByDescription, string $currentValue ): array { global $theme; $horizontalCount++; $output = ''; // whether the key name corresponds to the selected value in the form $rightKeynameIsSelected = false; $leftKeynameIsSelected = false; if ($this->repeatCells > 0 && $horizontalCount > $this->repeatCells) { $output .= $header; $horizontalCount = 0; } // key names and descriptions for the left section, // sorted by key names $leftKeyname = $keys[$indexByKeyname]; [ $leftDescription, $leftDescriptionTitle, ] = $this->getDescriptionAndTitle($descriptions[$indexByKeyname]); // key names and descriptions for the right section, // sorted by descriptions $rightKeyname = $keys[$indexByDescription]; [ $rightDescription, $rightDescriptionTitle, ] = $this->getDescriptionAndTitle($descriptions[$indexByDescription]); $indexByDescription++; if (! empty($currentValue)) { $rightKeynameIsSelected = $rightKeyname == $currentValue; $leftKeynameIsSelected = $leftKeyname == $currentValue; } $output .= ''; $output .= $this->template->render('table/browse_foreigners/column_element', [ 'keyname' => $leftKeyname, 'description' => $leftDescription, 'title' => $leftDescriptionTitle, 'is_selected' => $leftKeynameIsSelected, 'nowrap' => true, ]); $output .= $this->template->render('table/browse_foreigners/column_element', [ 'keyname' => $leftKeyname, 'description' => $leftDescription, 'title' => $leftDescriptionTitle, 'is_selected' => $leftKeynameIsSelected, 'nowrap' => false, ]); $output .= ''; $output .= $this->template->render('table/browse_foreigners/column_element', [ 'keyname' => $rightKeyname, 'description' => $rightDescription, 'title' => $rightDescriptionTitle, 'is_selected' => $rightKeynameIsSelected, 'nowrap' => false, ]); $output .= $this->template->render('table/browse_foreigners/column_element', [ 'keyname' => $rightKeyname, 'description' => $rightDescription, 'title' => $rightDescriptionTitle, 'is_selected' => $rightKeynameIsSelected, 'nowrap' => true, ]); $output .= ''; return [ $output, $horizontalCount, $indexByDescription, ]; } /** * Function to get html for relational field selection * * @param string $db current database * @param string $table current table * @param string $field field * @param array $foreignData foreign column data * @param string|null $fieldKey field key * @param string $currentValue current columns's value */ public function getHtmlForRelationalFieldSelection( string $db, string $table, string $field, array $foreignData, ?string $fieldKey, string $currentValue ): string { $gotoPage = $this->getHtmlForGotoPage($foreignData); $foreignShowAll = $this->template->render('table/browse_foreigners/show_all', [ 'foreign_data' => $foreignData, 'show_all' => $this->showAll, 'max_rows' => $this->maxRows, ]); $output = '
' . Url::getHiddenInputs($db, $table) . '' . ''; if (isset($_POST['rownumber'])) { $output .= ''; } $filterValue = (isset($_POST['foreign_filter']) ? htmlspecialchars($_POST['foreign_filter']) : ''); $output .= '
' . '
' . '
' . '
' . '' . '
' . '
' . $gotoPage . '
' . '
' . $foreignShowAll . '
' . '
' . '
'; $output .= ''; if (! is_array($foreignData['disp_row'])) { return $output . '' . '
'; } $header = ' ' . __('Keyname') . ' ' . __('Description') . ' ' . __('Description') . ' ' . __('Keyname') . ' '; $output .= '' . $header . '' . "\n" . '' . $header . '' . "\n" . '' . "\n"; $descriptions = []; $keys = []; foreach ($foreignData['disp_row'] as $relrow) { if ($foreignData['foreign_display'] != false) { $descriptions[] = $relrow[$foreignData['foreign_display']] ?? ''; } else { $descriptions[] = ''; } $keys[] = $relrow[$foreignData['foreign_field']]; } asort($keys); $horizontalCount = 0; $indexByDescription = 0; foreach (array_keys($keys) as $indexByKeyname) { [ $html, $horizontalCount, $indexByDescription, ] = $this->getHtmlForOneKey( $horizontalCount, $header, $keys, $indexByKeyname, $descriptions, $indexByDescription, $currentValue ); $output .= $html; } $output .= ''; return $output; } /** * Get the description (possibly truncated) and the title * * @param string $description the key name's description * * @return array the new description and title */ private function getDescriptionAndTitle(string $description): array { if (mb_strlen($description) <= $this->limitChars) { $descriptionTitle = ''; } else { $descriptionTitle = $description; $description = mb_substr($description, 0, $this->limitChars) . '...'; } return [ $description, $descriptionTitle, ]; } /** * Function to get html for the goto page option * * @param array|null $foreignData foreign data */ private function getHtmlForGotoPage(?array $foreignData): string { $gotoPage = ''; isset($_POST['pos']) ? $pos = $_POST['pos'] : $pos = 0; if ($foreignData === null || ! is_array($foreignData['disp_row'])) { return $gotoPage; } $pageNow = (int) floor($pos / $this->maxRows) + 1; $nbTotalPage = (int) ceil($foreignData['the_total'] / $this->maxRows); if ($foreignData['the_total'] > $this->maxRows) { $gotoPage = Util::pageselector( 'pos', $this->maxRows, $pageNow, $nbTotalPage, 200, 5, 5, 20, 10, __('Page number:') ); } return $gotoPage; } /** * Function to get foreign limit * * @param string|null $foreignShowAll foreign navigation */ public function getForeignLimit(?string $foreignShowAll): ?string { if (isset($foreignShowAll) && $foreignShowAll == __('Show all')) { return null; } isset($_POST['pos']) ? $pos = $_POST['pos'] : $pos = 0; return 'LIMIT ' . $pos . ', ' . $this->maxRows . ' '; } }