form.article.elements.php

来自「php 开发的内容管理系统」· PHP 代码 · 共 411 行 · 第 1/2 页

PHP
411
字号
<?php
/**
 * Article management
 *
 * @copyright	The XOOPS project http://www.xoops.org/
 * @license		http://www.fsf.org/copyleft/gpl.html GNU public license
 * @author		Taiwen Jiang (phppp or D.J.) <php_pp@hotmail.com>
 * @since		1.00
 * @version		$Id$
 * @package		module::article
 */
if (!defined("XOOPS_ROOT_PATH")) exit();

if(!is_object($form_art)) {
	die("No form declared");
}
$form_element = array();

// editor form mode
if("fix" == @$xoopsModuleConfig["form_mode"]) {
	$form_element["inactive"]["form_mode"] = new XoopsFormHidden("form_mode", "custom");
}else{
	$mode = array();
	$mode["basic"] = new XoopsFormButton("", "form_mode_basic", art_constant("MD_BASIC"), "button");
	$mode["full"] = new XoopsFormButton("", "form_mode_full", art_constant("MD_ADVANCE"), "button");
	$mode["custom"] = new XoopsFormButton("", "form_mode_custom", art_constant("MD_CUSTOM"), "button");
	$mode_tray = new XoopsFormElementTray(art_constant("MD_FORMMODE"));
	foreach(array_keys($mode) as $key) {
		if($form_mode == $key) {
			$mode[$key]->setExtra("disabled");
		}else{
			$mode[$key]->setExtra("onclick='window.document.".$form_art->getName().".form_mode.value=\"{$key}\"; window.document.".$form_art->getName().".submit()'");
		}
		$mode_tray->addElement($mode[$key]);
	}
	$form_element["active"]["form_mode"][] = $mode_tray;
	$form_element["active"]["form_mode"][] = new XoopsFormHidden("form_mode", @$form_mode);
}

// The title
$form_element["active"]["art_title"] = new XoopsFormText(art_constant("MD_TITLE"), "art_title", 60, 255, $art_title);
$form_element["inactive"]["art_title"] = new XoopsFormHidden("art_title", $art_title);

// The uid
$form_element["inactive"]["uid"] = new XoopsFormHidden("uid", $uid);
if($isModerator){
	include_once XOOPS_ROOT_PATH."/Frameworks/art/functions.user.php";
	$user_tray = new XoopsFormElementTray("UID");
	$user_tray->addElement(new XoopsFormText("", "uid", 20, 255, $uid));
	$user_tray->addElement(new XoopsFormLabel("", mod_getUnameFromId($article_obj->getVar("uid"), false, true)));
	$form_element["active"]["uid"] =& $user_tray;
}else{
	$form_element["active"]["uid"] =& $form_element["inactive"]["uid"];
}
// Summary
$form_element["active"]["art_summary"] = new XoopsFormTextArea(art_constant("MD_SUMMARY"), "art_summary", $art_summary, 5, 60);
$form_element["inactive"]["art_summary"] = new XoopsFormHidden("art_summary", $art_summary);


// Text subtitle
$form_element["active"]["subtitle"] = new XoopsFormText(art_constant("MD_SUBTITLE"), "subtitle", 60, 255, $subtitle);
$form_element["inactive"]["subtitle"] = new XoopsFormHidden("subtitle", $subtitle);

// The editor selection 
$nohtml = empty($canhtml);
if(!empty($editor)){
	//art_setcookie("editor",$editor);
}else{
	$editor = art_getcookie("editor");
	if(empty($editor) && is_object($xoopsUser)){
		$editor =@ $xoopsUser->getVar("editor"); // Need set through user profile
	}
	if(empty($editor)){
		$editor =@ $xoopsModuleConfig["editor_default"];
	}
}
$form_element["active"]["editor"] = new XoopsFormSelectEditor($form_art, "editor", $editor, $nohtml, @$xoopsModuleConfig["editor_allowed"]);
$form_element["inactive"]["editor"] = new XoopsFormHidden("editor", $editor);

