Новости Joomla

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 2168 Просмотров
*

Alepri

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Всем доброго времени суток.
В прошлый раз обратившись за помощью на этом форуме мне очень помог с PHP кодом icom http://joomlaforum.ru/index.php?action=profile;u=87828
(icom если у вас будет время просмотреть это сообщение и помочь мне еще раз, буду очень признателен.)

В моем компоненте есть функция определения IP адреса и записи его в базу данных.
Мне нужно, что бы эта функция выполняла определение и запись имени пользователя вместо его IP адреса.

Функция определения выглядит так:

Код
function getClientIp() {
global $_SERVER;

if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$forwarded_ip_array = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$client_ip = $forwarded_ip_array[count($forwarded_ip_array) - 1];
} else {
$client_ip = $_SERVER['REMOTE_ADDR'];
}
return $client_ip;
}

Так же есть функции проверки IP адреса в БД:
Код
//check if avoid same IP or not
$config =& JComponentHelper::getParams('com_joomlacomponent');
$avoidsameip = $config->get('avoidsameip',0);
if ($avoidsameip) {
$client_ip = $this->getClientIp();
if ($this->isExistIP($client_ip)) {
$mainframe->redirect( "index.php","Not allowed");
}
}

и
Код
/**
*  valid URL
*
* @param string $str
* @return bool
*/
function isExistIP($str) {
$db = JFactory::getDBO();
$query = 'SELECT COUNT(*)'
. ' FROM #__ joomlacomponent '
. ' WHERE `ip`='.$db->quote($str)
;
$db->setQuery($query);
$isExist = $db->loadResult();

return ($isExist)? true : false;
}
}

Каким образом эту функцию (желательно без замены имён в таблице) можно переписать(заменить) на определение имени пользователя.

Тоесть чтобы

function getClientIp()  выполнило функцию function GetUsername()

Заранее благодарен.
*

Alepri

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Разобрался сам  ^-^

Заменил
Код
function getClientIp() {
global $_SERVER;

if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$forwarded_ip_array = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']);
$client_ip = $forwarded_ip_array[count($forwarded_ip_array) - 1];
} else {
$client_ip = $_SERVER['REMOTE_ADDR'];
}
return $client_ip;
}

на
Код
function getClientIp() {

        $user = &JFactory::getUser($id);
        return $user->username;
    }


Вроде работает без ошибок.
 ;)

   
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Функции доступности в Joomla 4

Автор keykeeper

Ответов: 2
Просмотров: 2299
Последний ответ 25.07.2022, 10:54:06
от keykeeper
Поделитесь опытом работы с EasyBlog. Нужна консультация

Автор Chip3x

Ответов: 0
Просмотров: 912
Последний ответ 27.03.2022, 23:45:59
от Chip3x
Выбор группы для доступа и выбор пользователя с группы

Автор SkyAn

Ответов: 0
Просмотров: 980
Последний ответ 07.11.2019, 19:04:07
от SkyAn
Плагин для определения размера файла

Автор bigbelka

Ответов: 6
Просмотров: 1360
Последний ответ 26.09.2019, 15:55:08
от bigbelka
Нужна помощь по плагину flyandexturbo_v3.0.3

Автор Stasweb

Ответов: 11
Просмотров: 1498
Последний ответ 08.05.2019, 09:49:44
от Stasweb