示例#1
0
function get_config($name)
{
    $db = new DB_SQL();
    if (RDBMS == '4.1') {
        if (!defined('STATEMENT_SET')) {
            $query = sprintf("\n                PREPARE \n                    get_config \n                FROM 'SELECT \n                    config_value \n                FROM \n                    %1\$s \n                WHERE \n                    config_name = ?'", TABLE_CONFIG);
            $db->query($query);
            $query = sprintf("SET @config_name = '%1\$s'", $name);
            $db->query($query);
            $query = "EXECUTE get_config USING @config_name";
            // definicja warunku::true
            define('STATEMENT_SET', true);
        } else {
            $query = sprintf("SET @config_name = '%1\$s'", $name);
            $db->query($query);
            $query = "EXECUTE get_config USING @config_name";
        }
    } else {
        $query = sprintf("\n            SELECT\n                config_value\n            FROM\n                %1\$s\n            WHERE\n                config_name = '%2\$s'", TABLE_CONFIG, $name);
    }
    $db->query($query);
    $db->next_record();
    return $db->f('config_value');
}
示例#2
0
         }
         $ft->assign('OVERWRITE_PHOTO', !empty($image) ? true : false);
         if (!empty($image)) {
             $ft->define("form_imageedit", "form_imageedit.tpl");
             $ft->assign('IMAGE', $image);
             $ft->parse('IF_IMAGE_EXIST', ".form_imageedit");
         }
         $query = sprintf("\r\n                SELECT \r\n                    category_id, \r\n                    category_parent_id, \r\n                    category_name \r\n                FROM \r\n                    %1\$s \r\n                WHERE \r\n                    category_parent_id = '%2\$d'", TABLE_CATEGORY, 0);
         $sql = new DB_SQL();
         $db->query($query);
         while ($db->next_record()) {
             $c_id = $db->f("category_id");
             $c_name = $db->f("category_name");
             $query = sprintf("\r\n                    SELECT * FROM \r\n                        %1\$s \r\n                    WHERE \r\n                        category_id = '%2\$d' \r\n                    AND \r\n                        news_id = '%3\$d'", TABLE_ASSIGN2CAT, $c_id, $_GET['id']);
             $sql->query($query);
             $sql->next_record();
             $assigned = $sql->f("category_id");
             $ft->assign(array('C_ID' => $c_id, 'C_NAME' => $c_name, 'PAD' => '', 'CURRENT_CAT' => $c_id == $assigned ? 'checked="checked"' : ''));
             $ft->define("form_noteedit", "form_noteedit.tpl");
             $ft->define_dynamic("cat_row", "form_noteedit");
             $ft->parse('CAT_ROW', ".cat_row");
             get_editnews_assignedcat($c_id, 2);
         }
         $ft->parse('ROWS', "form_noteedit");
     }
     break;
 case "delete":
     // usuwanie wybranego wpisu
     // potwierdzenie usuniecia wpisu
     $confirm = empty($_POST['confirm']) ? '' : $_POST['confirm'];
     switch ($confirm) {
示例#3
0
require_once '../inc/common_lib.php';
require_once '../inc/admin_lib.php';
// mysql_server_version
get_mysql_server_version();
$lang = get_config('language_set');
require_once 'i18n/' . $lang . '/i18n.php';
require_once PATH_TO_CLASSES . '/cls_fast_template.php';
require_once PATH_TO_CLASSES . '/cls_permissions.php';
// inicjowanie klasy, wkazanie katalogu przechowuj±cego szablony
$ft = new FastTemplate('./templates/' . $lang . '/tpl');
// egzemplarz klasy obs³uguj±cej bazê danych Core
$db = new DB_SQL();
// pobieramy poziom uprawnieñ
$query = sprintf("\r\n    SELECT \r\n        permission_level \r\n    FROM \r\n        %1\$s \r\n    WHERE \r\n        login = '******'", TABLE_USERS, $_SESSION['login']);
$db->query($query);
$db->next_record();
$privileges = $db->f('permission_level');
// egzemplarz klasy do obs³ugi uprawnieñ
$perms = new permissions();
$permarr = $perms->getPermissions($privileges);
$ft->assign(array('PERMS_USER' => false, 'PERMS_WRITER' => false, 'PERMS_MODERATOR' => false, 'PERMS_TPLEDITOR' => false, 'PERMS_ADMIN' => false));
switch ($privileges) {
    case '1':
        $privilege_level = 1;
        $ft->assign('PERMS_USER', true);
        break;
    case '3':
        $privilege_level = 2;
        $ft->assign('PERMS_USER', true);
        $ft->assign('PERMS_WRITER', true);
        break;
示例#4
0
require "inc/common_lib.php";
require "inc/main_lib.php";
// mysql_server_version
get_mysql_server_version();
$db = new DB_SQL();
$query = sprintf("\r\n    SELECT \r\n        b.*, a.id, a.title \r\n    FROM \r\n        %1\$s b \r\n    LEFT JOIN \r\n        %2\$s a \r\n    ON \r\n        b.comments_id = a.id \r\n    GROUP BY \r\n        date \r\n    DESC \r\n    LIMIT \r\n        %3\$d", TABLE_COMMENTS, TABLE_MAIN, 10);
$db->query($query);
$rewrite = get_config('mod_rewrite');
$lang = get_config('language_set');
$ft = new FastTemplate('./templates/' . $lang . '/main/tpl/');
$ft->define('xml_feed', 'xml_feed.tpl');
$ft->define_dynamic('xml_row', 'xml_feed');
$http_root = get_httproot();
$ft->assign(array('MAINSITE_LINK' => 'http://' . $http_root, 'NEWS_FEED' => false));
if ($db->num_rows() > 0) {
    while ($db->next_record()) {
        $date = $db->f("date");
        $title = $db->f("title");
        $text = $db->f("text");
        $author = $db->f("author");
        $id = $db->f("id");
        $image = $db->f("image");
        $comments_allow = $db->f("comments_allow");
        $comments = $db->f("comments");
        $date = coreRssDateConvert($date);
        $pattern = array("&", "<br />", "<", ">");
        $replacement = array(" &amp; ", "&lt;br /&gt;", "&lt;", "&gt;");
        $text = str_replace($pattern, $replacement, $text);
        $permanent_link = (bool) $rewrite ? $http_root . '1,' . $id . ',1,item.html' : $http_root . 'index.php?p=1&amp;id=' . $id . '';
        $ft->assign(array('DATE' => $date, 'TITLE' => $title, 'AUTHOR' => $author, 'PERMALINK' => $permanent_link, 'TEXT' => $text, 'DISPLAY_XML' => true));
        $ft->parse('XML_ROW', ".xml_row");
         $ft->parse('ROWS', "error_reporting");
     }
     break;
 case "remark":
     // zmiana pozycji wybranej kategorii
     if ($permarr['moderator']) {
         $move = intval($_GET['move']);
         $query = sprintf("\n                UPDATE \n                    %1\$s \n                SET \n                    category_order = category_order + '%2\$d' \n                WHERE \n                    category_id='%3\$d'", TABLE_CATEGORY, $move, $_GET['id']);
         $db->query($query);
         // instancja potrzebna
         $sql = new DB_SQL();
         $query = sprintf("\n                SELECT * FROM \n                    %1\$s \n                WHERE \n                    category_parent_id = '0' \n                ORDER BY \n                    category_order \n                ASC", TABLE_CATEGORY);
         $sql->query($query);
         $i = 10;
         $inc = 10;
         while ($sql->next_record()) {
             $cid = $sql->f("category_id");
             $query = sprintf("\n                    UPDATE \n                        %1\$s \n                    SET \n                        category_order = '{$i}' \n                    WHERE \n                        category_id = '{$cid}'", TABLE_CATEGORY);
             $db->query($query);
             $i += 10;
         }
         header("Location: main.php?p=9");
         exit;
     } else {
         $monit[] = $i18n['edit_category'][6];
         foreach ($monit as $error) {
             $ft->assign('ERROR_MONIT', $error);
             $ft->parse('ROWS', ".error_row");
         }
         $ft->parse('ROWS', "error_reporting");
     }
示例#6
0
function list_assigned_categories($id)
{
    global $ft, $rewrite;
    $query = sprintf("\r\n        SELECT \r\n            a.*, b.* \r\n        FROM \r\n            %1\$s a \r\n        LEFT JOIN \r\n            %2\$s b \r\n        ON \r\n            a.category_id = b.category_id \r\n        WHERE \r\n            a.news_id = '%3\$d'", TABLE_ASSIGN2CAT, TABLE_CATEGORY, $id);
    $sql = new DB_SQL();
    $sql->query($query);
    $count_cats = $sql->nf();
    $idx = 1;
    while ($sql->next_record()) {
        $cname = replace_amp($sql->f('category_name'));
        $cid = $sql->f('category_id');
        $category_link = (bool) $rewrite ? sprintf('1,%s,4,item.html', $cid) : 'index.php?p=4&amp;id=' . $cid;
        $ft->assign(array('CATEGORY_NAME' => $cname, 'CATEGORY_LINK' => $category_link, 'COMMA' => $count_cats == $idx ? '' : ', '));
        $ft->parse('CAT_ROW', ".cat_row");
        $idx++;
    }
    // CAT_ROW musi byc czyste
    $ft->clear_parse('CAT_ROW');
}
示例#7
0
function get_editcategory_cat($category_id, $level)
{
    global $ft, $idx1, $count, $i18n;
    $lang = get_config('language_set');
    $query = sprintf("\n        SELECT \n            a.*, count(b.id) AS count \n        FROM \n            %1\$s a \n        LEFT JOIN \n            %2\$s b \n        ON \n            a.category_id = b.category_id \n        WHERE \n            category_parent_id = '%3\$d'\n        GROUP BY \n            category_id \n        ORDER BY \n            category_id \n        ASC", TABLE_CATEGORY, TABLE_ASSIGN2CAT, $category_id);
    $db = new DB_SQL();
    $db->query($query);
    while ($db->next_record()) {
        $category_id = $db->f("category_id");
        $category_name = $db->f("category_name");
        $cat_parent_id = $db->f("category_parent_id");
        $category_descrition = $db->f("category_description");
        $count = $db->f("count");
        $ft->assign(array('CATEGORY_ID' => $category_id, 'CATEGORY_NAME' => str_repeat('&nbsp; ', $level) . '<img src="templates/' . $lang . '/images/ar.gif" />&nbsp;' . $category_name, 'COUNT' => $count, 'REORDER_DOWN' => false, 'REORDER_UP' => false, 'CATEGORY_DESC' => empty($category_description) ? $i18n['edit_category'][4] : $category_description));
        // deklaracja zmiennej $idx1::color switcher
        $idx1 = empty($idx1) ? '' : $idx1;
        $idx1++;
        // naprzemienne kolorowanie wierszy tabeli
        $ft->assign('ID_CLASS', $idx1 % 2 ? 'mainList' : 'mainListAlter');
        $ft->parse('ROWS', ".row");
        get_editcategory_cat($category_id, $level + 2);
    }
}
示例#8
0
function get_config($name)
{
    $db = new DB_SQL();
    if (!defined('RDBMS')) {
        define('RDBMS', '4.0');
    }
    if (RDBMS == '4.1') {
        if (!defined('STATEMENT_SET')) {
            $query = sprintf("\n                PREPARE \n                    get_config \n                FROM 'SELECT \n                    config_value \n                FROM \n                    %1\$s \n                WHERE \n                    config_name = ?'", TABLE_CONFIG);
            $db->query($query);
            $query = sprintf("SET @config_name = '%1\$s'", $name);
            $db->query($query);
            $query = "EXECUTE get_config USING @config_name";
            /*
             * TODO:
             * czy tutaj ta stala nie powinna nieco inaczej wygladac ?
             * zakladam, ze powyzszy sposob, czyli korzystae z prepared
             * statements bedziemy wykorzystywac szerzej. wiec nie moze byc
             * jedna stala o nieznaczacej zbyt wiele nazwie, i zeby sie ja
             * dalo wykorzystac szerzej, do wiekszej ilosci statementsow
             *
             * poza tym, nie mam teraz jak, ale warto by sprawdzic, jak dlugo
             * prepared statements 'utrzymuja' sie w bazie. bo zakladam ze dluzej 
             * niz okres zycia tej stalej ? jesli nie, to korzystanie z tego jest
             * malo wygodne, i sensowne w tym wypadku.
             *
             * jesli prepared statements zyja wystarzajaca dlugo, np tyle samo
             * co otwarte polaczenie z sql, to moze warto wrzucac w jakas tablice
             * do sesji wartosci bool, czy dana 'przygotowana stala' zostala juz
             * zdefiniowana. 
             * 
             */
            // definicja warunku::true
            define('STATEMENT_SET', true);
        } else {
            $query = sprintf("SET @config_name = '%1\$s'", $name);
            $db->query($query);
            $query = "EXECUTE get_config USING @config_name";
        }
    } else {
        $query = sprintf("\n            SELECT\n                config_value\n            FROM\n                %1\$s\n            WHERE\n                config_name = '%2\$s'", TABLE_CONFIG, $name);
    }
    $db->query($query);
    $db->next_record();
    return $db->f('config_value');
}
示例#9
0
function list_assigned_categories($id)
{
    global $ft, $rewrite, $CoreRewrite;
    $query = sprintf("\n        SELECT \n            a.*, b.* \n        FROM \n            %1\$s a \n        LEFT JOIN \n            %2\$s b \n        ON \n            a.category_id = b.category_id \n        WHERE \n            a.news_id = '%3\$d'", TABLE_ASSIGN2CAT, TABLE_CATEGORY, $id);
    $sql = new DB_SQL();
    $sql->query($query);
    $count_cats = $sql->nf();
    $idx = 1;
    while ($sql->next_record()) {
        $cname = replace_amp($sql->f('category_name'));
        $cid = $sql->f('category_id');
        $ft->assign(array('CATEGORY_NAME' => $cname, 'CATEGORY_LINK' => $CoreRewrite->category_news($cid, $rewrite), 'COMMA' => $count_cats == $idx ? '' : ', '));
        $ft->parse('CAT_ROW', ".cat_row");
        $idx++;
    }
    // CAT_ROW musi byc czyste
    $ft->clear_parse('CAT_ROW');
}