Exemple #1
0
function canExecute($aid)
{
    $user = \cf\User::getLoggedIn();
    if (!$user) {
        return false;
    }
    $canExecute = false;
    $grants = \cf\query2vector('
		SELECT can_execute 
		FROM cf_role_action_grants 
		WHERE (action_id=:aid OR action_id IS NULL)
		  AND (role_id IN (SELECT role_id FROM cf_user_roles WHERE user_id=:uid) OR role_id IS NULL)
		ORDER BY role_id, action_id', array('aid' => $aid, 'uid' => $user->id()));
    foreach ($grants as $g) {
        $canExecute = (bool) $g;
    }
    return $canExecute;
}
Exemple #2
0
function findCategories($search, $path = '', $showHidden = false)
{
    $params = array();
    $sqlSearch = array();
    if ($search) {
        $search = is_array($search) ? $search : array($search);
        for ($i = 0; $i < count($search); ++$i) {
            $sqlSearch[] = "(\r\n\t\t\t\tname LIKE CONCAT('%',:search{$i},'%') OR\r\n\t\t\t\tshort_descr LIKE CONCAT('%',:search{$i},'%') OR\r\n\t\t\t\tdescr LIKE CONCAT('%',:search{$i},'%')\r\n\t\t\t)";
            $params["search{$i}"] = $search[$i];
        }
    }
    $IDs = \cf\query2vector("\r\n\t\tSELECT id\r\n\t\tFROM cf_groups\r\n\t\tWHERE " . implode(' AND ', $sqlSearch) . ($showHidden ? '' : ' AND (hidden IS NULL OR hidden=0)'), $params);
    $categories = array();
    foreach ($IDs as $id) {
        $categories[] = getCategory($id, $path);
    }
    return $categories;
}
Exemple #3
0
function do_edit_create($k)
{
    global $smarty;
    $smarty->assign('allCategories', json_encode(cf\api\admin\getTree('news_categories')));
    $smarty->assign('channelCategories', json_encode(cf\query2vector('SELECT category_id FROM cf_rss_channel_to_category WHERE channel_id=:channelId', array('channelId' => $k ? $k['id'] : 0))));
}
Exemple #4
0
function do_edit_create($k)
{
    global $smarty;
    $smarty->assign('allCategories', json_encode(cf\api\admin\getTree('pages')));
    $smarty->assign('newsCategories', json_encode(cf\query2vector('SELECT category_id FROM cf_news_in_category WHERE news_id=:newsId', array('newsId' => $k ? $k['id'] : 0))));
}
Exemple #5
0
function updateChannel($channel)
{
    if (!is_array($channel)) {
        return;
    }
    $dt = time();
    if (array_key_exists('lastbuilddate', $channel)) {
        $dt = parseRfc822Date($channel['lastbuilddate']);
    } elseif (array_key_exists('pubdate', $channel)) {
        $dt = parseRfc822Date($channel['pubdate']);
    }
    global $channelID, $categories, $abort;
    $lastUpdate = cf\query2var("SELECT UNIX_TIMESTAMP(last_upload) FROM cf_rss_channel WHERE id=:id", array('id' => $channelID));
    if ($lastUpdate >= $dt) {
        $abort = true;
        return;
    }
    $channel['date'] = $dt;
    cf\execQuery("UPDATE cf_rss_channel SET last_upload=FROM_UNIXTIME(:dt),added_count=0 WHERE id=:id", array('id' => $channelID, 'dt' => $dt));
    //delete old
    $catDel = cf\query2vector("SELECT cf_news_in_category.id FROM cf_news INNER JOIN cf_news_in_category ON cf_news.id=cf_news_in_category.news_id WHERE cf_news.rss_chanel_id={$channelID}");
    $qDel = cf\createQuery('DELETE FROM cf_news_in_category WHERE id=:id');
    foreach ($catDel as $cat) {
        $qDel->setParam('id', $cat);
        $qDel->execute();
        $qDel->close();
    }
    cf\execQuery("DELETE FROM cf_news WHERE rss_chanel_id=:id", array('id' => $channelID));
    $categories = cf\query2vector("SELECT category_id FROM cf_rss_channel_to_category WHERE channel_id=:id", array('id' => $channelID));
}
Exemple #6
0
<?php

if (strlen($pathInfo['notfound'])) {
    $news = cf\query2array("\n\t\tSELECT * FROM cf_news WHERE id=:id OR code=:id", array('id' => $pathInfo['notfound']));
    $page['keywords'] = $news['tag_meta_keywords'];
    $page['descr'] = $news['tag_meta_descr'];
    $page['title'] = $news['tag_title'];
    $page['name'] = $news['name'];
    $page['template'] = 'article';
    $crumbs[] = array('name' => $news['name']);
    $pageText = $news['txt'];
    $productIDs = cf\query2vector("\n\t\tSELECT product_id AS id FROM cf_products_in_news WHERE news_id=:newsid ORDER BY sort_order\n\t", array('newsid' => $news['id']));
    $products = array();
    foreach ($productIDs as $pid) {
        $products[] = cf\api\shop\getProduct($pid);
    }
    $smarty->assign('products', prepareProducts($products));
    return true;
}
$smarty->assign('newslist', cf\query2arrays("\n\tSELECT IFNULL(code,cf_news.id) AS code,name,image,short_txt \n\tFROM cf_news \n\tINNER JOIN cf_news_in_category ON cf_news.id=cf_news_in_category.news_id\n\tWHERE cf_news_in_category.category_id = :pid\n\tORDER BY dt DESC\n", array('pid' => $page['id'])));
Exemple #7
0
function do_edit_create($k)
{
    global $smarty;
    $smarty->assign('allAlbums', json_encode(cf\api\admin\getTree('pages')));
    $smarty->assign('imageAlbums', json_encode(cf\query2vector('SELECT album_id FROM cf_gallery_image_in_album WHERE image_id=:image_id', array('image_id' => $k ? $k['id'] : 0))));
}
Exemple #8
0
<?php

require_once 'init.php';
require_once cf\Config::path . 'api/shop.php';
$page = cf\api\page\get(cf\param::get('id'));
if (!$page) {
    $page = cf\api\page\get('error');
}
$smarty->assign('pageText', cf\api\page\getText($page['id']));
$smarty->assign('pageId', $page['depth'] <= 2 ? $page['id'] : $page['parent']['id']);
$crumbs = array();
foreach ($page['branch'] as $p) {
    $crumbs[] = array('name' => $p['menu_name'], 'link' => $p['path']);
}
$smarty->assign('children', cf\api\page\getTree($page['id'], false, 1, '/articles'));
if ($page['parent']['code'] == 'articles') {
    $smarty->assign('isarticle', true);
    $products = array();
    foreach (cf\query2vector("SELECT product_id FROM products_in_articles WHERE article_id=:aid", array('aid' => $page['id'])) as $pid) {
        $p = cf\api\shop\getProduct($pid);
        $p[] = $p['id'];
        $p[2] = $p['name'];
        $p[8] = $p['price'];
        $p[14] = $p['article'];
        $p[15] = $p['state_id'];
        $p[16] = $p['state'];
        $products[] = $p;
    }
    $smarty->assign('products', $products);
}
show($page['code'] == 'faq' ? 'faq' : 'page', $page['name'], $crumbs, $page['title'], $page['keywords'], $page['descr']);