Материал из CB Wiki
Перейти к: навигация, поиск
Нет описания правки
Нет описания правки
Строка 39: Строка 39:
</syntaxhighlight>
</syntaxhighlight>
</div></div>
</div></div>
=== gen_sub.php ===
Вставляемая в меню ссылка ведет к файлу '''gen_sub.php''' и передает ему параметр '''videoid''' (в зависимости от того, из меню какого видеофайла был вызов). В данном файле расположен весь основной функционал.
Входные данные ('''videoid''') считываются из GET-запроса, далее производятся запросы к БД для получения остальных необходимых данных.
Фция '''subtitles_set_video()''' выводит некие тестовые строки, которые размещаются на странице в соответствии с анкорами шаблона. В тестовых целях там производится запрос к БД и вывод полученной структуры на страницу.

Версия от 20:03, 18 марта 2024

В данном случае - плагин subtitles на начальной стадии, когда уже стало понятно как устроена система работы плагина, шаблонов итп, но еще не написан целевой функционал. Снипет ничего полезного не делает, лишь содержит образцы.

Плагин встраивает доп.пункт меню опций видеофайлов в Videos -> Video Manager (реализация в subtitles.php). Необходима доработка стандартного шаблона admin_area/styles/cb_2014/layout/video_manager.html: в строке 136 надо добавить анкор:

{ANCHOR place="subtitles_menu" data={$video.videoid}}

В этом месте меню будет появляться пункт плагина (и исчезать, если плагин деактивировать).

subtitles.php

Стартовый файл плагина. Содержит в коменте инфо-блок, отображаемый потом в админке в информации о плагине (назв., верси, авторы итп). Также в нем расплоложена фция, выдающая строку с форматированным текстом. Этот текст потом вставится в место анкора в admin_area/styles/cb_2014/layout/video_manager.html. Также вызывается процедура регистрации анкора - в ней указаны имя функции и имя анкора.

plugins/subtitles/subtitles.php

<?php
/*
    Plugin Name: Subtitles
    Description: Generates subtitles for videos
    Author: Sphynkx
    Version: 0.0
    Website: https://github.com/sphynkx/clipbucket-v5/
    ClipBucket Version: 5.5.1
*/
## This file set menu item in videofile options at admin_area/video_manager.php
## Item has link to pen_sub.php and sent it videoid of apropriate videofile


## Function insertes item in the videofile options list at admin_area/video_manager.php
## $vid comes from anchor parameter `data={$video.videoid}` ( see admin_area/styles/cb_2014/layout/video_manager.html:136)
function subtitles_insert_menuitem($vid)
  {
  global $gen_sub_val; ## declared in gen_sub.php
// TODO: further change `GenSub` to {lang code='gen_sub'} and add apropriate translations to DB
  echo "<li><a role=\"menuitem\" tabindex=\"-1\" href=\"../plugins/subtitles/gen_sub.php?video=".$vid."\">Generate Subtitles</a></li>";
  }


register_anchor_function('subtitles_insert_menuitem', 'subtitles_menu');


gen_sub.php

Вставляемая в меню ссылка ведет к файлу gen_sub.php и передает ему параметр videoid (в зависимости от того, из меню какого видеофайла был вызов). В данном файле расположен весь основной функционал.

Входные данные (videoid) считываются из GET-запроса, далее производятся запросы к БД для получения остальных необходимых данных.

Фция subtitles_set_video() выводит некие тестовые строки, которые размещаются на странице в соответствии с анкорами шаблона. В тестовых целях там производится запрос к БД и вывод полученной структуры на страницу.