Новости Joomla

Joomla официально признана цифровым общественным благом Joomla с гордостью сообщает, что была...

Joomla официально признана цифровым общественным благом 🙏🎉Joomla с гордостью сообщает, что была официально признана цифровым общественным благом (Digital Public Good, DPG) Альянсом цифровых общественных благ (Digital Public Goods Alliance, DPGA) — инициативой, поддерживаемой Организацией Объединённых Наций.Это признание ставит Joomla! в ряд международных open-source проектов, которые разделяют ценности открытости, прозрачности, защиты данных и социального воздействия. Важно отметить, что статус цифрового общественного блага присвоен самому программному решению Joomla!, а не организации Joomla как юридическому лицу.Альянс цифровых общественных благ (DPGA) ведёт международный реестр цифровых общественных благ и оценивает проекты на основе чётко определённых стандартов. Его миссия — поддержка открытых технологий, способствующих достижению Целей устойчивого развития ООН (UN SDGs) и решению глобальных задач развития. 🌐Чтобы получить статус цифрового общественного блага, проект должен соответствовать Стандарту цифровых общественных благ (Digital Public Goods Standard), который включает следующие критерии:✔️ Открытое лицензирование (например, использование признанных open-source лицензий)✔️ Защита данных и безопасность✔️ Соответствие правовым и этическим нормам✔️ Вклад в достижение Целей устойчивого развития ООН✔️ Прозрачное управление и долгосрочная устойчивость✔️ Активное вовлечение сообществаПолучение статуса цифрового общественного блага — процесс далеко не автоматический. Joomla прошла тщательную процедуру оценки, которая потребовала предоставления подробной документации и доказательств соответствия строгим стандартам.Благодаря самоотверженной работе множества участников сообщества, этот результат стал наглядным подтверждением универсальности и открытости Joomla, а также бесчисленных способов, с помощью которых она помогает людям создавать веб-решения.Это достижение подчёркивает позицию Joomla как одной из самых надёжных и гибких open-source CMS в мире — системы, которая продолжает давать возможность разработчикам, организациям и государственным структурам создавать открытые, безопасные и инклюзивные цифровые решения.Оригинал новости

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

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Доброе время суток. Есть вопрос по CB User List, в частности по фильтру. Проблема в том что он не работает по полю с типом Check Box (Multiple). Другие поля не пробовал, да и не подходят они мне.

Дело было так:
Создаю в CВ Fild Manager новое поле, допустим "Увлечения" с типом Check Box (Multiple);
Задаю несколько десятков значений.
Регистрируюсь на сайте и отмечаю несколько значений.
Создаю новый UserList, в CB List Management.
В поле Filter в первом выпадающем списке выбираю созданное мной выше поле.
Во втором выпадающем списке выбираю Like. Как мне кажется этот параметр указывает на то что выбираться будут те записи поле "Увлечения" которых содержит искомое слово, указанное в третьем поле.

В общем при выборе любого типа фильтрации кроме Great Then список пуст(запись не находится)
При выборе Great Then и наличии нескольких пользователей, выводятся все, у которых отмечено несколько позиций в поле "Увлечения", причем независимо от того что отмечено.

Заглянул в базу данных, там в поле где хранится информация о критериях фильтрации информация записана не словами а двухзначными числами через знак процента что-то вида s(%2%57%57Like%87%45%56). Пытался подправить в базе критерий отбора вручную выбираю LIKE. Сохраняю. Но в листе по прежнему пусто.

Мои параметры Joomla 1.5.17 + CB 1.2.2 Кодировка базы данных UTF 8
--------------------------------------------------

Ну ближе к делу.

Как оказалось CB-фильтр не дружит с кирилицей. Искал решение на многих форумах но ничего толкового не нашел. Все попытки исправить данную ситуацию или решить в лоб или обойти не давали результата.

Моя идея может оказаться очередной идеей обойти проблему и я надеюсь удачной, насколько она реализуема решать профессионалам, я в этом ламер.

