⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 controller.php

📁 Joomla!是一套获得过多个奖项的内容管理系统(Content Management System, CMS)。Joomla!采用PHP+MySQL数据库开发
💻 PHP
📖 第 1 页 / 共 3 页
字号:
	}	/**	* Cancels an edit operation	*/	function cancelContent()	{		global $mainframe;		// Check for request forgeries		JRequest::checkToken() or jexit( 'Invalid Token' );		// Initialize variables		$db	= & JFactory::getDBO();		// Check the article in if checked out		$row = & JTable::getInstance('content');		$row->bind(JRequest::get('post'));		$row->checkin();		$mainframe->redirect('index.php?option=com_content');	}	/**	* Moves the order of a record	* @param integer The increment to reorder by	*/	function orderContent($direction)	{		global $mainframe;		// Check for request forgeries		JRequest::checkToken() or jexit( 'Invalid Token' );		// Initialize variables		$db		= & JFactory::getDBO();		$cid	= JRequest::getVar( 'cid', array(), 'post', 'array' );		if (isset( $cid[0] ))		{			$row = & JTable::getInstance('content');			$row->load( (int) $cid[0] );			$row->move($direction, 'catid = ' . (int) $row->catid . ' AND state >= 0' );			$cache = & JFactory::getCache('com_content');			$cache->clean();		}		$mainframe->redirect('index.php?option=com_content');	}	/**	* Form for moving item(s) to a different section and category	*/	function moveSection()	{		// Check for request forgeries		JRequest::checkToken() or jexit( 'Invalid Token' );		// Initialize variables		$db			=& JFactory::getDBO();		$cid		= JRequest::getVar( 'cid', array(), 'post', 'array' );		$sectionid	= JRequest::getVar( 'sectionid', 0, '', 'int' );		JArrayHelper::toInteger($cid);		if (count($cid) < 1) {			$msg = JText::_('Select an item to move');			$mainframe->redirect('index.php?option=com_content', $msg, 'error');		}		//seperate contentids		$cids = implode(',', $cid);		// Articles query		$query = 'SELECT a.title' .				' FROM #__content AS a' .				' WHERE ( a.id IN ( '. $cids .' ) )' .				' ORDER BY a.title';		$db->setQuery($query);		$items = $db->loadObjectList();		$query = 'SELECT CONCAT_WS( ", ", s.id, c.id ) AS `value`, CONCAT_WS( " / ", s.title, c.title ) AS `text`' .				' FROM #__sections AS s' .				' INNER JOIN #__categories AS c ON c.section = s.id' .				' WHERE s.scope = "content"' .				' ORDER BY s.title, c.title';		$db->setQuery($query);		$rows[] = JHTML::_('select.option', "0, 0", JText::_('UNCATEGORIZED'));		$rows = array_merge($rows, $db->loadObjectList());		// build the html select list		$sectCatList = JHTML::_('select.genericlist',  $rows, 'sectcat', 'class="inputbox" size="8"', 'value', 'text', null);		ContentView::moveSection($cid, $sectCatList, 'com_content', $sectionid, $items);	}	/**	* Save the changes to move item(s) to a different section and category	*/	function moveSectionSave()	{		global $mainframe;		// Check for request forgeries		JRequest::checkToken() or jexit( 'Invalid Token' );		// Initialize variables		$db			= & JFactory::getDBO();		$user		= & JFactory::getUser();		$cid		= JRequest::getVar( 'cid', array(0), 'post', 'array' );		$sectionid	= JRequest::getVar( 'sectionid', 0, '', 'int' );		$option		= JRequest::getCmd( 'option' );		JArrayHelper::toInteger($cid, array(0));		$sectcat = JRequest::getVar( 'sectcat', '', 'post', 'string' );		$sectcat = explode(',', $sectcat);		$newsect = (int) @$sectcat[0];		$newcat = (int) @$sectcat[1];		if ((!$newsect || !$newcat) && ($sectcat !== array('0', ' 0'))) {			$mainframe->redirect("index.php?option=com_content&sectionid=$sectionid", JText::_('An error has occurred'));		}		// find section name		$query = 'SELECT a.title' .				' FROM #__sections AS a' .				' WHERE a.id = '. (int) $newsect;		$db->setQuery($query);		$section = $db->loadResult();		// find category name		$query = 'SELECT a.title' .				' FROM #__categories AS a' .				' WHERE a.id = '. (int) $newcat;		$db->setQuery($query);		$category = $db->loadResult();		$total	= count($cid);		$cids		= implode(',', $cid);		$uid		= $user->get('id');		$row = & JTable::getInstance('content');		// update old orders - put existing items in last place		foreach ($cid as $id)		{			$row->load(intval($id));			$row->ordering = 0;			$row->store();			$row->reorder('catid = '.(int) $row->catid.' AND state >= 0');		}		$query = 'UPDATE #__content SET sectionid = '.(int) $newsect.', catid = '.(int) $newcat.				' WHERE id IN ( '.$cids.' )' .				' AND ( checked_out = 0 OR ( checked_out = '.(int) $uid.' ) )';		$db->setQuery($query);		if (!$db->query())		{			JError::raiseError( 500, $db->getErrorMsg() );			return false;		}		// update new orders - put items in last place		foreach ($cid as $id)		{			$row->load(intval($id));			$row->ordering = 0;			$row->store();			$row->reorder('catid = '.(int) $row->catid.' AND state >= 0');		}		if ($section && $category) {			$msg = JText::sprintf('Item(s) successfully moved to Section', $total, $section, $category);		} else {			$msg = JText::sprintf('ITEM(S) SUCCESSFULLY MOVED TO UNCATEGORIZED', $total);		}		$mainframe->redirect('index.php?option='.$option.'&sectionid='.$sectionid, $msg);	}	/**	* Form for copying item(s)	**/	function copyItem()	{		// Check for request forgeries		JRequest::checkToken() or jexit( 'Invalid Token' );		// Initialize variables		$db			= & JFactory::getDBO();		$cid		= JRequest::getVar( 'cid', array(), 'post', 'array' );		$sectionid	= JRequest::getVar( 'sectionid', 0, '', 'int' );		$option		= JRequest::getCmd( 'option' );		JArrayHelper::toInteger($cid);		if (count($cid) < 1) {			$msg = JText::_('Select an item to move');			$mainframe->redirect('index.php?option='.$option, $msg, 'error');		}		//seperate contentids		$cids = implode(',', $cid);		## Articles query		$query = 'SELECT a.title' .				' FROM #__content AS a' .				' WHERE ( a.id IN ( '. $cids .' ) )' .				' ORDER BY a.title';		$db->setQuery($query);		$items = $db->loadObjectList();		## Section & Category query		$query = 'SELECT CONCAT_WS(",",s.id,c.id) AS `value`, CONCAT_WS(" / ", s.title, c.title) AS `text`' .				' FROM #__sections AS s' .				' INNER JOIN #__categories AS c ON c.section = s.id' .				' WHERE s.scope = "content"' .				' ORDER BY s.title, c.title';		$db->setQuery($query);		// Add a row for uncategorized content		$uncat	= JHTML::_('select.option', '0,0', JText::_('UNCATEGORIZED'));		$rows	= $db->loadObjectList();		array_unshift($rows, $uncat);		// build the html select list		$sectCatList = JHTML::_('select.genericlist', $rows, 'sectcat', 'class="inputbox" size="10"', 'value', 'text', NULL);		ContentView::copySection($option, $cid, $sectCatList, $sectionid, $items);	}	/**	* saves Copies of items	**/	function copyItemSave()	{		global $mainframe;		// Check for request forgeries		JRequest::checkToken() or jexit( 'Invalid Token' );		// Initialize variables		$db			= & JFactory::getDBO();		$cid		= JRequest::getVar( 'cid', array(), 'post', 'array' );		$sectionid	= JRequest::getVar( 'sectionid', 0, '', 'int' );		$option		= JRequest::getCmd( 'option' );		JArrayHelper::toInteger($cid);		$item	= null;		$sectcat = JRequest::getVar( 'sectcat', '-1,-1', 'post', 'string' );		//seperate sections and categories from selection		$sectcat = explode(',', $sectcat);		$newsect = (int) @$sectcat[0];		$newcat = (int) @$sectcat[1];		if (($newsect == -1) || ($newcat == -1)) {			$mainframe->redirect('index.php?option=com_content&sectionid='.$sectionid, JText::_('An error has occurred'));		}		// find section name		$query = 'SELECT a.title' .				' FROM #__sections AS a' .				' WHERE a.id = '. (int) $newsect;		$db->setQuery($query);		$section = $db->loadResult();		// find category name		$query = 'SELECT a.title' .				' FROM #__categories AS a' .				' WHERE a.id = '. (int) $newcat;		$db->setQuery($query);		$category = $db->loadResult();		if (($newsect == 0) && ($newcat == 0))		{			$section	= JText::_('UNCATEGORIZED');			$category	= JText::_('UNCATEGORIZED');		}		$total = count($cid);		for ($i = 0; $i < $total; $i ++)		{			$row = & JTable::getInstance('content');			// main query			$query = 'SELECT a.*' .					' FROM #__content AS a' .					' WHERE a.id = '.(int) $cid[$i];			$db->setQuery($query, 0, 1);			$item = $db->loadObject();			// values loaded into array set for store			$row->id						= NULL;			$row->sectionid					= $newsect;			$row->catid						= $newcat;			$row->hits						= '0';			$row->ordering					= '0';			$row->title						= $item->title;			$row->alias						= $item->alias;			$row->title_alias				= $item->title_alias;			$row->introtext					= $item->introtext;			$row->fulltext					= $item->fulltext;			$row->state						= $item->state;			$row->mask						= $item->mask;			$row->created					= $item->created;			$row->created_by				= $item->created_by;			$row->created_by_alias			= $item->created_by_alias;			$row->modified					= $item->modified;			$row->modified_by				= $item->modified_by;			$row->checked_out				= $item->checked_out;			$row->checked_out_time			= $item->checked_out_time;			$row->publish_up				= $item->publish_up;			$row->publish_down				= $item->publish_down;			$row->images					= $item->images;			$row->attribs					= $item->attribs;			$row->version					= $item->parentid;			$row->parentid					= $item->parentid;			$row->metakey					= $item->metakey;			$row->metadesc					= $item->metadesc;			$row->access					= $item->access;			$row->metadata					= $item->metadata;			if (!$row->check()) {				JError::raiseError( 500, $row->getError() );				return false;			}			if (!$row->store()) {				JError::raiseError( 500, $row->getError() );				return false;			}			$row->reorder('catid='.(int) $row->catid.' AND state >= 0');		}		$msg = JText::sprintf('Item(s) successfully copied to Section', $total, $section, $category);		$mainframe->redirect('index.php?option='.$option.'&sectionid='.$sectionid, $msg);	}	/**	* @param integer The id of the article	* @param integer The new access level	* @param string The URL option	*/	function accessMenu($access)	{		global $mainframe;		// Check for request forgeries		JRequest::checkToken() or jexit( 'Invalid Token' );		// Initialize variables		$db		= & JFactory::getDBO();		$cid	= JRequest::getVar( 'cid', array(0), 'post', 'array' );		$option	= JRequest::getCmd( 'option' );		$cid	= $cid[0];		// Create and load the article table object		$row = & JTable::getInstance('content');		$row->load($cid);		$row->access = $access;		// Ensure the article object is valid		if (!$row->check()) {			JError::raiseError( 500, $row->getError() );			return false;		}		// Store the changes		if (!$row->store()) {			JError::raiseError( 500, $row->getError() );			return false;		}		$cache = & JFactory::getCache('com_content');		$cache->clean();		$mainframe->redirect('index.php?option='.$option);	}	function saveOrder()	{		global $mainframe;		// Check for request forgeries		JRequest::checkToken() or jexit( 'Invalid Token' );		// Initialize variables		$db			= & JFactory::getDBO();		$cid		= JRequest::getVar( 'cid', array(0), 'post', 'array' );		$order		= JRequest::getVar( 'order', array (0), 'post', 'array' );		$redirect	= JRequest::getVar( 'redirect', 0, 'post', 'int' );		$rettask	= JRequest::getVar( 'returntask', '', 'post', 'cmd' );		$total		= count($cid);		$conditions	= array ();		JArrayHelper::toInteger($cid, array(0));		JArrayHelper::toInteger($order, array(0));		// Instantiate an article table object		$row = & JTable::getInstance('content');		// Update the ordering for items in the cid array		for ($i = 0; $i < $total; $i ++)		{			$row->load( (int) $cid[$i] );			if ($row->ordering != $order[$i]) {				$row->ordering = $order[$i];				if (!$row->store()) {					JError::raiseError( 500, $db->getErrorMsg() );					return false;				}				// remember to updateOrder this group				$condition = 'catid = '.(int) $row->catid.' AND state >= 0';				$found = false;				foreach ($conditions as $cond)					if ($cond[1] == $condition) {						$found = true;						break;					}				if (!$found)					$conditions[] = array ($row->id, $condition);			}		}		// execute updateOrder for each group		foreach ($conditions as $cond)		{			$row->load($cond[0]);			$row->reorder($cond[1]);		}		$cache = & JFactory::getCache('com_content');		$cache->clean();		$msg = JText::_('New ordering saved');		switch ($rettask)		{			case 'showarchive' :				$mainframe->redirect('index.php?option=com_content&task=showarchive&sectionid='.$redirect, $msg);				break;			default :				$mainframe->redirect('index.php?option=com_content&sectionid='.$redirect, $msg);				break;		}	}	function previewContent()	{		// Initialize variables		$document		=& JFactory::getDocument();		$db 			=& JFactory::getDBO();		$id				= JRequest::getVar( 'id', 0, '', 'int' );		$option			= JRequest::getCmd( 'option' );		// Get the current default template		$query = 'SELECT template' .				' FROM #__templates_menu' .				' WHERE client_id = 0' .				' AND menuid = 0';		$db->setQuery($query);		$template = $db->loadResult();		// check if template editor stylesheet exists		if (!file_exists( JPATH_SITE.DS.'templates'.DS.$template.DS.'css'.DS.'editor.css' )) {			$template = 'system';		}		// Set page title		$document->setTitle(JText::_('Article Preview'));		$document->addStyleSheet(JURI::root() . 'templates/'.$template.'/css/editor.css');		$document->setBase(JUri::root());		// Render article preview		ContentView::previewContent();	}	function insertPagebreak()	{		$document =& JFactory::getDocument();		$document->setTitle(JText::_('PGB ARTICLE PAGEBRK'));		ContentView::insertPagebreak();	}}

⌨️ 快捷键说明

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