} #保存推荐人至session if (isset($_GET['ref'])) { $_SESSION['temp']['referal'] = $_GET['ref']; } #加载页面至菜单 require_once ROOT_PATH . '/apps/pages/models/pages.class.php'; $pagesClass = new pages(); $menuPages = $pagesClass->getAll(0, 0, " `visible` = 'true' AND `menu` = 'true' ", true); abr('menuPages', $menuPages); $footerPages = $pagesClass->getAll(0, 0, " `visible` = 'true' AND `footer` = 'true' ", true); abr('footerPages', $footerPages); #加载主分类 require_once ROOT_PATH . '/apps/categories/models/categories.class.php'; $categoriesClass = new categories(); $mainCategories = $categoriesClass->getAll(0, 0, " `visible` = 'true' AND `sub_of` = '0' "); $allCats = $categoriesClass->getAllWithChilds(0, '`visible` = \'true\''); abr('mainCategories', $allCats[0]); unset($allCats[0]); abr('allCats', $allCats); //abr('mainCategories', $mainCategories); #加载计数器 require_once ROOT_PATH . '/apps/items/models/items.class.php'; $itemsClass = new items(); abr('itemsCount', $itemsClass->getItemsCount()); require_once ROOT_PATH . '/apps/users/models/users.class.php'; $usersClass = new users(); abr('usersCount', $usersClass->getUsersCount(" `status` = 'activate' ")); #更新用户数据 if (check_login_bool()) { $_SESSION['user'] = $usersClass->get($_SESSION['user']['user_id']);
if (!is_array($otherItems)) { abr('otherItemsCount', 0); } else { abr('otherItemsCount', count($otherItems)); } #加载属性 require_once ROOT_PATH . '/apps/attributes/models/attributes.class.php'; $attributesClass = new attributes(); $attributes = $attributesClass->getAll(0, 0, $itemsClass->attributesWhere); abr('attributes', $attributes); $attributeCategories = $attributesClass->getAllCategories(0, 0, $itemsClass->attributeCategoriesWhere); abr('attributeCategories', $attributeCategories); #加载分类 require_once ROOT_PATH . '/apps/categories/models/categories.class.php'; $categoriesClass = new categories(); $categories = $categoriesClass->getAll(); abr('categories', $categories); #面包屑 abr('breadcrumb', '<a href="/' . $languageURL . '" title="">' . $langArray['home'] . '</a> \\ <a href="/' . $languageURL . 'items/' . $item['id'] . '" title="">' . $item['name'] . '</a> \\ <a href="/' . $languageURL . 'items/faq/' . $item['id'] . '" title="">' . $langArray['faqs'] . '</a>'); #FAQ $faqs = $faqClass->CountAll($itemID); abr('faqs', $faqs); $user = $item['user']; require_once ROOT_PATH . '/apps/system/models/badges.class.php'; $badges = new badges(); $badges_data = $badges->getAllFront(); $other_badges = array_map('trim', explode(',', $user['badges'])); $user_badges = array(); if ($user['exclusive_author'] == 'true' && isset($badges_data['system']['is_exclusive_author'])) { if ($badges_data['system']['is_exclusive_author']['photo'] && file_exists(DATA_SERVER_PATH . "/uploads/badges/" . $badges_data['system']['is_exclusive_author']['photo'])) { $user_badges[] = array('name' => $badges_data['system']['is_exclusive_author']['name'], 'photo' => '/uploads/badges/' . $badges_data['system']['is_exclusive_author']['photo']);
<?php // +---------------------------------------------------------------------- // | Demila [ Beautiful Digital Content Trading System ] // +---------------------------------------------------------------------- // | Copyright (c) 2015 http://demila.org All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Email author@demila.org // +---------------------------------------------------------------------- _setView(__FILE__); _setTitle($langArray['list']); $cms = new categories(); if (isset($_GET['up']) || isset($_GET['down'])) { $cms->tableName = 'attributes_categories'; $cms->idColumn = 'id'; if (isset($_GET['up']) && is_numeric($_GET['up'])) { $cms->moveUp($_GET['up']); } elseif (isset($_GET['down']) && is_numeric($_GET['down'])) { $cms->moveDown($_GET['down']); } } $data = $cms->getAll(START, LIMIT); abr('data', $data); $p = paging("?m=" . $_GET['m'] . "&c=list&p=", "", PAGE, LIMIT, $cms->foundRows); abr('paging', $p); require_once ROOT_PATH . '/apps/lists/leftlist_admin.php';
// | Copyright (c) 2015 http://demila.org All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Email author@demila.org // +---------------------------------------------------------------------- _setView(__FILE__); _setTitle($langArray['list']); $cms = new categories(); if (!isset($_GET['sub_of']) || !is_numeric($_GET['sub_of'])) { $_GET['sub_of'] = 0; } if (isset($_GET['up']) || isset($_GET['down'])) { $cms->tableName = 'categories'; $cms->idColumn = 'id'; $cms->orderWhere = " AND `sub_of` = '" . intval($_GET['sub_of']) . "' "; if (isset($_GET['up']) && is_numeric($_GET['up'])) { $cms->moveUp($_GET['up']); } elseif (isset($_GET['down']) && is_numeric($_GET['down'])) { $cms->moveDown($_GET['down']); } } $data = $cms->getAll(START, LIMIT, " `sub_of` = '" . intval($_GET['sub_of']) . "' "); abr('data', $data); $p = paging("?m=" . $_GET['m'] . "&c=list&sub_of=" . $_GET['sub_of'] . "&p=", "", PAGE, LIMIT, $cms->foundRows); abr('paging', $p); if ($_GET['sub_of'] != 0) { $pdata = $cms->get($_GET['sub_of']); abr('pdata', $pdata); } require_once ROOT_PATH . '/apps/lists/leftlist_admin.php';
public function edit($id, $fromAdmin = false) { global $mysql, $langArray, $attributes; //作品详情 $item_info = $this->get($id); $user_id = $_SESSION['user']['user_id']; if (!$user_id) { return false; } //临时文件目录 $temporary_dir = DATA_SERVER_PATH . 'uploads/temporary/' . $user_id . '/'; if (!isset($_POST['description']) || trim($_POST['description']) == '') { $error['description'] = $langArray['error_not_set_description']; } if ($fromAdmin && (!isset($_POST['price']) || trim($_POST['price']) == '' || $_POST['price'] == '0')) { $error['price'] = $langArray['error_not_set_price']; } if (isset($_POST['demo_url']) && trim($_POST['demo_url']) && filter_var($_POST['demo_url'], FILTER_VALIDATE_URL) === false) { $error['demo_url'] = $langArray['error_demo_url']; } if (!isset($_POST['category'])) { $error['category'] = $langArray['error_not_set_category']; } elseif (!is_numeric($_POST['category']) && !is_array($_POST['category'])) { $error['category'] = $langArray['error_not_set_category']; } if (!isset($_POST['tags']) || empty($_POST['tags'])) { $error['tags_features'] = $langArray['error_not_set_tags']; } else { $tags_data = explode(',', $_POST['tags']); if (count($tags_data) > 6) { $error['tags_features'] = $langArray['error_not_set_tags_tomore']; } } //作品非active状态禁止修改文件------------ $edit_file_num = 0; //修改文件是否存在 if (file_exists($temporary_dir . $_POST['thumbnail']) || file_exists($temporary_dir . $_POST['first_preview']) || file_exists($temporary_dir . $_POST['main_file'])) { $edit_file_num++; } //预览图 $theme_preview_arr = explode(',', $_POST['theme_preview']); foreach ($theme_preview_arr as $file_exis) { if (file_exists($temporary_dir . $file_exis)) { $edit_file_num++; } } if ($item_info['status'] != 'active' && $edit_file_num > 0) { $error['file_status_error'] = $langArray['file_status_error']; } //(缩略图) if (isset($_POST['thumbnail']) && trim($_POST['thumbnail']) != '') { $file = pathinfo($_POST['thumbnail']); if (!in_array(strtolower($file['extension']), $this->support_format(1))) { $error['thumbnail'] = $langArray['error_thumbnail_jpg']; } } // (预览图) if (isset($_POST['theme_preview'])) { $theme_preview_arr = explode(',', $_POST['theme_preview']); if (!isset($theme_preview_arr) || !is_array($theme_preview_arr)) { $error['theme_preview'] = $langArray['error_not_set_theme_preview']; } else { foreach ($theme_preview_arr as $theme_f) { $theme_file = pathinfo($theme_f); if (!in_array(strtolower($theme_file['extension']), $this->support_format(0))) { $error['theme_preview'] = $langArray['error_theme_preview_jpg']; } } } } // (封面) if (isset($_POST['first_preview']) && trim($_POST['first_preview']) != '') { $file = pathinfo($_POST['first_preview']); if (!in_array(strtolower($file['extension']), $this->support_format(0))) { $error['first_preview'] = $langArray['error_theme_preview_jpg']; } } // (主程序包) if (isset($_POST['main_file']) && trim($_POST['main_file']) != '') { $file = pathinfo($_POST['main_file']); if (strtolower($file['extension']) != 'zip') { $error['main_file'] = $langArray['error_main_file_zip']; } } if (is_array($attributes)) { $attributesError = false; foreach ($attributes as $a) { if (!isset($_POST['attributes'][$a['id']])) { $attributesError = true; break; } } if ($attributesError) { $error['attributes'] = $langArray['error_set_all_attributes']; } } if (isset($error)) { return $error; } $setQuery = ''; if ($fromAdmin) { $setQuery .= " `price` = '" . sql_quote($_POST['price']) . "', "; if (isset($_POST['free_file'])) { $setQuery .= " `free_file` = 'true', "; } //周推荐至-时间 if (isset($_POST['weekly_to']) && trim($_POST['weekly_to']) != '') { $setQuery .= " `weekly_to` = '" . sql_quote($_POST['weekly_to']) . "', "; } } //演示地址 if (!isset($_POST['demo_url'])) { $_POST['demo_url'] = ''; } //作品状态是否为请求免费上架状态 if (!isset($_POST['free_request'])) { $_POST['free_request'] = 'false'; } //更新作品表 $mysql->query("\n\t\t\tUPDATE `items`\n\t\t\tSET `description` = '" . sql_quote($_POST['description']) . "',\n\t\t\t\t\t`free_request` = '" . sql_quote($_POST['free_request']) . "',\n\t\t\t\t\t{$setQuery}\n\t\t\t\t\t`demo_url` = '" . sql_quote($_POST['demo_url']) . "'\n\t\t\tWHERE `id` = '" . intval($id) . "'\n\t\t\tLIMIT 1\n\t\t"); require_once ROOT_PATH . '/apps/categories/models/categories.class.php'; $categoriesClass = new categories(); $allCategories = $categoriesClass->getAll(); $mysql->query("DELETE FROM `items_to_category` WHERE `item_id` = '" . intval($id) . "'"); if (is_array($_POST['category'])) { foreach ($_POST['category'] as $category_id) { $categories = $categoriesClass->getCategoryParents($allCategories, $category_id); $categories = explode(',', $categories); array_pop($categories); $categories = array_reverse($categories); $categories = ',' . implode(',', $categories) . ','; $mysql->query("\n\t\t\t\t\tINSERT INTO `items_to_category` (\n\t\t\t\t\t\t`item_id`,\n\t\t\t\t\t\t`categories`\n\t\t\t\t\t) \n\t\t\t\t\tVALUES (\n\t\t\t\t\t\t'" . intval($id) . "',\n\t\t\t\t\t\t'" . sql_quote($categories) . "'\n\t\t\t\t\t)\n\t\t\t\t"); } } else { $categories = $categoriesClass->getCategoryParents($allCategories, $_POST['category']); $categories = explode(',', $categories); array_pop($categories); $categories = array_reverse($categories); $categories = ',' . implode(',', $categories) . ','; $mysql->query("\n\t\t\t\tINSERT INTO `items_to_category` (\n\t\t\t\t\t`item_id`,\n\t\t\t\t\t`categories`\n\t\t\t\t) \n\t\t\t\tVALUES (\n\t\t\t\t\t'" . intval($id) . "',\n\t\t\t\t\t'" . sql_quote($categories) . "'\n\t\t\t\t)\n\t\t\t"); } //更新属性 $mysql->query("\n\t\t\tDELETE FROM `items_attributes`\n\t\t\tWHERE `item_id` = '" . intval($id) . "'\n\t\t"); $_POST['attributes'] = (array) (isset($_POST['attributes']) ? $_POST['attributes'] : array()); foreach ($_POST['attributes'] as $cID => $a) { if (is_array($a)) { foreach ($a as $ai) { if (!trim($ai)) { continue; } $mysql->query("\n\t\t\t\t\t\tINSERT INTO `items_attributes` (\n\t\t\t\t\t\t\t`item_id`,\n\t\t\t\t\t\t\t`attribute_id`,\n\t\t\t\t\t\t\t`category_id`\n\t\t\t\t\t\t)\n\t\t\t\t\t\tVALUES (\n\t\t\t\t\t\t\t'" . intval($id) . "',\n\t\t\t\t\t\t\t'" . sql_quote($ai) . "',\n\t\t\t\t\t\t\t'" . sql_quote($cID) . "'\n\t\t\t\t\t\t)\n\t\t\t\t\t"); } } else { if (!trim($a)) { continue; } $mysql->query("\n\t\t\t\t\tINSERT INTO `items_attributes` (\n\t\t\t\t\t\t`item_id`,\n\t\t\t\t\t\t`attribute_id`,\n\t\t\t\t\t\t`category_id`\n\t\t\t\t\t)\n\t\t\t\t\tVALUES (\n\t\t\t\t\t\t'" . intval($id) . "',\n\t\t\t\t\t\t'" . sql_quote($a) . "',\n\t\t\t\t\t\t'" . sql_quote($cID) . "'\n\t\t\t\t\t)\n\t\t\t\t"); } } if ($fromAdmin) { //免费 if (isset($_POST['free_file'])) { $this->addUserStatus($id, 'freefile'); $mysql->query("\n\t\t\t\t\tUPDATE `items`\n\t\t\t\t\tSET `free_file` = 'true'\n\t\t\t\t\tWHERE `id` = '" . intval($id) . "'\n\t\t\t\t\tLIMIT 1\n\t\t\t\t"); } else { $mysql->query("\n\t\t\t\t\tUPDATE `items`\n\t\t\t\t\tSET `free_file` = 'false'\n\t\t\t\t\tWHERE `id` = '" . intval($id) . "'\n\t\t\t\t\tLIMIT 1\n\t\t\t\t"); } if (isset($_POST['weekly_to']) && trim($_POST['weekly_to']) != '') { $this->addUserStatus($id, 'featured'); } $key_num = 0; $setQuery_e = ''; //缩略图 if (isset($_POST['thumbnail']) && trim($_POST['thumbnail']) != '' && file_exists($temporary_dir . $_POST['thumbnail'])) { //检测文件是否被修改 $thumbnail_is = $this->is_edit_item_file($id); $path_file_name = pathinfo($thumbnail_is['thumbnail']); if ($_POST['thumbnail'] != $path_file_name['basename']) { unlink(DATA_SERVER_PATH . '/uploads/' . $this->uploadFileDirectory . $id . '/' . $path_file_name['basename']); require_once ENGINE_PATH . '/classes/image.class.php'; $imageClass = new Image(); //缩略图 $temporary_thumbnail_file = $temporary_dir . $_POST['thumbnail']; //裁剪缩略图 $imageClass->crop($temporary_thumbnail_file, 90, 90); copy($temporary_thumbnail_file, DATA_SERVER_PATH . '/uploads/' . $this->uploadFileDirectory . $id . '/' . $_POST['thumbnail']); @unlink($temporary_thumbnail_file); $setQuery_e .= ", `thumbnail` = '" . $_POST['thumbnail'] . "'"; $key_num++; } } //预览图 $theme_preview_arr = explode(',', $_POST['theme_preview']); if (isset($theme_preview_arr) && is_array($theme_preview_arr)) { //获取所有预览图 $all_preview = $this->get_theme_preview($id); //预览图路径 $all_preview_dir = array(); foreach ($all_preview as $pre) { $view = pathinfo($pre['dir']); $all_preview_dir[] = $view['basename']; //文件是否修改 if (!in_array($view['basename'], $theme_preview_arr)) { //删除预览 $this->del_preview_by_id($pre['id']); unlink(DATA_SERVER_PATH . '/uploads/' . $this->uploadFileDirectory . $id . '/preview/' . $view['basename']); } } foreach ($theme_preview_arr as $post_theme_file) { //判断文件是否被修改 if (!in_array($post_theme_file, $all_preview_dir)) { //判断文件格式 copy($temporary_dir . $post_theme_file, DATA_SERVER_PATH . '/uploads/' . $this->uploadFileDirectory . $id . '/preview/' . $post_theme_file); @unlink($temporary_dir . $post_theme_file); #插入预览图 $this->save_theme_preview($id, DATA_SERVER . '/uploads/' . $this->uploadFileDirectory . $id . '/preview/' . $post_theme_file); $key_num++; } } } //封面预览图 if (isset($_POST['first_preview']) && trim($_POST['first_preview']) != '' && file_exists($temporary_dir . $_POST['first_preview'])) { //检测文件是否被修改 $first_preview_is = $this->is_edit_item_file($id); $path_first_file_name = pathinfo($first_preview_is['theme_preview']); if ($_POST['first_preview'] != $path_first_file_name['basename']) { $temporary_first_preview_file = $temporary_dir . $_POST['first_preview']; unlink(DATA_SERVER_PATH . '/uploads/' . $this->uploadFileDirectory . $id . '/' . $path_first_file_name['basename']); copy($temporary_first_preview_file, DATA_SERVER_PATH . '/uploads/' . $this->uploadFileDirectory . $id . '/' . $_POST['first_preview']); @unlink($temporary_first_preview_file); $setQuery_e .= ", `theme_preview` = '" . $_POST['first_preview'] . "'"; $key_num++; } } //主程序包 if (isset($_POST['main_file']) && trim($_POST['main_file']) != '' && file_exists($temporary_dir . $_POST['main_file'])) { //检测文件是否被修改 $main_file_is = $this->is_edit_item_file($id); $path_first_file_name = pathinfo($main_file_is['main_file']); if ($_POST['main_file'] != $path_first_file_name['basename']) { unlink(DATA_SERVER_PATH . '/uploads/' . $this->uploadFileDirectory . $id . '/' . $path_first_file_name['basename']); $temporary_main_file = $temporary_dir . $_POST['main_file']; copy($temporary_main_file, DATA_SERVER_PATH . '/uploads/' . $this->uploadFileDirectory . $id . '/' . $_POST['main_file']); @unlink($temporary_main_file); $key_num++; //更新文件名 $setQuery_e .= ", `main_file` = '" . $_POST['main_file'] . "'"; // $setQuery_e .= ", `main_file_name` = '".sql_quote($_SESSION['temp']['edit_item']['main_file_name'])."' "; } } } if ($key_num > 0) { //更新作品状态 $mysql->query("\n\t\t\t\tUPDATE `items`\n\t\t\t\tSET `status` = 'queue' {$setQuery_e}\n\t\t\t\tWHERE `id` = '" . intval($id) . "'\n\t\t\t\tLIMIT 1\n\t\t\t"); } //编辑推荐标签(删除原有 然后新增) require_once ROOT_PATH . '/apps/tags/models/tags.class.php'; $tags = new tags(); //删除原绑定标签 $tags->del_by_item_id($id); //重写绑定标签 $tags_data = explode(',', $_POST['tags']); $tag_arr = array(); foreach ($tags_data as $val) { $tags->add_tags(array('item_id' => $id, 'tag_id' => $val)); } return true; }
<?php //作品分类ajax接口 if (isset($_POST['categoryID'])) { $categoryID = $_POST['categoryID']; if (is_numeric($categoryID) || $categoryID == 'all') { require_once '../../../config.php'; require_once $config['root_path'] . '/core/functions.php'; include_once $config['system_core'] . "/initEngine.php"; require_once ROOT_PATH . "/apps/categories/models/categories.class.php"; $categoriesClass = new categories(); if (is_numeric($categoryID)) { $allCategories = $categoriesClass->getAll(0, 0, " `visible` = 'true' "); $categoryParent = $categoriesClass->getCategoryParents($allCategories, $categoryID); $categoryParent = explode(',', $categoryParent); $categoryParent = array_reverse($categoryParent); array_shift($categoryParent); $whereQuery = " AND `id` IN (SELECT `item_id` FROM `items_to_category` WHERE `categories` LIKE '%," . intval($categoryID) . ",%') "; } else { $categoryParent = array('data' => ''); } require_once ROOT_PATH . '/apps/items/models/items.class.php'; require_once ROOT_PATH . '/apps/users/models/users.class.php'; $itemsClass = new items(); $users = new users(); $order = '`datetime` DESC'; $items = $itemsClass->getAll(0, 40, " `status` = 'active' " . $whereQuery, $order); $categories = $categoriesClass->getAll(); $res_data = array(); foreach ($items as $data) { //用户信息
#LOAD THEMES require_once ROOT_PATH . '/apps/items/models/items.class.php'; $itemsClass = new items(); $items = $itemsClass->getAll(0, 10, " `status` = 'queue' "); abr('items', $items); $updated_items = $itemsClass->getAllForUpdate(0, 10); abr('updated_items', $updated_items); #LOAD LAST REQUEST require_once ROOT_PATH . '/apps/contacts/models/contacts.class.php'; $contactsClass = new contacts(); $lastContact = $contactsClass->getAll(0, 10, " `answer` = '' "); abr('lastContact', $lastContact); #CHECK FOR ATTRIBUTES require_once ROOT_PATH . '/apps/attributes/models/categories.class.php'; $categoriesClass = new categories(); $attributes = $categoriesClass->getAll(); if (!is_array($attributes)) { abr('notHaveAttributes', 'true'); } require_once ROOT_PATH . '/apps/reports/models/javascript.class.php'; $referal_sum = $ordersClass->getSalesStatusByDay(" AND `datetime` > '" . date('Y-m') . "-01 00:00:00' ", 'referal'); $sales_sum = $ordersClass->getSalesStatusByDay(" AND `datetime` > '" . date('Y-m') . "-01 00:00:00' "); $referal_money = array(); $sales_money = array(); $user_money = array(); $win_money = array(); $sales_num = array(); $days = array(); for ($i = 1; $i <= date('t'); $i++) { if (isset($referal_sum[date("Y-m-") . sprintf('%02d', $i)])) { $referal_money[] = number_format($referal_sum[date("Y-m-") . sprintf('%02d', $i)]['receive'], 2, '.', '');