// text render
$editor_configs = array();
$editor_configs["name"] ="text";
$editor_configs["value"] = $text;
$editor_configs["rows"] = empty($xoopsModuleConfig["editor_rows"])? 35 : $xoopsModuleConfig["editor_rows"];
$editor_configs["cols"] = empty($xoopsModuleConfig["editor_cols"])? 60 : $xoopsModuleConfig["editor_cols"];
$editor_configs["width"] = empty($xoopsModuleConfig["editor_width"])? "100%" : $xoopsModuleConfig["editor_width"];
$editor_configs["height"] = empty($xoopsModuleConfig["editor_height"])? "400px" : $xoopsModuleConfig["editor_height"];

$form_element["active"]["text"] = new XoopsFormEditor(art_constant("MD_TEXT"), $editor, $editor_configs, $nohtml, $onfailure = null);
$form_element["inactive"]["text"] = new XoopsFormHidden("text", $text);

// text options
$dohtml = empty($canhtml) ? 0 : $dohtml;
$html_checkbox = new XoopsFormCheckBox('', 'dohtml', $dohtml);
$html_checkbox->addOption(1, art_constant("MD_DOHTML"));
if(empty($canhtml)) $html_checkbox->setExtra("disabled");
$smiley_checkbox = new XoopsFormCheckBox('', 'dosmiley', $dosmiley);
$smiley_checkbox->addOption(1, art_constant("MD_DOSMILEY"));
$xcode_checkbox = new XoopsFormCheckBox('', 'doxcode', $doxcode);
$xcode_checkbox->addOption(1, art_constant("MD_DOXCODE"));
$br_checkbox = new XoopsFormCheckBox('', 'dobr', $dobr);
$br_checkbox->addOption(1, art_constant("MD_DOBR"));

$options_tray = new XoopsFormElementTray(art_constant("MD_TEXTOPTIONS"), '<br />');
$options_tray->addElement($html_checkbox);
$options_tray->addElement($smiley_checkbox);
$options_tray->addElement($xcode_checkbox);
$options_tray->addElement($br_checkbox);
$form_element["active"]["text_options"] =& $options_tray;

//$form_element["inactive"]["text_options"] = null;
$form_element["inactive"]["text_options"][] = new XoopsFormHidden("dohtml", $dohtml);
$form_element["inactive"]["text_options"][] = new XoopsFormHidden("dosmiley", $dosmiley);
$form_element["inactive"]["text_options"][] = new XoopsFormHidden("doxcode", $doxcode);
$form_element["inactive"]["text_options"][] = new XoopsFormHidden("dobr", $dobr);

