Zkratky aneb nový Xoopskód

Datum 24. 06. 2010 v 11:43 | Rubrika: Zápisník pojídačky koláčů pro Xoops

     Tak jsem zase jednou bloumala hlubinami systému a napadla mne jedna střeštěnost. Systém používá tzv. XoopsCode, což je něco podobného, jako jsou HTML značky, ale tyto kódy mají trošku jiný zápis a také jiné vlastnosti. Princip je ale stejný a další podrobnosti najdete buď v dokumentaci k systému nebo zde na Žirafovinách, stačí trochu zapátrat.

     No a mne stále chyběla možnost zadat vysvětlení nějaké zkratky, čili použití HTML tagu < ACRONYM >. To do dneška v systému chybělo. Zjistila jsem však, že není vlastně problém si ji tam doplnit. A jak, na to se dneska podíváme.

     Nejprve je potřeba vytvořit v adresáři CLASS/TEXTSANITIZER nový adresář a nazvat jej "acr". V něm budou dva soubory:

     Prvním je "index.html" který slouží jako taková základní ochrana proti neoprávněnému vniknutí. Najdete jej prakticky ve všech ostatních adresářích a stačí jej pouze překopírovat do nového adresáře.

     Druhý se bude jmenovat "acr.php" a bude mít takovýto obsah:

<?php
/*
 You may not change or alter any portion of this comment or credits
 of supporting developers from this source code or any supporting source code
 which is considered copyrighted (c) material of the original comment or credit authors.

 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/

/**
 * TextSanitizer extension
 *
 * @copyright       The XOOPS Project http://sourceforge.net/projects/xoops/
 * @license         http://www.fsf.org/copyleft/gpl.html& ...  public license
 * @package         class
 * @subpackage      textsanitizer
 * @since           2.3.0
 * @author          Wishcraft <simon@xoops.org>
 * @version         $Id: li.php 3575 2009-09-05 19:35:11Z trabis $
 */
defined('XOOPS_ROOT_PATH') or die('Restricted access');

class 
MytsAcr extends MyTextSanitizerExtension
{
    function 
load(&$ts)
    {

        
$ts->patterns[] = "/[acr](.*)[/acr]/sU";
        
$ts->replacements[] = '<acronym title="Zkratka bez zadaného významu">\1</acronym>';
    
        
$ts->patterns[] = "/[acr=(.*)](.*)[/acr]/sU";
        
$ts->replacements[] = '<acronym title="\1">\2</acronym>';
        return 
true;
    }
}

?>


     V něm se odehrává vlastní rozpoznání nového Xoopskódu a jeho zpracování, čili převedení na HTML značky. Můžete si všimnout, že obsahuje dvě možnosti:

[acr]Nějaká zkratka[/acr]

     Tento kód vytvoří z textu, který uzavírá zkratku, ale nemá přiřazený žádný význam, proto to také napíše do popisku.

[acr=Text popisku]Nějaká zkratka[/acr]

     Tento kód opět vytvoří zkratku ve smysl jazyka HTML, ale má zadaný i význam této zkratky, a proto ji předá.

     V reálu to vypadá takto Xoops a druhá možnost Xoops.

     Aby všechno dobře fungovalo, je potřeba upravit ještě jeden soubor, a tím je soubor "config.php" který se nachází v adresáři CLASS/TEXTSANITIZER. Je potřeba najít tuto část:

return $config = array(
    
"extensions" => array(
        
"iframe" => 0,
        
"image" => 1,
        
"flash" => 1,
        
"youtube" => 1,
        
"mp3" => 0,
        
"wmp" => 0,
        
// If other module is used, please modify the following detection and 'link' in /wiki/config.php
        
"wiki" => is_dir(XOOPS_ROOT_PATH '/modules/mediawiki/'),
        
"mms" => 0,
        
"rtsp" => 0,
        
"ul" => 1,
        
"li" => 1),


a doplnit jeden řádek:

return $config = array(
    
"extensions" => array(
        
"iframe" => 0,
        
"image" => 1,
        
"flash" => 1,
        
"youtube" => 1,
        
"mp3" => 0,
        
"wmp" => 0,
        
// If other module is used, please modify the following detection and 'link' in /wiki/config.php
        
"wiki" => is_dir(XOOPS_ROOT_PATH '/modules/mediawiki/'),
        
"mms" => 0,
        
"rtsp" => 0,
        
"ul" => 1,
        
"li" => 1,
        
"acr" => 1),


     A tím je vlastně celá úprava systému hotová a můžete se kochat vlastní úpravou a také tím, že Xoops umí zase o něco více.



Článek pochází z webu Žirafoviny.cz
https://www.zirafoviny.cz

URL tohoto článku je:
https://www.zirafoviny.cz/modules/news/article.php?storyid=128