📄 admin.typedcontent.php
字号:
<?php/*** @version $Id: admin.typedcontent.php,v 1.15 2005/02/16 07:48:36 kochp Exp $* @package Mambo* @subpackage Content* @copyright (C) 2000 - 2005 Miro International Pty Ltd* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL* Mambo is Free Software*//** ensure this file is being included by a parent file */defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );require_once( $mainframe->getPath( 'admin_html' ) );$id = mosGetParam( $_REQUEST, 'id', '' );$cid = mosGetParam( $_POST, 'cid', array(0) );if (!is_array( $cid )) { $cid = array(0);}switch ( $task ) { case 'cancel': cancel( $option ); break; case 'new': edit( 0, $option ); break; case 'edit': edit( $id, $option ); break; case 'editA': edit( $cid[0], $option ); break; case 'go2menu': case 'go2menuitem': case 'resethits': case 'menulink': case 'save': case 'apply': save( $option, $task ); break; case 'remove': trash( $cid, $option ); break; case 'publish': changeState( $cid, 1, $option ); break; case 'unpublish': changeState( $cid, 0, $option ); break; case 'accesspublic': changeAccess( $cid[0], 0, $option ); break; case 'accessregistered': changeAccess( $cid[0], 1, $option ); break; case 'accessspecial': changeAccess( $cid[0], 2, $option ); break; case 'saveorder': saveOrder( $cid ); break; default: view( $option ); break;}/*** Compiles a list of installed or defined modules* @param database A database connector object*/function view( $option ) { global $database, $mainframe, $mosConfig_list_limit; $filter_authorid = $mainframe->getUserStateFromRequest( "filter_authorid{$option}", 'filter_authorid', 0 ); $order = $mainframe->getUserStateFromRequest( "zorder", 'zorder', 'c.ordering DESC' ); $limit = $mainframe->getUserStateFromRequest( "viewlistlimit", 'limit', $mosConfig_list_limit ); $limitstart = $mainframe->getUserStateFromRequest( "view{$option}limitstart", 'limitstart', 0 ); $search = $mainframe->getUserStateFromRequest( "search{$option}", 'search', '' ); $search = $database->getEscaped( trim( strtolower( $search ) ) ); // used by filter if ( $search ) { $search_query = "\n AND ( LOWER( c.title ) LIKE '%$search%' OR LOWER( c.title_alias ) LIKE '%$search%' )"; } else { $search_query = ''; } $filter = ''; if ( $filter_authorid > 0 ) { $filter = "\n AND c.created_by = '$filter_authorid'"; } // get the total number of records $query = "SELECT count(*)" . "\n FROM #__content AS c" . "\n WHERE c.sectionid = '0'" . "\n AND c.catid = '0'" . "\n AND c.state <> '-2'" . $filter ; $database->setQuery( $query ); $total = $database->loadResult(); require_once( $GLOBALS['mosConfig_absolute_path'] . '/administrator/includes/pageNavigation.php' ); $pageNav = new mosPageNav( $total, $limitstart, $limit ); $query = "SELECT c.*, g.name AS groupname, u.name AS editor, z.name AS creator" . "\n FROM #__content AS c" . "\n LEFT JOIN #__groups AS g ON g.id = c.access" . "\n LEFT JOIN #__users AS u ON u.id = c.checked_out" . "\n LEFT JOIN #__users AS z ON z.id = c.created_by" . "\n WHERE c.sectionid = '0'" . "\n AND c.catid = '0'" . "\n AND c.state <> '-2'" . $search_query . $filter . "\n ORDER BY ". $order . "\n LIMIT $pageNav->limitstart,$pageNav->limit" ; $database->setQuery( $query ); $rows = $database->loadObjectList(); if ($database->getErrorNum()) { echo $database->stderr(); return false; } $count = count( $rows ); for( $i = 0; $i < $count; $i++ ) { $query = "SELECT COUNT( id )" . "\n FROM #__menu" . "\n WHERE componentid = ". $rows[$i]->id . "\n AND type = 'content_typed'" . "\n AND published <> '-2'" ; $database->setQuery( $query ); $rows[$i]->links = $database->loadResult(); } $ordering[] = mosHTML::makeOption( 'c.ordering ASC', 'Ordering asc' ); $ordering[] = mosHTML::makeOption( 'c.ordering DESC', 'Ordering desc' ); $ordering[] = mosHTML::makeOption( 'c.id ASC', 'ID asc' ); $ordering[] = mosHTML::makeOption( 'c.id DESC', 'ID desc' ); $ordering[] = mosHTML::makeOption( 'c.title ASC', 'Title asc' ); $ordering[] = mosHTML::makeOption( 'c.title DESC', 'Title desc' ); $ordering[] = mosHTML::makeOption( 'c.created ASC', 'Date asc' ); $ordering[] = mosHTML::makeOption( 'c.created DESC', 'Date desc' ); $ordering[] = mosHTML::makeOption( 'z.name ASC', 'Author asc' ); $ordering[] = mosHTML::makeOption( 'z.name DESC', 'Author desc' ); $ordering[] = mosHTML::makeOption( 'c.state ASC', 'Published asc' ); $ordering[] = mosHTML::makeOption( 'c.state DESC', 'Published desc' ); $ordering[] = mosHTML::makeOption( 'c.access ASC', 'Access asc' ); $ordering[] = mosHTML::makeOption( 'c.access DESC', 'Access desc' ); $javascript = 'onchange="document.adminForm.submit();"'; $lists['order'] = mosHTML::selectList( $ordering, 'zorder', 'class="inputbox" size="1"'. $javascript, 'value', 'text', $order ); // get list of Authors for dropdown filter $query = "SELECT c.created_by AS value, u.name AS text" . "\n FROM #__content AS c" . "\n LEFT JOIN #__users AS u ON u.id = c.created_by" . "\n WHERE c.sectionid = 0" . "\n GROUP BY u.name" . "\n ORDER BY u.name" ; $authors[] = mosHTML::makeOption( '0', _SEL_AUTHOR ); $database->setQuery( $query ); $authors = array_merge( $authors, $database->loadObjectList() ); $lists['authorid'] = mosHTML::selectList( $authors, 'filter_authorid', 'class="inputbox" size="1" onchange="document.adminForm.submit( );"', 'value', 'text', $filter_authorid ); HTML_typedcontent::showContent( $rows, $pageNav, $option, $search, $lists );}/*** Compiles information to add or edit content* @param database A database connector object* @param string The name of the category section* @param integer The unique id of the category to edit (0 if new)*/function edit( $uid, $option ) { global $database, $my, $mainframe, $adminLanguage; global $mosConfig_absolute_path, $mosConfig_live_site; $row = new mosContent( $database ); // fail if checked out not by 'me' if ($row->checked_out && $row->checked_out <> $my->id) { echo "<script>alert(\"". $adminLanguage->A_COMP_CONTENT_MODULE ." ". $row->title ." ". $adminLanguage->A_COMP_ANOTHER_ADMIN ."\"); document.location.href='index2.php?option=$option'</script>\n"; exit(0); } $lists = array(); if ($uid) { // load the row from the db table $row->load( $uid ); $row->checkout( $my->id ); if (trim( $row->images )) { $row->images = explode( "\n", $row->images ); } else { $row->images = array(); } if (trim( $row->publish_down ) == "0000-00-00 00:00:00") { $row->publish_down = "Never"; } $query = "SELECT name from #__users" . "\n WHERE id=$row->created_by" ; $database->setQuery( $query ); $row->creator = $database->loadResult(); $query = "SELECT name from #__users" . "\n WHERE id=$row->modified_by" ; $database->setQuery( $query ); $row->modifier = $database->loadResult(); // get list of links to this item $and = "\n AND componentid = ". $row->id; $menus = mosAdminMenus::Links2Menu( 'content_typed', $and ); } else { // initialise values for a new item $row->version = 0; $row->state = 1; $row->images = array(); $row->publish_up = date( "Y-m-d", time() ); $row->publish_down = "Never"; $row->sectionid = 0; $row->catid = 0; $row->creator = ''; $row->modifier = ''; $row->ordering = 0; $menus = array(); } // calls function to read image from directory $pathA = $mosConfig_absolute_path .'/images/stories'; $pathL = $mosConfig_live_site .'/images/stories'; $images = array(); $folders = array(); $folders[] = mosHTML::makeOption( '/' ); mosAdminMenus::ReadImages( $pathA, '/', $folders, $images ); // list of folders in images/stories/ $lists['folders'] = mosAdminMenus::GetImageFolders( $folders, $pathL ); // list of images in specfic folder in images/stories/ $lists['imagefiles'] = mosAdminMenus::GetImages( $images, $pathL ); // list of saved images $lists['imagelist'] = mosAdminMenus::GetSavedImages( $row, $pathL ); // build list of users $active = ( intval( $row->created_by ) ? intval( $row->created_by ) : $my->id ); $lists['created_by'] = mosAdminMenus::UserSelect( 'created_by', $active ); // build the html select list for the group access $lists['access'] = mosAdminMenus::Access( $row ); // build the html select list for menu selection $lists['menuselect'] = mosAdminMenus::MenuSelect( ); // build the select list for the image positions $lists['_align'] = mosAdminMenus::Positions( '_align' ); // build the select list for the image caption alignment $lists['_caption_align'] = mosAdminMenus::Positions( '_caption_align' ); // build the select list for the image caption position $pos[] = mosHTML::makeOption( 'bottom', _CMN_BOTTOM ); $pos[] = mosHTML::makeOption( 'top', _CMN_TOP ); $lists['_caption_position'] = mosHTML::selectList( $pos, '_caption_position', 'class="inputbox" size="1"', 'value', 'text' ); // get params definitions $params =& new mosParameters( $row->attribs, $mainframe->getPath( 'com_xml', 'com_typedcontent' ), 'component' ); HTML_typedcontent::edit( $row, $images, $lists, $params, $option, $menus );}/*** Saves the typed content item*/function save( $option, $task ) { global $database, $my, $adminLanguage; $menu = mosGetParam( $_POST, 'menu', 'mainmenu' );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -