/** * Вставляет кнопку «Комментировать» под каждым , * собирая точный оригинальный сниппет. */ public function injectButtons(Doku_Event $event, $param) { global $ID; if(!is_string($event->data)) return; $html = $event->data; $html = preg_replace_callback( '#]*\bsrc="([^"]+)"[^>]*)>#i', function($m) use($ID) { $attrs = $m[1]; $srcRaw = html_entity_decode($m[2]); $media = ''; $width = ''; // 1) fetch.php?media=…&width=… if(strpos($srcRaw,'fetch.php?')!==false){ $parts = parse_url($srcRaw); parse_str($parts['query'] ?? '', $qs); $media = $qs['media'] ?? ''; $width = $qs['width'] ?? ''; } // 2) direct /_media/... elseif(strpos($srcRaw,'/_media/')!==false){ // путь после /_media/ $path = parse_url($srcRaw, PHP_URL_PATH); $sub = substr($path, strlen('/_media/')); // namespace: replace slashes with colons $media = str_replace('/', ':', $sub); // get width from attribute, if present if(preg_match('/\bwidth="(\d+)"/i',$attrs,$wm)){ $width = $wm[1]; } } if(!$media) return $m[0]; // caption from alt="", if exists $label = ''; if(preg_match('/\balt="([^"]*)"/i',$attrs,$am)){ $label = $am[1]; } // build exact wikitext snippet $snippet = '{{:' . $media; if($width) $snippet .= '?' . $width; $snippet .= '|' . $label . '}}'; // link to our action $url = DOKU_URL . 'doku.php?do=mediacomment&snippet=' . rawurlencode($snippet); // button HTML $btn = '
' . '' . 'Комментировать
'; return '' . $btn; }, $html ); $event->data = $html; } archive-orlyonok.ru [archive-orlyonok.ru]

filmy:start

Эта страница ещё не существует

Вы перешли по ссылке на страницу, которая ещё не существует. Если позволяют ваши права доступа, создайте её, нажав на кнопку Создать страницу.

Этот сайт использует куки. Находясь здесь, вы соглашаетесь с их хранением на вашем компьютере. Также вы подтверждаете, что прочитали и поняли нашу Политику конфиденциальности. Если вы не согласны - покиньте сайт.Больше информации о куки
filmy/start.txt · Последнее изменение: 1970/01/01 00:00
CC Attribution-Share Alike 4.0 International Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution-Share Alike 4.0 International