// Pages
$pages = $article_obj->getPageCount(true);
$pages_valid = $article_obj->getPageCount();
if($pages){
	
	$QUERY_STRING = array();
	if(!empty($art_id)) $QUERY_STRING[] = "article=".$art_id;
	if(!empty($cat_id)) $QUERY_STRING[] = "category=".$cat_id;
	
	$href = "edit.article.php?".implode("&", $QUERY_STRING)."&";

	$page_string = "";
	if(!empty($newpage)) $page_string .= "
		<script type=\"text/javascript\">
		var pages = ".$pages.";
		function setNewpage(page_no){
			window.document.formarticle.newpage.value=page_no;
			for(var i=1;i<=pages+1;i++){
				xoopsGetElementById('newpage'+i).style.color = \"\";
				xoopsGetElementById('newpage'+i).style.fontWeight = \"normal\";
			}
			xoopsGetElementById('newpage'+page_no).style.color = \"red\";
			xoopsGetElementById('newpage'+page_no).style.fontWeight = \"bold\";
		}
		</script>
		";
		
	for($i = 1; $i <= $pages; $i++){
		$pageno = ($i>$pages_valid)?"<span style=\"font-style:italic\">".$i."</span>":$i;
		if(!empty($newpage)){
			if($newpage == $i){
				$page_string .= "<a href=\"###\" onclick=\"setNewpage(".$i.")\" title=\"".art_constant("MD_NEWPAGE")."\"><span id=\"newpage".$i."\" style=\"font-weight:bold;color:red;\">+</span></a> ";
			}else{
				$page_string .= "<a href=\"###\" onclick=\"setNewpage(".$i.")\" title=\"".art_constant("MD_NEWPAGE")."\"><span id=\"newpage".$i."\">+</span></a> ";
			}
			$page_string .= "<a href=\"".$href."page=".($i-1)."\" title=\"".sprintf(art_constant("MD_EDITPAGE_NO"), $i)."\">".$pageno."</a> ";
		}else{
			$page_string .= "<a href=\"".$href."newpage=".$i."\" title=\"".art_constant("MD_NEWPAGE")."\">+</a> ";
			if($page+1 == $i){
				$page_string .= "<span style=\"font-weight:bold\">".$pageno."</span> ";
			}else{
				$page_string .= "<a href=\"".$href."page=".($i-1)."\" title=\"".sprintf(art_constant("MD_EDITPAGE_NO"), $i)."\">".$pageno."</a> ";
			}
		}
	}
	if(!empty($newpage)){
		if($newpage == $i){
			$page_string .= "<a href=\"###\" onclick=\"setNewpage(".$i.")\" title=\"".art_constant("MD_NEWPAGE")."\"><span id=\"newpage".$i."\" style=\"font-weight:bold\">+</span></a> ";
		}else{
			$page_string .= "<a href=\"###\" onclick=\"setNewpage(".$i.")\" title=\"".art_constant("MD_NEWPAGE")."\"><span id=\"newpage".$i."\">+</span></a> ";
		}
	}else{
		$page_string .= "<a href=\"".$href."newpage=".$i."\" title=\"".art_constant("MD_NEWPAGE")."\">+</a> ";
	}
	$page_string .= " (".art_constant("MD_SAVE_BEFORE_SWITCH").")";
}else{
	$page_string = art_constant("MD_NEWPAGE_AVAILABLE");
}
$form_element["active"]["page"] = new XoopsFormLabel(art_constant("MD_EDITPAGE"), $page_string);
//$form_element["inactive"]["page"] = null;

// The author info
require_once XOOPS_ROOT_PATH."/modules/".$GLOBALS["artdirname"]."/class/formselectwriter.php";
$form_element["active"]["writer_id"] = new XoopsFormSelectWriter(art_constant("MD_AUTHOR"), 'writer_id', $writer_id);
$form_element["inactive"]["writer_id"] = new XoopsFormHidden("writer_id", $writer_id);


// Source
$form_element["active"]["art_source"] = new XoopsFormText(art_constant("MD_SOURCE"), "art_source", 50, 255, $art_source);
$form_element["inactive"]["art_source"] = new XoopsFormHidden("art_source", $art_source);

// Keywords/Tags
$form_element["inactive"]["art_keywords"] = new XoopsFormHidden("art_keywords", $art_keywords);
if(@include_once XOOPS_ROOT_PATH."/modules/tag/include/formtag.php"){
	$form_element["active"]["art_keywords"] = new XoopsFormTag("art_keywords", 60, 255, $art_keywords);
}else{
	$form_element["active"]["art_keywords"] =& $form_element["inactive"]["art_keywords"];
}

// Attachments
/*
$form_element["inactive"]["userfile"] = null;
if ($canupload) {
	$upload_tray = new XoopsFormElementTray(art_constant("MD_ATTACHMENT"), '<br />');
	$upload_tray->addElement(new XoopsFormFile(art_constant("MD_ATTACHMENT"), "userfile",""));
	$upload_tray->addElement(new XoopsFormLabel(art_constant("MD_ALLOWED_EXTENSIONS"), "<i>".str_replace("|"," ",$xoopsModuleConfig["extension"])."</i>"));
	
	if (!empty($attachments)){
		$delete_attach_checkbox = new XoopsFormCheckBox(art_constant("MD_ATTACHED"), "delete_attach[]");
		foreach($attachments as $key => $attachment){

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?