А теперь сама ИДЕЯ.

Я подумал раз CB фильтр не понимает кирилицы, ну так и не нада, ему можно подсунуть для фильтрации его любимую латиницу и пусть фильтрует себе на здровье.

Привязываться я буду к Check Box (Multiple), ибо именно фильтр типа LIKE по полю данного типа мне очень нужен.
Так вот идея заключается в том чтобы в промежуток после получения данных из формы типа Check Box (Multiple) заполняемой пользователем и перед занесением их в БД MySQL вставить процедуру транслитерации этих данных в латиницу. Данные будут представлять из себя массив из одного и более слов в кирилице, которые и должны быть транслитированы.

Код функции транслитерации, найденый мной в просторах гугла:
Код
function UpLow(&$string,$registr='up'){
$upper = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯABCDEFGHIJKLMNOPQRSTUVWXYZ';

$lower = 'абвгдеёжзийклмнопрстуфхцчшщъыьэюяabcdefghijklmnopqrstuvwxyz';

if($registr == 'up') $string = strtr($string,$lower,$upper);
else $string = strtr($string,$upper,$lower);

} //function UpLow(&$string,$registr='up') может и не пригодится, но на всякий случай выложил.

 

function rus2lat($s) { // Функция обратимой перекодировки кириллицы в транслит.
// Сначала всё переводим в верхний регистр, причём не с помощью глючной strtoupper
UpLow($s);
//а потом только кириллицу в нижний

$s=str_replace('ЫА','yha',$s);
$s=str_replace('ЫО','yho',$s);
$s=str_replace('ЫУ','yhu',$s);
$s=str_replace('Ё','yo',$s);
$s=str_replace('Ж','zh',$s);
$rus = 'АБВГДЕЗИЙКЛМНОПРСТУФХЦ';
$lat = 'abvgdezijklmnoprstufxc';
$s = strtr($s, $rus, $lat);
$s=str_replace('Ч','ch',$s);
$s=str_replace('Ш','sh',$s);
$s=str_replace('Щ','shh',$s);
$s=str_replace('Ъ','qh',$s);
$s=str_replace('Ы','y',$s);
$s=str_replace('Ь','q',$s);
$s=str_replace('Э','eh',$s);
$s=str_replace('Ю','yu',$s);
$s=str_replace('Я','ya',$s);
$s=str_replace(' ','_',$s); // сохраняем пробел от перехода в %20
$s=str_replace(',','.h',$s); // сохраняем запятую
$s=str_replace('"','"',$s); // сохраняем кавычки
$s=rawurlencode($s); // Разрешённые символы URL - латинские буквы, точка, минус и подчёркивание
return $s;
} // function rus2lat($s)

Что мы результате получаем. В базе данных теперь у нас латиница, и по ней можно фильтровать наши поля в CB USER List. Чтобы латиница была только в нужном нам столбце можно организовать проверку по имени поля, а в админке добавить возможность выбора в виде чекбокса адаптировать или нет данное поле для фильтра. Так же нужно чтобы в админке была возможность посмотреть вариант данных в латинице(будет нужно для того чтобы создавать фильтры, хотя с другой стороны можно будет в MySQL глянуть).

Но если данные будут транслитированы то и отображаться в профиле они будут тоже латиницей. Для того чтобы такого не происходило перед выводом этих данных, их нужно будет транслитировать обратно. Код обратной транслитерации приведен ниже:
Код

function lat2rus($s) { // Функция обратной перекодировки транслита в кириллицу
$s=rawurldecode($s);
$s=str_replace('.h',',',$s);// возвращаем запятую
$s=str_replace('_',' ',$s);// возвращаем пробел
$s=str_replace('yh','Ы',$s);
$s=str_replace('yu','Ю',$s);
$s=str_replace('ya','Я',$s);
$s=str_replace('yo','Ё',$s);
$s=str_replace('shh','Щ',$s);
$s=str_replace('eh','Э',$s);
$s=str_replace('sh','Ш',$s);
$s=str_replace('ch','Ч',$s);
$s=str_replace('qh','Ъ',$s);
$s=str_replace('zh','Ж',$s);
$lat = 'abvgdezijklmnoprstufxcyq';
$rus = 'АБВГДЕЗИЙКЛМНОПРСТУФХЦЫЬ';
$s = strtr($s, $lat, $rus);
return $s;
} // function lat2rus($s)


