admin.spotlight.php
来自「php 开发的内容管理系统」· PHP 代码 · 共 256 行
PHP
256 行
<?php
// $Id: admin.spotlight.php,v 1.1.1.1 2005/11/10 19:51:04 phppp Exp $
// ------------------------------------------------------------------------ //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// You may not change or alter any portion of this comment or credits //
// of supporting developers from this source code or any supporting //
// source code which is considered copyrighted (c) material of the //
// original comment or credit authors. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with this program; if not, write to the Free Software //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
// ------------------------------------------------------------------------ //
// Author: phppp (D.J., infomax@gmail.com) //
// URL: http://xoopsforge.com, http://xoops.org.cn //
// Project: Article Project //
// ------------------------------------------------------------------------ //
include('header.php');
//include_once(XOOPS_ROOT_PATH."/class/xoopsformloader.php");
include_once XOOPS_ROOT_PATH."/modules/".$GLOBALS["artdirname"]."/class/xoopsformloader.php";
$start = empty($_GET['start'])?0:intval($_GET['start']);
$article_handler =& xoops_getmodulehandler('article', $GLOBALS["artdirname"]);
$spotlight_handler =& xoops_getmodulehandler('spotlight', $GLOBALS["artdirname"]);
if(!empty($_POST['submit'])){
$spotlight_current =& $spotlight_handler->get();
if(empty($_POST['option']) || empty($_POST["art_id"])) {
$art_id = 0;
}else{
$art_id = intval($_POST["art_id"]);
}
if($art_id != $spotlight_current->getVar("art_id")) {
$spotlight_obj =& $spotlight_handler->create();
$spotlight_obj->setVar("art_id", $art_id);
}else{
$spotlight_obj =& $spotlight_current;
}
if($art_id != $spotlight_current->getVar("art_id") || $spotlight_obj->isNew()) {
$spotlight_obj->setVar("sp_time", time());
}
$sp_categories = empty($_POST["sp_categories"])?array():$_POST["sp_categories"];
$sp_note = $_POST["sp_note"];
$error_upload = "";
$sp_image_file = "";
if (!empty($_FILES['userfile']['name'])) {
require_once(XOOPS_ROOT_PATH."/modules/".$GLOBALS["artdirname"]."/class/uploader.php");
$uploader = new art_uploader(
XOOPS_ROOT_PATH . "/".$xoopsModuleConfig['path_image']
);
if ( $uploader->fetchMedia( $_POST['xoops_upload_file'][0]) ) {
if ( !$uploader->upload() ){
$error_upload = $uploader->getErrors();
}elseif ( file_exists( $uploader->getSavedDestination() )){
$sp_image_file = $uploader->getSavedFileName();
}
}else{
$error_upload = $uploader->getErrors();
}
}
$sp_image_caption = !empty($_POST["sp_image_caption"])? $_POST["sp_image_caption"]:"";
$sp_image_caption_strip = $myts->htmlSpecialChars($myts->stripSlashesGPC($sp_image_caption));
$sp_image["caption"] = $sp_image_caption;
if($sp_image_file){
$sp_image["file"] = $sp_image_file;
$spotlight_obj->setVar("sp_image", $sp_image);
}else{
$sp_image["file"] = empty($_POST['sp_image_file'])?"":$_POST['sp_image_file'];
$image = $spotlight_obj->getVar("sp_image");
if($image["file"]!=$sp_image["file"] || $sp_image_caption_strip!=$sp_image["caption"]){
$spotlight_obj->setVar("sp_image", $sp_image);
}
}
if($xoopsUser->getVar("uid") != $spotlight_obj->getVar("uid")) {
$spotlight_obj->setVar("uid", $xoopsUser->getVar("uid"));
}
if(serialize($sp_categories) != serialize($spotlight_obj->getVar("sp_categories"))) {
$spotlight_obj->setVar("sp_categories", $sp_categories);
}
if($sp_note != $spotlight_obj->getVar("sp_note")) {
$spotlight_obj->setVar("sp_note", $sp_note);
}
if($sp_image != $spotlight_obj->getVar("sp_image")) {
$spotlight_obj->setVar("sp_image", $sp_image);
}
if($res = $spotlight_handler->insert($spotlight_obj)){
if ($art_id >0 && !empty($xoopsModuleConfig['notification_enabled'])) {
$notification_handler =& xoops_gethandler('notification');
$tags = array();
$article_obj =& $article_handler->get($spotlight_obj->getVar("art_id"));
$tags['ARTICLE_TITLE'] = $article_obj->getVar("art_title");
$tags['ARTICLE_URL'] = XOOPS_URL . '/modules/' . $GLOBALS["artdirname"] . '/view.article.php'.URL_DELIMITER.'' .$art_id;
$tags['ARTICLE_ACTION'] = art_constant("MD_NOT_ACTION_PUBLISHED");
$notification_handler->triggerEvent('global', 0, 'article_monitor', $tags);
$notification_handler->triggerEvent('article', $art_id, 'article_monitor', $tags);
}
}
redirect_header( "admin.spotlight.php", 1 , art_constant("AM_DBUPDATED") );
}
xoops_cp_header();
require XOOPS_ROOT_PATH."/modules/".$xoopsModule->getVar("dirname")."/include/vars.php";
loadModuleAdminMenu(6);
$spotlight_obj =& $spotlight_handler->get();
echo "<fieldset><legend style='font-weight: bold; color: #900;'>" . art_constant("AM_SPOTLIGHT") . "</legend>";
echo "<div style='padding: 8px;'>";
$form_sp = new XoopsThemeForm(art_constant("AM_SPOTLIGHT"), "formsp", xoops_getenv('PHP_SELF'));
$form_sp->setExtra('enctype="multipart/form-data"');
// Current Spotlight
if($spotlight_obj->getVar("art_id")){
$option = 1;
$article_obj =& $article_handler->get($spotlight_obj->getVar("art_id"));
$message = "<a href='".XOOPS_URL."/modules/".$GLOBALS["artdirname"]."/view.article.php".URL_DELIMITER."".$spotlight_obj->getVar("art_id")."' target='_blank' title='".$article_obj->getSummary(true)."'>".$article_obj->getVar('art_title')."</a>";
}else{
$option = 0;
$message = art_constant("AM_SPOTLIGHT_LASTARTICLE");
}
if(!$spotlight_obj->isNew()){
$uid = $spotlight_obj->getVar("uid");
if($xoopsUser->getVar("uid") == $uid) {
$uname = $xoopsUser->getVar("uname");
}else{
$uname = XoopsUser::getUnameFromId($uid);
}
$form_sp->addElement(new XoopsFormLabel(art_constant("AM_SPOTLIGHT_CURRENT"), "<a href=\"".XOOPS_URL."/userinfo.php?uid=".$uid."\">".$uname."</a> - ".$spotlight_obj->getTime().": ".$message));
}
// Image
if(!empty($xoopsModuleConfig['path_image'])){
$sp_image = $spotlight_obj->getImage();
$image_option_tray = new XoopsFormElementTray(art_constant("AM_IMAGE_UPLOAD"), '<br />');
$image_option_tray->addElement(new XoopsFormFile('', 'userfile',''));
$form_sp->addElement($image_option_tray);
$form_sp->addElement(new XoopsFormText(art_constant("AM_IMAGE_CAPTION"), "sp_image_caption", 50, 255, @$sp_image["caption"]));
unset($image_tray);
unset($image_option_tray);
$image_option_tray = new XoopsFormElementTray(art_constant("AM_IMAGE_SELECT"), "<br />");
$image_array =& XoopsLists::getImgListAsArray(XOOPS_ROOT_PATH . "/". $xoopsModuleConfig["path_image"]."/");
array_unshift($image_array, _NONE);
$image_select = new XoopsFormSelect("", "sp_image_file", @$sp_image["file"]);
$image_select->addOptionArray($image_array);
$image_select->setExtra("onchange=\"showImgSelected('img', 'sp_image_file', '/".$xoopsModuleConfig["path_image"]."/', '', '" . XOOPS_URL . "')\"");
$image_tray = new XoopsFormElementTray("", " <br />");
$image_tray->addElement($image_select);
if (!empty($sp_image["url"])){
$label = "<div style=\"padding: 8px;\"><img src=\"" . $sp_image["url"] . "\" name=\"img\" id=\"img\" alt=\"\" /></div>".(empty($sp_image["caption"])?"":"<br />".$sp_image["caption"]);
}else{
$label = "<div style=\"padding: 8px;\"><img src=\"" . XOOPS_URL . "/images/blank.gif\" name=\"img\" id=\"img\" alt=\"\" /></div>";
}
$image_tray->addElement(new XoopsFormLabel(art_constant("AM_IMAGE_CURRENT"), $label));
$image_option_tray->addElement($image_tray);
$form_sp->addElement($image_option_tray);
}
// Options
$spot_options = array(0=>art_constant("AM_SPOTLIGHT_LASTARTICLE"), 1=>art_constant("AM_SPOTLIGHT_SPECIFIED"));
$option_select = new XoopsFormSelect(art_constant("AM_SPOTLIGHT_OPTION"), 'option', $option);
$option_select->addOptionArray($spot_options);
$form_sp->addElement($option_select);
// CATEGORIES
$category_handler =& xoops_getmodulehandler('category', $GLOBALS["artdirname"]);
$categories =& $category_handler->getTree(0, "all");
$cat_option = array();
$cat_option[0] = _ALL;
foreach($categories as $id=>$cat){
$cat_option[$id] = $cat['prefix'].$cat['cat_title'];
}
$cat_select = new XoopsFormSelect(art_constant("AM_SPOTLIGHT_CATEGORIES"), 'sp_categories', $spotlight_obj->getVar("sp_categories"), 5, true);
$cat_select->addOptionArray($cat_option);
$form_sp->addElement($cat_select);
// Editor's Note
$form_sp->addElement(new XoopsFormTextArea(art_constant("AM_SPOTLIGHT_NOTE"), "sp_note", $spotlight_obj->getVar("sp_note")));
$criteria = new CriteriaCompo(new Criteria('art_time_publish', 0, ">"));
if(count($spotlight_obj->getVar("sp_categories"))>0) {
$criteria->add(new Criteria('cat_id', '('.implode(',',$spotlight_obj->getVar("sp_categories")).')', '>'), "AND");
}
$articles_count = $article_handler->getCount($criteria);
if($articles_count>0){
$tags = array("art_title","cat_id");
$criteria->setStart($start);
$criteria->setLimit($xoopsModuleConfig["articles_perpage"]);
$articles_obj =& $article_handler->getAll($criteria, $tags);
foreach( $articles_obj as $id => $article ){
$cat_id[]=$article->getVar('cat_id');
}
$criteria = new Criteria("cat_id", "(".implode(",",$cat_id).")", "IN");
$categories = $category_handler->getList($criteria);
$heading = array( "ID", art_constant("AM_TITLE"), art_constant("AM_CATEGORY"), art_constant("AM_SPOTIT") );
$article_table = "\n<tr><td colspan='2'>";
$article_table .= "\n<table border='0' width='100%' cellpadding ='2' cellspacing='1' class = 'outer'>";
$article_table .= "\n<tr >";
for ( $i = 0; $i < count( $heading ); $i++ ) {
$article_table .= "<th align='center'><b>" . $heading[$i] . "</th>";
}
$article_table .= "</tr>";
foreach( $articles_obj as $id => $article )
{
$article_table .= "\n<tr>";
$article_table .= "<td align='center' class = 'head'>" . $id . "";
$article_table .= "</td><td align='left' class = 'even'>" . $article->getVar('art_title');
$article_table .= "</td><td align='left' class = 'even'>" . $categories[$article->getVar('cat_id')];
$article_table .= "</td>";
if( $spotlight_obj->getVar("art_id") == $id ) {
$selected = "checked";
}else{
$selected = "";
}
$article_table .= "</td><td align='center' class='even'><input type='radio' name='art_id' value=" . $id . " $selected>" . "";
$article_table .= "</td></tr>";
}
$article_table .= "\n</table><br />\n";
$article_table .= "\n</tr></td>\n";
if ( $articles_count > $xoopsModuleConfig['articles_perpage']) {
include(XOOPS_ROOT_PATH.'/class/pagenav.php');
$nav = new XoopsPageNav($articles_count, $xoopsModuleConfig['articles_perpage'], $start, "start");
$article_table .= "\n<br />".$nav->renderNav(4);
}
$form_sp->addElement( $article_table );
}
$button_tray = new XoopsFormElementTray('', '');
$button_tray->addElement(new XoopsFormButton('', 'submit', _SUBMIT, 'submit'));
$button_tray->addElement(new XoopsFormButton('', '', _CANCEL, 'button'));
$form_sp->addElement($button_tray);
$form_sp->display();
echo "</div>";
echo "</fieldset><br />";
xoops_cp_footer();
?>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?