本文整理汇总了PHP中map::init方法的典型用法代码示例。如果您正苦于以下问题:PHP map::init方法的具体用法?PHP map::init怎么用?PHP map::init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类map
的用法示例。
在下文中一共展示了map::init方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: article_list
function article_list($vars)
{
if ($vars['loop'] === "rel" && empty($vars['id'])) {
return false;
}
$resource = array();
$map_where = array();
$status = '1';
isset($vars['status']) && ($status = (int) $vars['status']);
$where_sql = "WHERE `status`='{$status}'";
$vars['call'] == 'user' && ($where_sql .= " AND `postype`='0'");
$vars['call'] == 'admin' && ($where_sql .= " AND `postype`='1'");
$hidden = iCache::get('iCMS/category/hidden');
$hidden && ($where_sql .= iPHP::where($hidden, 'cid', 'not'));
$maxperpage = isset($vars['row']) ? (int) $vars['row'] : 10;
$cache_time = isset($vars['time']) ? (int) $vars['time'] : -1;
isset($vars['userid']) && ($where_sql .= " AND `userid`='{$vars['userid']}'");
isset($vars['weight']) && ($where_sql .= " AND `weight`='" . _int($vars['weight']) . "'");
if (isset($vars['ucid']) && $vars['ucid'] != '') {
$where_sql .= " AND `ucid`='{$vars['ucid']}'";
}
if (isset($vars['cid!'])) {
$ncids = explode(',', $vars['cid!']);
$vars['sub'] && ($ncids += iCMS::get_category_ids($ncids, true));
$where_sql .= iPHP::where($ncids, 'cid', 'not');
}
if ($vars['cid'] && !isset($vars['cids'])) {
$cid = explode(',', $vars['cid']);
$vars['sub'] && ($cid += iCMS::get_category_ids($cid, true));
$where_sql .= iPHP::where($cid, 'cid');
}
if (isset($vars['cids']) && !$vars['cid']) {
$cids = explode(',', $vars['cids']);
$vars['sub'] && ($cids += iCMS::get_category_ids($vars['cids'], true));
if ($cids) {
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('category', iCMS_APP_ARTICLE);
$map_where += map::where($cids);
}
}
if (isset($vars['pid']) && !isset($vars['pids'])) {
$where_sql .= iPHP::where($vars['pid'], 'pid');
}
if (isset($vars['pids']) && !isset($vars['pid'])) {
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('prop', iCMS_APP_ARTICLE);
$map_where += map::where($vars['pids']);
}
if (isset($vars['tids'])) {
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('tags', iCMS_APP_ARTICLE);
$map_where += map::where($vars['tids']);
}
if (isset($vars['keywords'])) {
//最好使用 iCMS:article:search
if (empty($vars['keywords'])) {
return;
}
if (strpos($vars['keywords'], ',') === false) {
$vars['keywords'] = str_replace(array('%', '_'), array('\\%', '\\_'), $vars['keywords']);
$where_sql .= " AND CONCAT(title,keywords,description) like '%" . addslashes($vars['keywords']) . "%'";
} else {
$kws = explode(',', $vars['keywords']);
foreach ($kws as $kwv) {
$keywords .= addslashes($kwv) . "|";
}
$keywords = substr($keywords, 0, -1);
$where_sql .= " AND CONCAT(title,keywords,description) REGEXP '{$keywords}' ";
}
}
$vars['id'] && ($where_sql .= iPHP::where($vars['id'], 'id'));
$vars['id!'] && ($where_sql .= iPHP::where($vars['id!'], 'id', 'not'));
$by = $vars['by'] == "ASC" ? "ASC" : "DESC";
isset($vars['pic']) && ($where_sql .= " AND `haspic`='1'");
isset($vars['nopic']) && ($where_sql .= " AND `haspic`='0'");
switch ($vars['orderby']) {
case "id":
$order_sql = " ORDER BY `id` {$by}";
break;
case "hot":
$order_sql = " ORDER BY `hits` {$by}";
break;
case "week":
$order_sql = " ORDER BY `hits_week` {$by}";
break;
case "month":
$order_sql = " ORDER BY `hits_month` {$by}";
break;
case "comment":
$order_sql = " ORDER BY `comments` {$by}";
break;
case "pubdate":
$order_sql = " ORDER BY `pubdate` {$by}";
break;
case "disorder":
$order_sql = " ORDER BY `ordernum` {$by}";
break;
case "rand":
$order_sql = " ORDER BY rand() {$by}";
break;
//.........这里部分代码省略.........
示例2: do_batch
function do_batch()
{
$idArray = (array) $_POST['id'];
$idArray or iPHP::alert("请选择要操作的标签");
$ids = implode(',', $idArray);
$batch = $_POST['batch'];
switch ($batch) {
case 'dels':
iPHP::$break = false;
foreach ($idArray as $id) {
$this->do_del($id, false);
}
iPHP::$break = true;
iPHP::success('标签全部删除完成!', 'js:1');
break;
case 'move':
$_POST['cid'] or iPHP::alert("请选择目标栏目!");
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('category', $this->appid);
$cid = (int) $_POST['cid'];
foreach ($idArray as $id) {
$_cid = iDB::value("SELECT `cid` FROM `#iCMS@__tags` where `id` ='{$id}'");
iDB::update("tags", compact('cid'), compact('id'));
if ($_cid != $cid) {
map::diff($cid, $_cid, $id);
$this->categoryApp->update_count_one($_cid, '-');
$this->categoryApp->update_count_one($cid);
}
}
iPHP::success('成功移动到目标栏目!', 'js:1');
break;
case 'mvtcid':
$_POST['tcid'] or iPHP::alert("请选择目标分类!");
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('category', $this->appid);
$tcid = (int) $_POST['tcid'];
foreach ($idArray as $id) {
$_tcid = iDB::value("SELECT `tcid` FROM `#iCMS@__tags` where `id` ='{$id}'");
iDB::update("tags", compact('tcid'), compact('id'));
if ($_tcid != $tcid) {
map::diff($tcid, $_tcid, $id);
$this->categoryApp->update_count_one($_tcid, '-');
$this->categoryApp->update_count_one($tcid);
}
}
iPHP::success('成功移动到目标分类!', 'js:1');
break;
case 'prop':
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('prop', $this->appid);
$pid = implode(',', (array) $_POST['pid']);
foreach ((array) $_POST['id'] as $id) {
$_pid = iDB::value("SELECT pid FROM `#iCMS@__tags` WHERE `id`='{$id}'");
iDB::update("tags", compact('pid'), compact('id'));
map::diff($pid, $_pid, $id);
}
iPHP::success('属性设置完成!', 'js:1');
break;
case 'weight':
$weight = _int($_POST['mweight']);
$sql = "`weight` = '{$weight}'";
break;
case 'tpl':
$tpl = iS::escapeStr($_POST['mtpl']);
$sql = "`tpl` = '{$tpl}'";
break;
case 'keyword':
if ($_POST['pattern'] == 'replace') {
$sql = "`keywords` = '" . iS::escapeStr($_POST['mkeyword']) . "'";
} elseif ($_POST['pattern'] == 'addto') {
foreach ($idArray as $id) {
$keywords = iDB::value("SELECT keywords FROM `#iCMS@__tags` WHERE `id`='{$id}'");
$sql = "`keywords` = '" . ($keywords ? $keywords . ',' . iS::escapeStr($_POST['mkeyword']) : iS::escapeStr($_POST['mkeyword'])) . "'";
iDB::query("UPDATE `#iCMS@__tags` SET {$sql} WHERE `id`='{$id}'");
}
iPHP::success('关键字更改完成!', 'js:1');
}
break;
case 'tag':
if ($_POST['pattern'] == 'replace') {
$sql = "`related` = '" . iS::escapeStr($_POST['mtag']) . "'";
} elseif ($_POST['pattern'] == 'addto') {
foreach ($idArray as $id) {
$keywords = iDB::value("SELECT related FROM `#iCMS@__tags` WHERE `id`='{$id}'");
$sql = "`related` = '" . ($keywords ? $keywords . ',' . iS::escapeStr($_POST['mtag']) : iS::escapeStr($_POST['mtag'])) . "'";
iDB::query("UPDATE `#iCMS@__tags` SET {$sql} WHERE `id`='{$id}'");
}
iPHP::success('相关标签更改完成!', 'js:1');
}
break;
default:
if (strpos($batch, ':')) {
$data = iACP::fields($batch);
foreach ($idArray as $id) {
$data && iDB::update("tags", $data, array('id' => $id));
}
iPHP::success('操作成功!', 'js:1');
} else {
iPHP::alert('请选择要操作项!', 'js:1');
}
//.........这里部分代码省略.........
示例3: user_list
function user_list($vars = null)
{
$maxperpage = isset($vars['row']) ? (int) $vars['row'] : "100";
$cache_time = isset($vars['time']) ? (int) $vars['time'] : "-1";
$where_sql = "WHERE `status`='1'";
isset($vars['userid']) && ($where_sql .= " AND `uid`='{$vars['userid']}'");
isset($vars['gid']) && ($where_sql .= " AND `gid` ='{$vars['gid']}'");
isset($vars['type']) && ($where_sql .= " AND `type` ='{$vars['type']}'");
if (isset($vars['pid']) && !isset($vars['pids'])) {
$where_sql .= iPHP::where($vars['pid'], 'pid');
}
if (isset($vars['pids']) && !isset($vars['pid'])) {
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('prop', iCMS_APP_USER);
//$where_sql.= map::exists($vars['pid'],'`#iCMS@__user`.uid'); //map 表大的用exists
$map_where = map::where($vars['pids']);
}
$by = $vars['by'] == "ASC" ? "ASC" : "DESC";
switch ($vars['orderby']) {
case "id":
$order_sql = " ORDER BY `uid` {$by}";
break;
case "article":
$order_sql = " ORDER BY `article` {$by}";
break;
case "comments":
$order_sql = " ORDER BY `comments` {$by}";
break;
case "follow":
$order_sql = " ORDER BY `follow` {$by}";
break;
case "fans":
$order_sql = " ORDER BY `fans` {$by}";
break;
case "hits":
$order_sql = " ORDER BY `hits` {$by}";
break;
default:
$order_sql = " ORDER BY `uid` {$by}";
}
if ($map_where) {
$map_sql = iCMS::map_sql($map_where);
$where_sql = ",({$map_sql}) map {$where_sql} AND `uid` = map.`iid`";
}
$offset = 0;
$limit = "LIMIT {$maxperpage}";
if ($vars['page']) {
$total = iPHP::total('sql.md5', "SELECT count(*) FROM `#iCMS@__user` {$where_sql} ");
$multi = iCMS::page(array('total' => $total, 'perpage' => $maxperpage, 'unit' => iPHP::lang('iCMS:page:sql'), 'nowindex' => $GLOBALS['page']));
$offset = $multi->offset;
$limit = "LIMIT {$offset},{$maxperpage}";
iPHP::assign("user_list_total", $total);
}
$hash = md5($where_sql . $order_sql . $limit);
if ($map_sql || $offset) {
if ($vars['cache']) {
$map_cache_name = iPHP_DEVICE . '/user_map/' . $hash;
$ids_array = iCache::get($map_cache_name);
}
if (empty($ids_array)) {
$ids_array = iDB::all("SELECT `id` FROM `#iCMS@__user` {$where_sql} {$order_sql} {$limit}");
iPHP_SQL_DEBUG && iDB::debug(1);
$vars['cache'] && iCache::set($map_cache_name, $ids_array, $cache_time);
}
//iDB::debug(1);
$ids = iCMS::get_ids($ids_array, 'uid');
$ids = $ids ? $ids : '0';
$where_sql = "WHERE `uid` IN({$ids})";
}
if ($vars['cache']) {
$cache_name = iPHP_DEVICE . '/user_list/' . $hash;
$resource = iCache::get($cache_name);
}
if (empty($resource)) {
$resource = iDB::all("SELECT * FROM `#iCMS@__user` {$where_sql} {$order_sql} {$limit}");
iPHP_SQL_DEBUG && iDB::debug(1);
if ($resource) {
foreach ($resource as $key => $value) {
$value['url'] = user::router($value['uid'], "url");
$value['urls'] = user::router($value['uid'], "urls");
$value['avatar'] = user::router($value['uid'], "avatar", $vars['size'] ? $vars['size'] : 0);
$value['at'] = '<a href="' . $value['url'] . '" class="iCMS_user_link" target="_blank" data-tip="iCMS:ucard:' . $value['uid'] . '">@' . $value['nickname'] . '</a>';
$value['link'] = '<a href="' . $value['url'] . '" class="iCMS_user_link" target="_blank" data-tip="iCMS:ucard:' . $value['uid'] . '">' . $value['nickname'] . '</a>';
$value['gender'] = $value['gender'] ? 'male' : 'female';
isset($vars['data']) && ($value['data'] = (array) user::data($value['uid']));
$resource[$key] = $value;
}
}
$vars['cache'] && iCache::set($cache_name, $resource, $cache_time);
}
return $resource;
}
示例4: do_save
function do_save()
{
$appid = $this->appid;
$cid = (int) $_POST['cid'];
$rootid = (int) $_POST['rootid'];
$status = (int) $_POST['status'];
$isucshow = (int) $_POST['isucshow'];
$issend = (int) $_POST['issend'];
$isexamine = (int) $_POST['isexamine'];
$ordernum = (int) $_POST['ordernum'];
$mode = (int) $_POST['mode'];
$pid = implode(',', (array) $_POST['pid']);
$_pid = iS::escapeStr($_POST['_pid']);
$_rootid_hash = iS::escapeStr($_POST['_rootid_hash']);
$name = iS::escapeStr($_POST['name']);
$subname = iS::escapeStr($_POST['subname']);
$domain = iS::escapeStr($_POST['domain']);
$htmlext = iS::escapeStr($_POST['htmlext']);
$url = iS::escapeStr($_POST['url']);
$password = iS::escapeStr($_POST['password']);
$pic = iS::escapeStr($_POST['pic']);
$mpic = iS::escapeStr($_POST['mpic']);
$spic = iS::escapeStr($_POST['spic']);
$dir = iS::escapeStr($_POST['dir']);
$title = iS::escapeStr($_POST['title']);
$keywords = iS::escapeStr($_POST['keywords']);
$description = iS::escapeStr($_POST['description']);
$categoryURI = iS::escapeStr($_POST['categoryURI']);
$categoryRule = iS::escapeStr($_POST['categoryRule']);
$contentRule = iS::escapeStr($_POST['contentRule']);
$urlRule = iS::escapeStr($_POST['urlRule']);
$indexTPL = iS::escapeStr($_POST['indexTPL']);
$listTPL = iS::escapeStr($_POST['listTPL']);
$contentTPL = iS::escapeStr($_POST['contentTPL']);
$metadata = iS::escapeStr($_POST['metadata']);
$contentprop = iS::escapeStr($_POST['contentprop']);
$body = $_POST['body'];
$hasbody = (int) $_POST['hasbody'];
$hasbody or $hasbody = $body ? 1 : 0;
if ($_rootid_hash) {
$_rootid = authcode($_rootid_hash);
if ($rootid != $_rootid) {
iPHP::alert('非法数据提交!');
} else {
iACP::CP($_rootid, 'a', 'alert');
exit;
}
}
$cid && $cid == $rootid && iPHP::alert('不能以自身做为上级' . $this->category_name);
empty($name) && iPHP::alert($this->category_name . '名称不能为空!');
if ($metadata) {
$md = array();
foreach ($metadata['key'] as $_mk => $_mval) {
!preg_match("/[a-zA-Z0-9_\\-]/", $_mval) && iPHP::alert($this->category_name . '附加属性名称只能由英文字母、数字或_-组成(不支持中文)');
$md[$_mval] = $metadata['value'][$_mk];
}
$metadata = addslashes(serialize($md));
}
if ($contentprop) {
$ca = array();
foreach ($contentprop['key'] as $_cak => $_caval) {
$_caval or $_caval = strtolower(pinyin($contentprop['name'][$_cak]));
!preg_match("/[a-zA-Z0-9_\\-]/", $_caval) && iPHP::alert('内容附加属性字段只能由英文字母、数字或_-组成(不支持中文)');
$ca[$_caval] = $contentprop['name'][$_cak];
}
$contentprop = addslashes(serialize($ca));
}
if ($mode == "2") {
if (strpos($categoryRule, '{CDIR}') === FALSE && strpos($categoryRule, '{CID}') === FALSE && strpos($categoryRule, '{0xCID}') === FALSE) {
iPHP::alert('伪静态模式下版块URL规则<hr />必需要有<br />{CDIR}版块目录<br />或者<br />{CID},{0xCID}版块ID');
}
if (strpos($contentRule, '{ID}') === FALSE && strpos($contentRule, '{0xID}') === FALSE && strpos($contentRule, '{LINK}') === FALSE) {
iPHP::alert('伪静态模式下内容URL规则<hr />必需要有<br />{ID}' . $this->_app_name . 'ID <br />或者<br />{0xID}' . $this->_app_name . 'ID补零<br />或者<br />{LINK}' . $this->_app_name . '自定义链接');
}
}
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('prop', iCMS_APP_CATEGORY);
$fields = array('rootid', 'appid', 'ordernum', 'name', 'subname', 'password', 'title', 'keywords', 'description', 'dir', 'mode', 'domain', 'url', 'pic', 'mpic', 'spic', 'htmlext', 'categoryURI', 'categoryRule', 'contentRule', 'urlRule', 'indexTPL', 'listTPL', 'contentTPL', 'metadata', 'contentprop', 'hasbody', 'pid', 'isexamine', 'issend', 'isucshow', 'status');
$data = compact($fields);
if (empty($cid)) {
iACP::CP($rootid, 'a', 'alert');
$nameArray = explode("\n", $name);
$_count = count($nameArray);
foreach ($nameArray as $nkey => $_name) {
$_name = trim($_name);
if (empty($_name)) {
continue;
}
if ($_count == "1") {
if (empty($dir) && empty($url)) {
$dir = strtolower(pinyin($_name));
}
} else {
empty($url) && ($dir = strtolower(pinyin($_name)));
}
$this->check_dir($dir, $appid, $url);
$data['name'] = $_name;
$data['dir'] = $dir;
$data['userid'] = iMember::$userid;
$data['creator'] = iMember::$nickname;
//.........这里部分代码省略.........
示例5: tag_list
/**
* @package iCMS
* @copyright 2007-2016, iDreamSoft
* @license http://www.idreamsoft.com iDreamSoft
* @author coolmoo <idreamsoft@qq.com>
* @$Id: tag.tpl.php 159 2013-03-23 04:11:53Z coolmoo $
*/
function tag_list($vars)
{
$where_sql = "WHERE status='1' ";
$map_where = array();
if (isset($vars['rootid'])) {
$where_sql .= " AND `rootid`='" . (int) $vars['rootid'] . "'";
}
if (!isset($vars['tcids']) && isset($vars['tcid'])) {
$where_sql .= iPHP::where($vars['tcid'], 'tcid');
}
if (isset($vars['tcids']) && !isset($vars['tcid'])) {
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('category', iCMS_APP_TAG);
//$where_sql.= map::exists($vars['tcid'],'`#iCMS@__tags`.id'); //map 表大的用exists
$map_where += map::where($vars['tcid']);
}
if (isset($vars['tcid!'])) {
$where_sql .= iPHP::where($vars['tcid!'], 'tcid', 'not');
}
if (!isset($vars['pids']) && isset($vars['pid'])) {
$where_sql .= iPHP::where($vars['pid'], 'pid');
}
if (isset($vars['pids']) && !isset($vars['pid'])) {
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('prop', iCMS_APP_TAG);
//$where_sql.= map::exists($vars['pids'],'`#iCMS@__tags`.id'); //map 表大的用exists
$map_where += map::where($vars['pids']);
}
if (isset($vars['pid!'])) {
$where_sql .= iPHP::where($vars['pid!'], 'pid', 'not');
}
if (!isset($vars['cids']) && isset($vars['cid'])) {
$cid = explode(',', $vars['cid']);
$vars['sub'] && ($cid += iCMS::get_category_ids($cid, true));
$where_sql .= iPHP::where($cid, 'cid');
}
if (isset($vars['cids']) && !isset($vars['cid'])) {
$cids = explode(',', $vars['cids']);
$vars['sub'] && ($cids += iCMS::get_category_ids($vars['cids'], true));
if ($cids) {
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('category', iCMS_APP_TAG);
$map_where += map::where($cids);
}
}
if (isset($vars['cid!'])) {
$ncids = explode(',', $vars['cid!']);
$vars['sub'] && ($ncids += iCMS::get_category_ids($ncids, true));
$where_sql .= iPHP::where($ncids, 'cid', 'not');
}
if (isset($vars['keywords'])) {
//最好使用 iCMS:tag:search
if (empty($vars['keywords'])) {
return;
}
if (strpos($vars['keywords'], ',') === false) {
$vars['keywords'] = str_replace(array('%', '_'), array('\\%', '\\_'), $vars['keywords']);
$where_sql .= " AND CONCAT(tkey,name,seotitle,keywords) like '%" . addslashes($vars['keywords']) . "%'";
} else {
$kws = explode(',', $vars['keywords']);
foreach ($kws as $kwv) {
$keywords .= addslashes($kwv) . "|";
}
$keywords = substr($keywords, 0, -1);
$where_sql .= " AND CONCAT(tkey,name,seotitle,keywords) REGEXP '{$keywords}' ";
}
}
$maxperpage = isset($vars['row']) ? (int) $vars['row'] : "10";
$cache_time = isset($vars['time']) ? (int) $vars['time'] : -1;
$by = $vars['by'] == 'ASC' ? "ASC" : "DESC";
switch ($vars['orderby']) {
case "hot":
$order_sql = " ORDER BY `count` {$by}";
break;
case "new":
$order_sql = " ORDER BY `id` {$by}";
break;
case "order":
$order_sql = " ORDER BY `ordernum` {$by}";
break;
// case "rand": $order_sql=" ORDER BY rand() $by"; break;
// case "rand": $order_sql=" ORDER BY rand() $by"; break;
default:
$order_sql = " ORDER BY `id` {$by}";
}
if ($map_where) {
$map_sql = iCMS::map_sql($map_where);
$where_sql = ",({$map_sql}) map {$where_sql} AND `id` = map.`iid`";
}
$offset = 0;
$limit = "LIMIT {$maxperpage}";
if ($vars['page']) {
$total = iPHP::total('sql.md5', "SELECT count(*) FROM `#iCMS@__tags` {$where_sql} ");
//.........这里部分代码省略.........
示例6: __action_manage_publish
private function __action_manage_publish()
{
$aid = (int) $_POST['id'];
$cid = (int) $_POST['cid'];
$_cid = (int) $_POST['_cid'];
$ucid = (int) $_POST['ucid'];
$_ucid = (int) $_POST['_ucid'];
$mobile = (int) $_POST['mobile'];
$title = iS::escapeStr($_POST['title']);
$source = iS::escapeStr($_POST['source']);
$keywords = iS::escapeStr($_POST['keywords']);
$description = iS::escapeStr($_POST['description']);
$creative = (int) $_POST['creative'];
$userid = user::$userid;
$author = user::$nickname;
$editor = user::$nickname;
if (iCMS::$config['user']['post']['seccode']) {
$seccode = iS::escapeStr($_POST['seccode']);
iPHP::seccode($seccode, true) or iPHP::alert('iCMS:seccode:error');
}
if (iCMS::$config['user']['post']['interval']) {
$last_postime = iDB::value("\n SELECT MAX(postime)\n FROM `#iCMS@__article`\n WHERE userid='" . user::$userid . "'");
if ($_SERVER['REQUEST_TIME'] - $last_postime < iCMS::$config['user']['post']['interval']) {
iPHP::alert('user:publish:interval');
}
}
if ($mobile) {
$_POST['body'] = ubb2html($_POST['body']);
$_POST['body'] = trim($_POST['body']);
}
$body = iPHP::cleanHtml($_POST['body']);
empty($title) && iPHP::alert('标题不能为空!');
empty($cid) && iPHP::alert('请选择所属栏目!');
empty($body) && iPHP::alert('文章内容不能为空!');
$fwd = iCMS::filter($title);
$fwd && iPHP::alert('user:publish:filter_title');
$fwd = iCMS::filter($description);
$fwd && iPHP::alert('user:publish:filter_desc');
$fwd = iCMS::filter($body);
$fwd && iPHP::alert('user:publish:filter_body');
$articleApp = iPHP::app("admincp.article.app");
if (empty($description)) {
$description = $articleApp->autodesc($body);
}
$pubdate = time();
$postype = "0";
$category = iCache::get('iCMS/category/' . $cid);
$status = $category['isexamine'] ? 3 : 1;
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
iPHP::app('article.table');
$fields = articleTable::fields($aid);
$data_fields = articleTable::data_fields($aid);
if (empty($aid)) {
$postime = $pubdate;
$chapter = $hits = $good = $bad = $comments = 0;
$data = compact($fields);
$aid = articleTable::insert($data);
$article_data = compact($data_fields);
articleTable::data_insert($article_data);
map::init('category', iCMS_APP_ARTICLE);
map::add($cid, $aid);
iDB::query("UPDATE `#iCMS@__user_category` SET `count` = count+1 WHERE `cid` = '{$ucid}' AND `uid`='" . user::$userid . "' AND `appid`='" . iCMS_APP_ARTICLE . "';");
user::update_count(user::$userid, 1, 'article');
$lang = array('1' => 'user:article:add_success', '3' => 'user:article:add_examine');
} else {
if (articleTable::update(compact($fields), array('id' => $aid, 'userid' => user::$userid))) {
articleTable::data_update(compact($data_fields), array('aid' => $aid));
}
map::init('category', iCMS_APP_ARTICLE);
map::diff($cid, $_cid, $aid);
if ($ucid != $_ucid) {
iDB::query("UPDATE `#iCMS@__user_category` SET `count` = count+1 WHERE `cid` = '{$ucid}' AND `uid`='" . user::$userid . "' AND `appid`='" . iCMS_APP_ARTICLE . "';");
iDB::query("UPDATE `#iCMS@__user_category` SET `count` = count-1 WHERE `cid` = '{$_ucid}' AND `uid`='" . user::$userid . " AND `count`>0' AND `appid`='" . iCMS_APP_ARTICLE . "';");
}
$lang = array('1' => 'user:article:update_success', '3' => 'user:article:update_examine');
}
$url = iPHP::router('/user/article', iPHP_ROUTER_REWRITE);
iPHP::success($lang[$status], 'url:' . $url);
}
示例7: do_save
function do_save($callback = false)
{
$aid = (int) $_POST['aid'];
$cid = (int) $_POST['cid'];
$userid = (int) $_POST['userid'];
$scid = implode(',', (array) $_POST['scid']);
$pid = implode(',', (array) $_POST['pid']);
$status = (int) $_POST['status'];
$chapter = (int) $_POST['chapter'];
$ordernum = _int($_POST['ordernum']);
$_cid = iS::escapeStr($_POST['_cid']);
$_pid = iS::escapeStr($_POST['_pid']);
$_scid = iS::escapeStr($_POST['_scid']);
$_tags = iS::escapeStr($_POST['_tags']);
$title = iS::escapeStr($_POST['title']);
$stitle = iS::escapeStr($_POST['stitle']);
$pic = iS::escapeStr($_POST['pic']);
$mpic = iS::escapeStr($_POST['mpic']);
$spic = iS::escapeStr($_POST['spic']);
$source = iS::escapeStr($_POST['source']);
$author = iS::escapeStr($_POST['author']);
$editor = iS::escapeStr($_POST['editor']);
$description = iS::escapeStr($_POST['description']);
$keywords = iS::escapeStr($_POST['keywords']);
$tags = str_replace(',', ',', iS::escapeStr($_POST['tags']));
$clink = iS::escapeStr($_POST['clink']);
$url = iS::escapeStr($_POST['url']);
$tpl = iS::escapeStr($_POST['tpl']);
$metadata = iS::escapeStr($_POST['metadata']);
$metadata = $metadata ? addslashes(serialize($metadata)) : '';
$body = (array) $_POST['body'];
$creative = (int) $_POST['creative'];
iACP::CP($cid, $aid ? 'ce' : 'ca', 'alert');
empty($_POST['pubdate']) && ($_POST['pubdate'] = get_date(0, 'Y-m-d H:i:s'));
$pubdate = iPHP::str2time($_POST['pubdate']);
$weight = _int($_POST['weight']);
$postype = $_POST['postype'] ? $_POST['postype'] : 0;
$ischapter = isset($_POST['ischapter']) ? 1 : 0;
isset($_POST['inbox']) && ($status = "0");
$tags && ($tags = preg_replace('/<[\\/\\!]*?[^<>]*?>/is', '', $tags));
empty($title) && iPHP::alert('标题不能为空!');
empty($cid) && iPHP::alert('请选择所属栏目');
empty($body) && empty($url) && iPHP::alert('文章内容不能为空!');
$userid or $userid = iMember::$userid;
iFS::$userid = $userid;
if (empty($aid) && iCMS::$config['publish']['repeatitle']) {
articleTable::check_title($title) && iPHP::alert('该标题的文章已经存在!请检查是否重复');
}
if (strstr($this->category[$cid]['contentRule'], '{LINK}') !== false) {
empty($clink) && ($clink = strtolower(pinyin($title)));
if (empty($aid) && $clink) {
articleTable::check_clink($clink) && iPHP::alert('该文章自定义链接已经存在!请检查是否重复');
}
}
if (empty($description) && empty($url)) {
$description = $this->autodesc($body);
}
stripos($pic, 'http://') === false or $pic = iFS::http($pic);
stripos($mpic, 'http://') === false or $mpic = iFS::http($mpic);
stripos($spic, 'http://') === false or $spic = iFS::http($spic);
$haspic = empty($pic) ? 0 : 1;
$SELFURL = __SELF__ . $_POST['REFERER'];
if (empty($_POST['REFERER']) || strstr($_POST['REFERER'], '=save')) {
$SELFURL = __SELF__ . '?app=article&do=manage';
}
$editor or $editor = empty(iMember::$data->nickname) ? iMember::$data->username : iMember::$data->nickname;
// if($aid && $ischapter){
// $this->article_data($body,$aid);
// iDB::query("UPDATE `#iCMS@__article` SET `chapter`=chapter+1 WHERE `id` = '$aid'");
// iPHP::success('章节添加完成!','url:'.$SELFURL);
// }
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
$picdata = '';
$ucid = 0;
$fields = articleTable::fields($aid);
if (empty($aid)) {
$postime = $pubdate;
$hits = 0;
$good = $bad = $comments = 0;
$ischapter && ($chapter = 1);
$mobile = 0;
$aid = articleTable::insert(compact($fields));
if ($this->callback['primary']) {
$PCB = $this->callback['primary'];
$handler = $PCB[0];
$params = (array) $PCB[1] + array('indexid' => $aid);
if (is_callable($handler)) {
call_user_func_array($handler, $params);
}
}
if ($tags) {
iPHP::app('tag.class', 'static');
tag::add($tags, $userid, $aid, $cid);
//articleTable::update(compact('tags'),array('id'=>$aid));
}
map::init('prop', $this->appid);
$pid && map::add($pid, $aid);
map::init('category', $this->appid);
map::add($cid, $aid);
$scid && map::add($scid, $aid);
//.........这里部分代码省略.........
示例8: category_list
function category_list($vars)
{
$appid = isset($vars['appid']) ? (int) $vars['appid'] : iCMS_APP_ARTICLE;
$row = isset($vars['row']) ? (int) $vars['row'] : "100";
$cache_time = isset($vars['time']) ? (int) $vars['time'] : "-1";
$status = isset($vars['status']) ? (int) $vars['status'] : "1";
$where_sql = " WHERE `appid`='{$appid}' AND `status`='{$status}'";
$resource = array();
isset($vars['mode']) && ($where_sql .= " AND `mode` = '{$vars['mode']}'");
if (stripos($vars['cid'], ',') !== false) {
$vars['cid'] = explode(',', $vars['cid']);
}
if (stripos($vars['cid!'], ',') !== false) {
$vars['cid!'] = explode(',', $vars['cid!']);
}
isset($vars['cid']) && !isset($vars['stype']) && ($where_sql .= iPHP::where($vars['cid'], 'cid'));
isset($vars['cid!']) && ($where_sql .= iPHP::where($vars['cid!'], 'cid', 'not'));
switch ($vars['stype']) {
case "top":
$vars['cid'] && ($where_sql .= iPHP::where($vars['cid'], 'cid'));
$where_sql .= " AND rootid='0'";
break;
case "sub":
$vars['cid'] && ($where_sql .= iPHP::where($vars['cid'], 'rootid'));
break;
// case "subtop":
// $vars['cid'] && $where_sql.= iPHP::where($vars['cid'],'cid');
// break;
// case "subtop":
// $vars['cid'] && $where_sql.= iPHP::where($vars['cid'],'cid');
// break;
case "suball":
$where_sql .= iPHP::where(iCMS::get_category_ids($vars['cid'], false), 'cid');
break;
case "self":
$parent = iCache::get('iCMS/category/parent', $vars['cid']);
$where_sql .= " AND `rootid`='{$parent}'";
break;
}
if (isset($vars['pids'])) {
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('prop', iCMS_APP_CATEGORY);
$where_sql .= map::exists($vars['pids'], '`#iCMS@__category`.cid');
//主表小 map表大
// $map_where=map::where($vars['pids']); //主表大 map表大
// $map_ids = map::ids($vars['pid']);
// $map_sql = map::sql($vars['pid']); //map 表小的用 in
// $where_sql.=" AND `pid` = '{$vars['pid']}'";
//if(empty($map_ids)) return $resource;
//$where_sql.=" AND `cid` IN ($map_ids)";
//$where_sql.=" AND `cid` IN ($map_sql)";
}
if ($vars['cache']) {
$cache_name = iPHP_DEVICE . '/category/' . md5($where_sql);
$resource = iCache::get($cache_name);
}
if (empty($resource)) {
$rootid_array = iCache::get('iCMS/category/rootid');
$resource = iDB::all("SELECT * FROM `#iCMS@__category` {$where_sql} ORDER BY `ordernum`,`cid` ASC LIMIT {$row}");
iPHP_SQL_DEBUG && iDB::debug(1);
if ($resource) {
foreach ($resource as $key => $value) {
$value['child'] = $rootid_array[$value['cid']] ? true : false;
$value['url'] = iURL::get('category', $value)->href;
$value['link'] = "<a href='{$value['url']}'>{$value['name']}</a>";
if ($value['metadata']) {
$mdArray = array();
$_metadata = unserialize($value['metadata']);
foreach ((array) $_metadata as $mkey => $md) {
$mdArray[$mkey] = $md;
}
$value['metadata'] = $mdArray;
unset($_metadata);
}
unset($value['contentprop']);
$resource[$key] = $value;
}
}
$vars['cache'] && iCache::set($cache_name, $resource, $cache_time);
}
return $resource;
}
示例9: do_batch
function do_batch()
{
$idA = (array) $_POST['id'];
$idA or iPHP::alert("请选择要操作的用户");
$ids = implode(',', (array) $_POST['id']);
$batch = $_POST['batch'];
switch ($batch) {
case 'prop':
iPHP::import(iPHP_APP_CORE . '/iMAP.class.php');
map::init('prop', iCMS_APP_USER);
$pid = implode(',', (array) $_POST['pid']);
foreach ((array) $_POST['id'] as $id) {
$_pid = iDB::value("SELECT `pid` FROM `#iCMS@__user` where `uid`='{$id}' LIMIT 1");
iDB::update('user', compact('pid'), array('uid' => $id));
map::diff($pid, $_pid, $id);
}
iPHP::success('用户属性设置完成!', 'js:1');
break;
case 'dels':
iPHP::$break = false;
foreach ($idA as $id) {
$this->do_del($id, false);
}
iPHP::$break = true;
iPHP::success('用户全部删除完成!', 'js:1');
break;
}
}