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

📄 adminpreviewpostaction.class.php

📁 一个用PHP编写的
💻 PHP
字号:
<?php	lt_include( PLOG_CLASS_PATH.'class/action/admin/adminpostmanagementcommonaction.class.php' );    lt_include( PLOG_CLASS_PATH.'class/view/viewarticleview.class.php' );    lt_include( PLOG_CLASS_PATH.'class/dao/article.class.php' );    /**     * \ingroup Action     * @private     *     * Action that will allow us to preview a post, using the blog's very own     * template so that it looks and feels exactly like in the real blog, where it will     * be finally shown when we save it.     *     * It works by creating a dummy article that does not exist in the database and then     * using one of the blog views to show it.     */    class AdminPreviewPostAction extends AdminPostManagementCommonAction 	{    	/**         * Constructor. If nothing else, it also has to call the constructor of the parent         * class, BlogAction with the same parameters         */        function AdminPreviewPostAction( $actionInfo, $request )        {        	$this->AdminAction( $actionInfo, $request );        }                /**         * loads a bunch of categories given their ids         *         * @param categoryIds         */        function _loadArticleCategories( $categoryIds )        {	    	$articleCategories = new ArticleCategories();	    	$categories = Array();	    	foreach( $categoryIds as $categoryId ) {		    	$category = $articleCategories->getCategory( $categoryId, $this->_blogInfo->getId());		    	if( $category )		    		array_push( $categories, $category );	    	}	    		    	return $categories;        }        /**         * Carries out the specified action         */        function perform()        {	        //print_r($_REQUEST);	        	        // fetch all the information that we need for the dummy Article object			$this->_fetchCommonData();						// and now, create a harmless Article object with it			$postText = Textfilter::xhtmlize($this->_postText);			// create the main object			$article  = new Article( $this->_postTopic, 			                         $postText, 			                         $this->_postCategories,									 $this->_userInfo->getId(), 									 $this->_blogInfo->getId(), 									 POST_STATUS_PUBLISHED, 									 0, 									 Array(), 									 $this->_postSlug );			// and a few more properties that we need to know about			$this->_fetchPostDateInformation();			$article->setDateObject( $this->_postTimestamp );			// we will not allow comments because it wouldn't work!			$article->setCommentsEnabled( false );			$article->setFields( $this->_getArticleCustomFields());			// the next two fields are also required in order to show an article			$article->setUserInfo( $this->_userInfo );			$article->setBlogInfo( $this->_blogInfo );			$article->setCategories( $this->_loadArticleCategories( $this->_postCategories ));			// and now trick the ViewArticleView class into thinking that we're showing			// a real article just fetched from the database (even though it makes no difference			// to the class itself whence the article came from :)						// the 'random' parameter in the array is to provide the view with a random view id			// every time that we run the preview, otherwise when caching is enabled we would always be			// getting the same page!!			$this->_view = new ViewArticleView( $this->_blogInfo, Array( 'random' => md5(time())));			$this->_view->setArticle( $article );			//$this->setCommonData();						return true;        }    }?>

⌨️ 快捷键说明

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