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; }
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; }
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)))); }
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)))); }
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)); }
<?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'])));
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)))); }
<?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']);