- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Имеется модуль выводящий " новые сообщения" для юзера.
Если их нет - пишет нет. Если есть пишет сколько их.
Функция получения данных такая:
function getNotificationsMSG()
{
$db =& JFactory::getDBO();
$user =& JFactory::getUser();
$query = " SELECT
*
FROM
".$db->nameQuote('#__community_msg_recepient')."
WHERE
".$db->nameQuote('is_read')."=".$db->quote(0)."
AND
".$db->nameQuote('to')."=".$db->quote($user->id);
$db->setQuery( $query );
$db->query();
$result = $db->getNumRows();
if($db->getErrorNum())
{
JError::raiseError( 500, $db->stderr());
}
return $result;
Проблема заключается в том, что если юзео не читает сообщение, а просто удаляет, происходит запись в этой же таблице в колонку deleted. Соответственно сообщение остается непрочитанным, и все время показывается как "новое".
Выглядит так:
msg_id msg_parent msg_from to bcc is_read deleted
35 35 2143 1850 0 0 1
36 36 62 62 0 0 1
Эти 2 сообщения не прочитаны, но удалены - показываются как новые.
Нужно в функции добавить условие если is_read=0 а deleted=1 то is_read=1
Не знаю синтаксис...
Нужно в функции добавить условие если is_read=0 а deleted=1 то is_read=1
Не знаю синтаксис...
Может так попробовать:
is_read = is_read ? delete : is_read
Почитай тут
Пользуйтесь
у кода жумлы ужасный стиль ... то есть эта каша не имеет стиля ..
aleksey_php,
да - это работает, просто синтаксис не знаю, буду учить.
bearman, это не код джумлы, это код стороннего расширения, для еще одного стороннего компонента... Да и потом, эта каша работает... Придаст ли стиль этой каше, что-нибудь еще, кроме стиля? Просто интересно?
romagromov, ds ничерта не понимаете в программировании :)
это как искусство, можно рисовать кистью, а можно экскаватором как это сделано в этом компоненте :) один хрен всего лишь разница в чистоте линий, но без нее порой невозможно провести еще раз кистью по одному месту, ибо там уже прошелся экскаватор
в общем этот компонент - говнокод ... :)
+ отсутствует форматирвоание всяческое, хотя это может быть вина вашегго копипаста неаккуратного :)
bearman, я просто не могу понять, работать будет как-то по-другому? Быстрее, медленнее?
Я понимаю алгоритм происходящего, не могу понять, в чем изящество должно заключаться... В синтаксисе?
Требуется просто получить количество новых, непрочитанных сообщений... Вроде все ясно...
Как должен выглядеть код этой функции?