Новости Joomla

Вышли релизы Joomla 6.1 и Joomla 5.4.5: новые возможности и стабильность

Релиз Joomla 6.1.0

Проект Joomla! объявил о доступности Joomla 6.1 [Nyota] — новой минорной версии шестой серии, а также о выпуске релиза исправлений ошибок Joomla 5.4.5. Релиз 6.1 приносит ряд долгожданных функций, повышающих удобство управления контентом и защиту от спама.

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

CrazyLuna

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Добрый день.

Не нашла модуля "Последние авторизованные пользователи", да еще и с привязкой к контактам. Так что решила пойти другим путем.

Необходимо сделать так, чтобы после Авторизации Пользователь становился первым в порядке отображения в Контактах.

В Файл /libraries/joomla/database/table/user.php

в функцию setLastVisit

Код
	function setLastVisit( $timeStamp=null, $id=null )
{

// check for User ID
if (is_null( $id )) {
if (isset( $this )) {
$id = $this->id;
} else {
// do not translate
jexit( 'WARNMOSUSER' );
}
}

// if no timestamp value is passed to functon, than current time is used
$date =& JFactory::getDate($timeStamp);

// updates user lastvistdate field with date and time
$query = 'UPDATE '. $this->_tbl
. ' SET lastvisitDate = '.$this->_db->Quote($date->toMySQL())
. ' WHERE id = '. (int) $id
;

$this->_db->setQuery( $query );
if (!$this->_db->query()) {
$this->setError( $this->_db->getErrorMsg() );
return false;
}

return true;
}

Добавила строки

      $query = 'UPDATE #__contact_details'
      . ' SET ordering = 1'
      . ' WHERE user_id = '. (int) $id
      ;

Все отлично присваивается, но проблема в том, что ordering у остальных пользователей не меняется. Т.е. в тоге когда-нибудь у всех пользователей ordering становится равным 1.
Как я понимаю, надо перед тем как менять ordering на 1 нужно у всех пользователей изменить ordering на 2.

В MySQL я полный ноль, так что даже не знаю с какой стороны подступиться.

Естественно, добавление вначале

      $query = 'UPDATE #__contact_details'
      . ' SET ordering = 2'
      ;

результатов не дало

Хелп ми, пожалуйста!
*

alfedukovich

  • Новичок
  • 9
  • 4 / 0
Re: Дополнительный запрос в MySQL, как?
« Ответ #1 : 27.02.2012, 11:08:38 »
Здравствуйте.
А почему бы не присваивать ordering = max+1? И потом сортировать при выводе ordering по убыванию. MAX значение ищется так:
Код
SELECT MAX(ordering) FROM #__contact_details;

Надеюсь, чем-то помог.
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
Re: Дополнительный запрос в MySQL, как?
« Ответ #2 : 27.02.2012, 14:35:59 »
Помоему никакое дополнительное поле не нужно. Ведь есть поле lastvisitDate и вывод нужно отсортировать по этому полю.
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
Re: Дополнительный запрос в MySQL, как?
« Ответ #3 : 27.02.2012, 17:09:51 »
Крайне не советую править что-либо в папках /libraries/joomla/
В данном случае лучше не делать поправки при авторизации в базе, а подкорректировать вывод в модуле или компоненте контактов (что оно такое я не сталкивался). При выводе всего то надо добавить ORDER by lastvisitDate
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как создать дополнительный параметр(по типу published) для элемента списка?

Автор borro

Ответов: 4
Просмотров: 1759
Последний ответ 08.02.2018, 17:03:11
от borro
В запрос попадает код php - $this->article->id

Автор jservice

Ответов: 3
Просмотров: 2913
Последний ответ 23.07.2014, 15:05:05
от b2z
MySQL - цикл в цикле - как сделать проще

Автор verstalshik

Ответов: 30
Просмотров: 4131
Последний ответ 29.04.2014, 21:52:54
от robert
Как получить запрос из query?

Автор lexx006

Ответов: 4
Просмотров: 1634
Последний ответ 16.09.2013, 19:40:03
от lexx006
AJAX запрос к функции контроллера и JFactory::getUser

Автор kathu

Ответов: 12
Просмотров: 3634
Последний ответ 10.09.2013, 23:27:24
от Fedor Vlasenko