Zdravím všechny, na základě návrhu Stene byl do fóra implementován další mod a sice Syntax Highlighter.
Mod Syntax Highlighter umožňuje zobrazit kód (syntaxi) v čitelnější, barevně rozlišené podobě s očíslovanými čísly řádků, možností zvýraznění části kódu atpod. Zvýrazňovač kódu (Syntax Highlighter) je možné použít pomocí bbkódu [syntax] (dostupné i přes tlačítko syntax při psaní příspěvku).
Příklad:
Kód: Vybrat vše
[syntax] ..........misto_pro_vas_kod..............[/syntax]
Výše zmíněným příkladem docílíte toho, že se váš kód zobrazí v očíslovaných řádcích - přesně jak ukazuje obr. níže.
Jak si můžete všimnout, kód není barevně rozlišený. K tomu, aby se váš kód zobrazil barevně, je nutné přesně určit, o jaký typ syntaxe se jedná. V našem příkladě je to php, jazyk určíme pomocí parametru lang= viz. příklad 2.
Příklad 2:
Kód: Vybrat vše
[syntax lang=php] ..........misto_pro_vas_kod..............[/syntax]
Syntax Highlighter zvládá generovat až 130 různých typu syntaxí, jsou to např. php, delphi, css, mysql, asp, java, html4strict, javascript, xml a další. S parametrem lang=php by potom kód vypadal takto:
Alternativou k bbkódu [syntax] a doprovodnému parametru lang= je pak použití bbtagu dle typu syntaxe. Pro zobrazení syntaxe php použijte párový bbtag [php].
Příklad 3:
Kód: Vybrat vše
[php] ..........misto_pro_vas_kod..............[/php]
V případě, že neurčíme přesný typ kódu, je možné část kódu zvýraznit parametrem highlight. Stačí jen uvést rozmezí řádků, na kterých má být kód zvýrazněn.
Příklad 4:
Kód: Vybrat vše
[syntax highlight=5-25] ..........bezny_kod....zvyrazneny_kod na radcich 5-25....bezny_kod...[/syntax]
Samotný kód by potom vypadal takto:
V neposlední řadě je možné jako parametr uvést filename, který dopředu určuje, pod jakým názvem bude stáhnut příslušný kód. Uvedeme-li např. filename=test.php, bude kód stažen a uložen do souboru test.php.
Názorná ukázka použití Syntax Highlighteru:
[syntax lang=php]
<?php
/**
*
* @package phpBB3
* @version $Id: memberlist.php 9482 2009-04-24 17:27:10Z terrafrost $
* @copyright (c) 2005 phpBB Group
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/
/**
* @ignore
*/
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
//-- mod : Genders ------------------------------------------------------------
//-- add
include($phpbb_root_path . 'includes/functions_genders.' . $phpEx);
//-- fin mod : Genders --------------------------------------------------------
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);
// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup(array('memberlist', 'groups', 'mods/skype'));
// Grab data
$mode = request_var('mode', '');
$action = request_var('action', '');
$user_id = request_var('u', ANONYMOUS);
$username = request_var('un', '', true);
$group_id = request_var('g', 0);
$topic_id = request_var('t', 0);
// Check our mode...
if (!in_array($mode, array('', 'group', 'viewprofile', 'email', 'contact', 'searchuser', 'leaders')))
{
trigger_error('NO_MODE');
}
switch ($mode)
{
case 'email':
break;
default:
// Can this user view profiles/memberlist?
if (!$auth->acl_gets('u_viewprofile', 'a_user', 'a_useradd', 'a_userdel'))
{
if ($user->data['user_id'] != ANONYMOUS)
{
trigger_error('NO_VIEW_USERS');
}
login_box('', ((isset($user->lang['LOGIN_EXPLAIN_' . strtoupper($mode)])) ? $user->lang['LOGIN_EXPLAIN_' . strtoupper($mode)] : $user->lang['LOGIN_EXPLAIN_MEMBERLIST']));
}
break;
}
[/syntax]