<?php echo _title;?> www.prochazka.zde.cz
www.ccsinfo.com/CEH
Server si právě čte 13 lidí, dnes je čtvrtek, 28. Březen 2024   
Kategorie: Programy, PHP, RS SunLight

Formátování BBCode pomocí GESHI

icons pic Modul pro RS (redakční systém) SunLight CMS 7.5.x. na formátování BBCode kódu pomocí GESHI modulu...

Tento plugin formátuje zdrojové kódy pod článkem v diskuzi.

Instalace: spočívá nakopírovaní celého adresáře do .\plugins\extend. V administraci webu je třeba zapnout podporu externích zásuvných modulů. Pro správný chod tohoto zásuvného modulu nainstalujte i HCM modul GESHI. V seznamu ikon u psaní komentáře je o jednu ikonu navíc.

icons pic

Mezi vytvořené tagy vložte požadovaný zdrojový kód. Pokud nic dalšího nezadáte, tak se použije prosta šablona TEXT, pokud chcete specifikovat formátovací jazyk zadejte úplně na začátek klíčové slovo lang, malým písmem a za znak rovnosti přidáte požadovaný jazyk formátování. Nic nedávejte do apostrofů, nebo uvozovek a vše bez mezer. Za celým tímto zápisem bude čárka a ihned následuje formátovaný text.

Stáhnout GeshiBBCode.rar modul: GeshiBBCode.rar verze 1.1.0.

Příklad použití:

Text code
[geshi]lang=cpp,BYTE WINAPI ReadData(BYTE a) {
 BYTE IoData[1];
 DWORD BytesRet;
 IoData[0] = a|0x10; // set the bit for read operations
 DeviceIoControl(hUSB_LPT,IOCTL_VLPT_OutIn,IoData ,sizeof(IoData),IoData,sizeof(IoData),&BytesRet,NULL);
 return IoData[0];
}[/geshi]

V tomto konkrétním příkladu: [geshi]lang=cpp, je určen jazyk cpp, to znamená C++.

Kód GeshiBBCode:

PHP code
<?php
// Autor www.prochazka.zde.cz
// verze souboru  v1.1.0.
// dne 30.11.2013 - vytvoreni modulu

/* ----  kontrola jadra  ---- */
if (!defined('_core')) die;

// registrace do udalosti
_extend('regm', array(
    // registraci syntaxe tagu
    'bbcode.extend.tags'=> function($args) {
        // parovy 1/0; ma argument 1/0; muze byt umisten v jinych tazich 1/0; muze obsahovat jine tagy 1/0; null=bez obrazku
        $args['tags']['geshi'] = array(true, false, false, false, _indexroot. "plugins/extend/web.code/geshi.png");
    },
    // registraci provedeni tagu
    'bbcode.extend.proc' => function($args) {
        // vyhodnoceni tagu
        $args['tags']['geshi'] = function($argument, $obsah) {
            $StytleCode='' ;  
            $sConstanc ="lang=";
            $nLenghtConstanc = strlen ($sConstanc);
            $nPosition = stripos($obsah,$sConstanc,0);
            $nPositionStart = stripos($obsah,',',$nPosition + $nLenghtConstanc);
            $SlandGeshi = substr($obsah,$nPosition + $nLenghtConstanc, $nPositionStart - ($nPosition + $nLenghtConstanc));
            $obsahNew = substr ($obsah,$nPositionStart + 1);
           
            if ($StytleCode != '' ){$StytleCode =  ' - '. $StytleCode;}
            include_once _indexroot.'plugins/hcm/hacesoft/geshi/geshi.php';
            $geshi= new GeSHi($obsahNew ,$SlandGeshi);
            if ($geshi -> error ( )){$geshi->set_source ($obsah); $geshi->set_language ("text");}
            $geshi->set_header_type(GESHI_HEADER_DIV);
            $geshi->set_header_content($geshi->get_language_name().' code'. $StytleCode);
            $geshi->set_overall_style('font: normal normal 100% monospace; color: #100066; border: 1px solid #d0d0d0; background-color: #f0f0f0;', true);
            $geshi->set_line_style('color: #403030;', 'font-weight: bold; color: #026060;', true);
            $geshi->set_code_style('color: #f010d0;', true);
            $geshi->set_header_content_style('font-family: sans-serif; color: #807080; font-size: 100%; text-align : center; font-weight: bold; background-color: #f0f0ff; border-bottom: 1px solid #70d0d0; padding: 2px;');
            $output = $geshi->parse_code();  
        return $output;
        };
    }
));

print Formát pro tisk

Komentáře rss

Přidat komentář >

Nebyly přidány žádné komentáře.

Všechny informace jsou zahrnuty pod GPL licenci, pokud není explicitně uveden jiný typ licence.
Používání těchto stránek ke komerčním účelům lze jen se souhlasem autora.
Všechna práva vyhrazena (c) 1997 - 2024 hacesoft.
Jste návštevník číslo: 370140
Celkem zobrazeno stránek: 12276365
Přihlásit do administrace