// deklaracja zmiennej $action::form
$action = empty($_GET['action']) ? '' : $_GET['action'];
switch ($action) {
    case 'add':
        $monit = array();
        // Obs³uga formularza, jesli go zatwierdzono
        if (!eregi('^([^0-9]+){2,}$', $_POST['author'])) {
            $monit[] = $i18n['comments_add'][0];
        }
        // Sprawdzenie poprawnosci adresu e-mail
        if (!empty($_POST['email']) && !check_mail($_POST['email'])) {
            $monit[] = $i18n['comments_add'][1];
        }
        // Je¿eli dane spe³niaja wszystkie kryteria dodanie nowego komentarza
        if (empty($monit)) {
            $text = str_nl2br($_POST['text']);
            // [b] i [/b] dla tekstu pogrubionego.
            $text = preg_replace('/\\[b\\]([^\\"]+)\\[\\/b\\]/', '<b>\\1</b>', $text);
            // [i] i [/i] dla tekstu pochylonego.
            $text = preg_replace('/\\[i\\]([^\\"]+)\\[\\/i\\]/', '<i>\\1</i>', $text);
            // [u] i [/u] dla tekstu podkre¶lonego.
            $text = preg_replace('/\\[u\\]([^\\"]+)\\[\\/u\\]/', '<u>\\1</u>', $text);
            // [abbr] i [/abbr] dla akronimów.
            $text = preg_replace('/\\[abbr=([^\\"]+)\\]([^\\"]+)\\[\\/abbr\\]/', '<abbr title="\\1">\\2</abbr>', $text);
            // [link] i [/link] dla odsy³aczy.
            $text = preg_replace('/\\[link\\]([^\\"]+)\\[\\/link\\]/', '<a href="\\1" target="_blank">\\1</a>', $text);
            // [link=] i [/link] dla odsy³aczy.
            $text = preg_replace('/\\[link=([^\\"]+)\\]([^\\"]+)\\[\\/link\\]/', '<a href="\\1" target="_blank">\\2</a>', $text);
            $text = str_replace(array('[quote]', '[/quote]'), array('<div class="quote">', '</div>'), $text);
            $id = $_POST['id'];
            $id_news = $_POST['comments_id'];
     $perms->permissions["user"] = TRUE;
     $perms->permissions["writer"] = TRUE;
     $perms->permissions["moderator"] = TRUE;
     $perms->permissions["tpl_editor"] = TRUE;
     $perms->permissions["admin"] = TRUE;
     $bitmask = $perms->toBitmask();
     // wstawiamy pocz±tkowego u¿ytkownika
     $query = sprintf("\r\n            INSERT INTO\r\n                %1\$s\r\n            VALUES\r\n                ('language_set', '%2\$s')", $t3, $lang);
     $db->query($query);
     // wstawiamy pocz±tkowego u¿ytkownika
     $query = sprintf("\r\n            INSERT INTO\r\n                %1\$s\r\n            VALUES\r\n                ('', '%2\$s', '%3\$s', '%4\$s', '%5\$d', 'Y', '', '', '', '', '', '', '', '', '', '')", $t1, $coreuser, $pass, $coremail, $bitmask);
     $db->query($query);
     if ($fp == FALSE) {
         $err .= $i18n['main_content'][5];
         $file = str_replace('<', '&lt;', $file);
         $err .= "<div class=\"code\">" . str_nl2br($file) . "</div>";
         $err .= "<br /><br />";
     } else {
         $err .= $i18n['main_content'][4];
     }
     if (!is_writable('../photos')) {
         $photos_dir = realpath('./../') . '/photos/';
         $err .= $i18n['main_content'][6];
     }
     $ft->assign('MONIT', $err);
     $ft->define('monit_content', "monit_content.tpl");
     $ft->parse('ROWS', ".monit_content");
 } else {
     $ft->define("error_reporting", "error_reporting.tpl");
     $ft->define_dynamic("error_row", "error_reporting");
     foreach ($monit as $error) {
$CoreNews->news_get($_REQUEST['id']);
$news =& $CoreNews->news[$_REQUEST['id']];
$monit = array();
$ft->assign('NOTE_PREVIEW', false);
if (isset($_POST['sub_commit'])) {
    //modyfikujemy wpis
    if (!$CoreNews->news_update()) {
        $monit = $CoreNews->error_get();
    } else {
        header('Location: main.php?p=16&msg=5');
        exit;
    }
    $ft->assign('NOTE_PREVIEW', str_nl2br($_POST['text']));
} elseif (isset($_POST['sub_preview'])) {
    //podglad wpisanej tresci
    $ft->assign('NOTE_PREVIEW', str_nl2br($_POST['text']));
}
$oic_y = 'checked="checked"';
$oic_n = '';
$ca_y = 'checked="checked"';
$ca_n = '';
$p_y = 'checked="checked"';
$p_n = '';
$date_now = '';
$date_disabled = '';
if (!$news->get_only_in_category()) {
    $oic_y = '';
    $oic_n = 'checked="checked"';
}
if (!$news->get_comments_allow()) {
    $ca_y = '';
function parse_markers($text, $break = 0, $tab = 0, $tab_long = 4)
{
    $pregResultArr = array();
    $pregResultArrSize = 0;
    $hash = md5($text);
    $tempArr = array();
    preg_match_all("#<(ul|li|ol)[^>]*?>.*?</(\\1)>#si", $text, $pregResultArr);
    $pregResultArrSize = sizeOf($pregResultArr[0]);
    for ($i = 0; $i < $pregResultArrSize; $i++) {
        $tempArr[$i] = $hash . '_' . $i;
    }
    $text = str_replace($pregResultArr[0], $tempArr, $text);
    $break == 1 ? $text = str_nl2br($text) : '';
    $tab == 1 ? $text = str_replace("\t", str_repeat('&nbsp;', $tab_long), $text) : '';
    $text = str_replace($tempArr, $pregResultArr[0], $text);
    return $text;
}
 function do_install()
 {
     global $ft, $i18n;
     $this->dbcreate = $_POST['dbcreate'];
     $this->db_schema = SQL_SCHEMA . 'core-mysql_install.sql';
     if (isset($this->dbcreate)) {
         $dsn = 'mysql:host=' . $this->dbhost;
         try {
             $dbh = new PDO($dsn, $this->dbuser, $this->dbpass);
         } catch (PDOException $e) {
             echo 'Wyjatek z³apany: ' . $e->getMessage();
         }
         $dbh->exec("CREATE DATABASE {$this->dbname}");
     }
     $dsn = 'mysql:dbname=' . $this->dbname . ';host=' . $this->dbhost;
     try {
         $dbh = new PDO($dsn, $this->dbuser, $this->dbpass);
     } catch (PDOException $e) {
         echo 'Wyjatek z³apany: ' . $e->getMessage();
     }
     $sql_query = explode(';', file_get_contents($this->db_schema));
     $sql_query = str_replace('core_', $this->dbprefix, $sql_query);
     $sql_query = $this->lang == 'en' ? str_replace('DEFAULT_CATEGORY', 'default', $sql_query) : str_replace('DEFAULT_CATEGORY', 'ogólna', $sql_query);
     $sql_size = sizeof($sql_query) - 1;
     for ($i = 0; $i < $sql_size; $i++) {
         $dbh->exec($sql_query[$i]);
     }
     $file = '<?php' . "\n";
     $file .= "\n// Core CMS auto-generated config file\n\n";
     $file .= 'define(\'DB_HOST\', \'' . $this->dbhost . '\');' . "\n";
     $file .= 'define(\'DB_USER\', \'' . $this->dbuser . '\');' . "\n";
     $file .= 'define(\'DB_PASS\', \'' . $this->dbpass . '\');' . "\n";
     $file .= 'define(\'DB_NAME\', \'' . $this->dbname . '\');' . "\n";
     $file .= 'define(\'PREFIX\', \'' . $this->dbprefix . '\');' . "\n\n";
     $file .= "define('TABLE_ASSIGN2CAT',    PREFIX . 'assign2cat');\n";
     $file .= "define('TABLE_MAIN',          PREFIX . 'devlog');\n";
     $file .= "define('TABLE_USERS',         PREFIX . 'users');\n";
     $file .= "define('TABLE_COMMENTS',      PREFIX . 'comments');\n";
     $file .= "define('TABLE_CONFIG',        PREFIX . 'config');\n";
     $file .= "define('TABLE_CATEGORY',      PREFIX . 'category');\n";
     $file .= "define('TABLE_PAGES',         PREFIX . 'pages');\n";
     $file .= "define('TABLE_LINKS',         PREFIX . 'links');\n";
     $file .= "define('TABLE_NEWSLETTER',    PREFIX . 'newsletter');\n\n";
     $file .= "define('CORE_INSTALLED',  true);\n\n";
     $file .= '//mail address to person who can repair if something in Your code is broken' . "\n";
     $file .= "define('ADMIN_MAIL',      '*****@*****.**');\n\n";
     $file .= '?' . '>';
     $fp = file_put_contents('../administration/inc/config.php', $file);
     $pass = md5($this->corepass_1);
     $t1 = $this->dbprefix . 'users';
     $t2 = $this->dbprefix . 'category';
     $t3 = $this->dbprefix . 'config';
     $perms = new permissions();
     $perms->permissions["user"] = TRUE;
     $perms->permissions["writer"] = TRUE;
     $perms->permissions["moderator"] = TRUE;
     $perms->permissions["tpl_editor"] = TRUE;
     $perms->permissions["admin"] = TRUE;
     $bitmask = $perms->toBitmask();
     // wstawiamy pocz±tkowego u¿ytkownika
     $query = sprintf("\r\n            INSERT INTO\r\n                %1\$s\r\n            VALUES\r\n                ('language_set', '%2\$s')", $t3, $this->lang);
     $dbh->exec($query);
     // wstawiamy pocz±tkowego u¿ytkownika
     $query = sprintf("\r\n            INSERT INTO\r\n                %1\$s\r\n            VALUES\r\n                ('', '%2\$s', '%3\$s', '%4\$s', '%5\$d', 'Y', '', '', '', '', '', '', '', '', '', '')", $t1, $this->coreuser, $pass, $this->coremail, $bitmask);
     $dbh->exec($query);
     if ($fp == FALSE) {
         $this->err .= $i18n['main_content'][5];
         $file = str_replace('<', '&lt;', $file);
         $this->err .= "<div class=\"code\">" . str_nl2br($file) . "</div>";
         $this->err .= "<br /><br />";
     } else {
         $this->err .= $i18n['main_content'][4];
     }
     if (!is_writable('../photos')) {
         $photos_dir = realpath('./../') . '/photos/';
         $this->err .= $i18n['main_content'][6];
     }
     $ft->assign('MONIT', $this->err);
     $ft->define('monit_content', "monit_content.tpl");
     $ft->parse('ROWS', ".monit_content");
 }