Прямая и обратная транслитерации полностью обратимы на 100% - проверено!

Вот и все.
Только вот осуществить идею мне пока не по силам, не достаточно знаний (((
« Последнее редактирование: 16.05.2010, 00:06:36 от orsy »
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Re: CB User List почему не работает фильтр?
« Ответ #1 : 14.05.2010, 19:49:47 »
Скажите хоть на сколько это реально и стоит ли выделка овчинки?
« Последнее редактирование: 16.05.2010, 00:08:04 от orsy »
*

SSStylish

  • Захожу иногда
  • 197
  • 10 / 0
Слишком сложно все, проще способ есть.

После создания самого значения Field Manager'e, в базу заносятся кракозябры.
Вот то, что занеслось, заменяем на нормальный текст в кодировке UTF-8.

Все фильтры юзерлистов будут работать.
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Слишком сложно все, проще способ есть.

После создания самого значения Field Manager'e, в базу заносятся кракозябры.
Вот то, что занеслось, заменяем на нормальный текст в кодировке UTF-8.

Все фильтры юзерлистов будут работать.


у меня значения вариантов мультичекбокса в базе не крякозябрами, а нормальным тектом...
*

SSStylish

  • Захожу иногда
  • 197
  • 10 / 0
UTF-8?
У меня аналогично - все работает
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
UTF-8?
У меня аналогично - все работает

у меня в базу крякозябры заносятся только в ячейку с данными для фильтра
*

SSStylish

  • Захожу иногда
  • 197
  • 10 / 0
Все верно, а когда меняешь кракозябры на валидные значения не меняя синтаксис, что происходит?
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Данных вариант решения есть на данном форуме, но он у меня почему-то не работает ((( и еще прикол такой фильтр LIKE так же не хочет у меня работать с числами и с численно буквенными значениями(имеется ввиду латиница). Работает только с чистой латиницей (((
*

SSStylish

  • Захожу иногда
  • 197
  • 10 / 0
Если не работает, копай синтаксис
Вот пример с моей базы:
s(`cb_searched` ='1' AND `cb_xcity` LIKE'Астрахань')
*

orsy

  • Захожу иногда
  • 400
  • 23 / 1
  • Web-Factor Ukraine
Если не работает, копай синтаксис
Вот пример с моей базы:
s(`cb_searched` ='1' AND `cb_xcity` LIKE'Астрахань')

уверен проблема действительно в синтаксисе, только вот куда копать не пойму, при прямом запросе к базе данных метод фильтрации типа LIKE работает на ура, видимо CB неверно строит запрос, только вот где он строит этот запрос я не могу найти...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ищу фильтр, выбор Область-Город и звуковой сигнал на новые объявления - кто знает?

Автор nick71

Ответов: 0
Просмотров: 1331
Последний ответ 24.03.2015, 13:11:17
от nick71
Заголовок списка (List) в теге h1 - как сделать?

Автор andre46

Ответов: 1
Просмотров: 1446
Последний ответ 14.02.2015, 17:05:17
от andre46
Нет доступа в User Manager

Автор Tier_WerWolf

Ответов: 0
Просмотров: 1462
Последний ответ 03.11.2013, 11:30:19
от Tier_WerWolf
Не работают вкладки Configuration и User Management

Автор Babyaka

Ответов: 2
Просмотров: 2101
Последний ответ 08.07.2013, 15:47:17
от Babyaka
Фильтр по полу в поиске и user листе

Автор rbarom

Ответов: 1
Просмотров: 1752
Последний ответ 02.08.2012, 06:56:58
от AlexSmirnov