Sphynkx (обсуждение | вклад) (Новая страница: «В движок встроен Whoops - фреймворк обработки ошибок. Включается при включении дев-мода. В случаях, когда падает весь движок, с Whoops-ом выводится страничка с диагностикой. В шаблонах указывается конструкция '''{ANCHOR place='before_compose_box'}''', которая является функцией...») Метка: визуальный редактор отключён |
Sphynkx (обсуждение | вклад) |
||
| (не показана 1 промежуточная версия этого же участника) | |||
| Строка 55: | Строка 55: | ||
(Де-)Инсталляция починалась, но плагин все же не работает, админка пустая. | (Де-)Инсталляция починалась, но плагин все же не работает, админка пустая. | ||
==== Collections not work for logined users ==== | ==== <s>Collections not work for logined users</s> ==== | ||
;[https://github.com/MacWarrior/clipbucket-v5/commit/f8df097a2c1c8291fd47432692522f56a70ce4a9 FIXED] | ;[https://github.com/MacWarrior/clipbucket-v5/commit/f8df097a2c1c8291fd47432692522f56a70ce4a9 FIXED] | ||
| Строка 67: | Строка 67: | ||
Финальная часть '''COUNT( DISTINCT collection_items.ci_id > 0 )''' обнаружена в '''includes/classes/collections.class.php''':162 однако '''collectionsuserid''' нигде в движке не обнаружена, откуда вызывается - непонятно. | Финальная часть '''COUNT( DISTINCT collection_items.ci_id > 0 )''' обнаружена в '''includes/classes/collections.class.php''':162 однако '''collectionsuserid''' нигде в движке не обнаружена, откуда вызывается - непонятно. | ||
Очепятка - пропущена точка и '''collections.userid''' превратилось в '''collectionsuserid''' | Очепятка - пропущена точка и '''collections.userid''' превратилось в '''collectionsuserid''' | ||
:'''includes/classes/collections.class.php''':164 | :'''includes/classes/collections.class.php''':164 | ||
Текущая версия от 18:48, 16 марта 2024
В движок встроен Whoops - фреймворк обработки ошибок. Включается при включении дев-мода. В случаях, когда падает весь движок, с Whoops-ом выводится страничка с диагностикой.
В шаблонах указывается конструкция {ANCHOR place='before_compose_box'}, которая является функцией в includes/plugin.functions.php:40. При регистрации плагина в нем указывается нужное место привязки, и код плагина будет встроен в этом месте интерфейса.
Get autoincrement value for table in db[править | править код]
Выводим текущее значение индекса автоинкремента для таблицы (который назначится следующему элементу таблицы, предыдущие удаленные элементы инкремент не меняют):
SELECT AUTO_INCREMENT FROM information_schema.TABLES WHERE TABLE_SCHEMA = "yurtube5" AND TABLE_NAME = "cb_video";
Также его можно посмотреть в PhpMyAdmin став на таблицу cb_video и перейдя во вкладку Операции.
Reset autoincrement for cb_video[править | править код]
После ряда проб загрузки видео и удалений, индекс виде в БД продолжает расти и потом получается некрасивый разброс (напр. уже имеющиеся видео - с индексом 9, но следующее загружаемое видео получит 120, с учетом прошлых уделенных загрузок). Его можно убрать след.командами - в 1й узнаем последний актуальный индекс, во 2й модифицируем счетчик таблицы на счет с индекса, на единицу большего чем актуальный:
SELECT MAX(videoid) FROM cb_video;
ALTER TABLE cb_video AUTO_INCREMENT = 10;
В данном случае, после реального видео с индексом 9 следующее загрузится с индексом 10.
Встраивание своего кода в Upload Form[править | править код]
Место где можно поместить свой элемент на форме аплоада видео (2 этап после открытия видеофайла) - перед блоком Video Category: styles/global/upload_form.html:172. Там тег {ANCHOR place="before_upload_form_categories_field"} после которого идет код вставки всего что относится к отображению категорий. В создаваемом для аплоада плагине при регистрации указываем этот анкор.
CBv5 Bugs[править | править код]
Движок падает при добавлении аватарки[править | править код]
После обновления странички все оживает и аватарка оказывается загруженной. Надо повоспроизводить.
Не отрабатывают HTML-шаблоны в плагинах[править | править код]
В исследованных плагинах не отрабатывают HTML-шаблоны - ни разметка, ни команды из анкоров.. Вероятно, сменился алгоритм их обработки.
Recapcha_v2[править | править код]
Проблема вероятно касается и предыдущей верстии - Provides ReCaptcha for your ClipBucket Website Обрушает движок при попытке инсталла/анинсталла, т.к. ошибка в обращении к БД. Поправилось так:
- plugins/recaptcha_v2/install_recaptcha_v2.php
<?php
//Insert Recaptcha field in configurations
//$db->insert(tbl("config"), ["name", "value"], ["recaptcha_v2_site_key", ""]);
//$db->insert(tbl("config"), ["name", "value"], ["recaptcha_v2_secret_key", ""]);
Clipbucket_db::getInstance()->insert(tbl("config"), ["name", "value"], ["recaptcha_v2_site_key", ""]);
Clipbucket_db::getInstance()->insert(tbl("config"), ["name", "value"], ["recaptcha_v2_secret_key", ""]);
- plugins/recaptcha_v2/uninstall_recaptcha_v2.php
<?php
//Insert Recaptcha field in configurations
//$db->delete(tbl("config"), ["name"], ["recaptcha_v2_site_key"]);
//$db->delete(tbl("config"), ["name"], ["recaptcha_v2_secret_key"]);
Clipbucket_db::getInstance()->execute('DELETE FROM ' . tbl('config') . ' WHERE name="recaptcha_v2_site_key"');
Clipbucket_db::getInstance()->execute('DELETE FROM ' . tbl('config') . ' WHERE name="recaptcha_v2_secret_key"');
(Де-)Инсталляция починалась, но плагин все же не работает, админка пустая.
Collections not work for logined users[править | править код]
Создаваемые коллекции пусты и выдают ошибку, если юзер залогинен. Для гостя все категории отображаются. Диагоностика выдала такое:
<file> SQL : SELECT collections.collection_id, collections.collection_id_parent, collections.collection_name, collections.collection_description, collections.userid, collections.views, collections.date_added, collections.featured, collections.broadcast, collections.allow_comments, collections.allow_rating, collections.total_comments, collections.last_commented, collections.rating, collections.rated_by, collections.voters, collections.active, collections.public_upload, collections.type, users.username AS user_username, COUNT(CASE WHEN collections.type = 'videos' THEN video.videoid ELSE photos.photo_id END) AS total_objects, GROUP_CONCAT(tags.name SEPARATOR ',') AS tags, GROUP_CONCAT( DISTINCT(categories.category_id) SEPARATOR ',') AS category, GROUP_CONCAT( DISTINCT(categories.category_name) SEPARATOR ',') AS category_names FROM cb_collections AS collections LEFT JOIN cb_users AS users ON collections.userid = users.userid LEFT JOIN cb_collection_items AS collection_items ON collections.collection_id = collection_items.collection_id LEFT JOIN cb_video AS video ON collections.type = 'videos' AND collection_items.object_id = video.videoid LEFT JOIN cb_photos AS photos ON collections.type = 'photos' AND collection_items.object_id = photos.photo_id LEFT JOIN cb_collection_tags AS collection_tags ON collections.collection_id = collection_tags.id_collection LEFT JOIN cb_tags AS tags ON collection_tags.id_tag = tags.id_tag LEFT JOIN cb_collections_categories AS collections_categories ON collections.collection_id = collections_categories.id_collection LEFT JOIN cb_categories AS categories ON collections_categories.id_category = categories.category_id WHERE collections.collection_id = '2' GROUP BY collections.collection_id,collections.collection_id HAVING (COUNT( DISTINCT collection_items.ci_id > 0 ) OR collectionsuserid = 1) ERROR : Unknown column 'collectionsuserid' in 'having clause' Collection does not exist. </file>
Финальная часть COUNT( DISTINCT collection_items.ci_id > 0 ) обнаружена в includes/classes/collections.class.php:162 однако collectionsuserid нигде в движке не обнаружена, откуда вызывается - непонятно.
Очепятка - пропущена точка и collections.userid превратилось в collectionsuserid
- includes/classes/collections.class.php:164
< $hide_empty_collection = '(' . $hide_empty_collection . ' OR ' . $this->getTableName() . 'userid = ' . User::getInstance()->getCurrentUserID() . ')';
> $hide_empty_collection = '(' . $hide_empty_collection . ' OR ' . $this->getTableName() . '.userid = ' . User::getInstance()->getCurrentUserID() . ')';