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

📄 admindoregisterblogaction.class.php

📁 一个用PHP编写的
💻 PHP
字号:
<?php	lt_include( PLOG_CLASS_PATH."class/action/admin/adminaction.class.php" );	lt_include( PLOG_CLASS_PATH."class/view/admin/adminregisterblogview.class.php" );	lt_include( PLOG_CLASS_PATH."class/view/admin/admindashboardview.class.php" );		lt_include( PLOG_CLASS_PATH."class/data/validator/stringvalidator.class.php" );	lt_include( PLOG_CLASS_PATH."class/data/validator/blognamevalidator.class.php" );		lt_include( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );	    lt_include( PLOG_CLASS_PATH."class/data/validator/domainvalidator.class.php" );		lt_include( PLOG_CLASS_PATH."class/dao/blogs.class.php" );	lt_include( PLOG_CLASS_PATH."class/dao/users.class.php" );	lt_include( PLOG_CLASS_PATH."class/dao/articles.class.php" );		lt_include( PLOG_CLASS_PATH."class/dao/articlecategories.class.php" );	lt_include( PLOG_CLASS_PATH."class/data/timestamp.class.php" );	lt_include( PLOG_CLASS_PATH."class/net/http/subdomains.class.php" );    lt_include( PLOG_CLASS_PATH."class/gallery/dao/galleryalbums.class.php" );	lt_include( PLOG_CLASS_PATH."class/dao/mylinkscategories.class.php" );		class AdminDoRegisterBlogAction extends AdminAction	{			function AdminDoRegisterBlogAction( $actionInfo, $request )		{			$this->AdminAction( $actionInfo, $request );						$this->registerFieldValidator( "blogName", new BlogNameValidator());            $this->registerFieldValidator( "blogSubDomain", new DomainValidator(), true );            $this->registerFieldValidator( "blogMainDomain", new DomainValidator(), true );            $this->registerFieldValidator( "blogLocale", new StringValidator());			$this->registerFieldValidator( "templateId", new StringValidator());			$this->registerFieldValidator( "blogCategory", new IntegerValidator());			$this->setValidationErrorView( new AdminRegisterBlogView( $this->_userInfo ));		}		function validate()		{			if( !parent::validate())				return false;			$maxBlogsPerUser = $this->_config->getValue( "num_blogs_per_user" );			if( !is_numeric( $maxBlogsPerUser ))				$maxBlogsPerUser = DEFAULT_MAX_BLOGS_PER_USER;			$numOfUserBlogs = count( $this->_userInfo->getOwnBlogs() );						if( $numOfUserBlogs >= $maxBlogsPerUser ) {		        $this->_view = new AdminRegisterBlogView( $this->_blogInfo, $this->_userInfo );		        $this->_view->setErrorMessage( $this->_locale->tr("error_already_over_blog_creation_limition") );		        $this->setCommonData();		        return false;			}						return true;		}				function perform()		{			// if the validation of data went fine, then we can proceed and add the blog			$localeCode = $this->_request->getValue( "blogLocale" );			$template = $this->_request->getValue( "templateId" );			$name = $this->_request->getValue( "blogName" );			$blogCategory = $this->_request->getValue( "blogCategory" );						// create the blog...			$blog = new BlogInfo( $name, $this->_userInfo->getId(),  // owner id			                      '',  // about			                      '');  // settings            // check to see whether we are going to save subdomain information			            if( Subdomains::getSubdomainsEnabled()) {                // Translate a few characters to valid names, and remove the rest                $mainDomain = Textfilter::domainize($this->_request->getValue( "blogMainDomain" ));                if(!$mainDomain)					$mainDomain = "?";                $subDomain = Textfilter::domainize($this->_request->getValue( "blogSubDomain" ));                if(!Subdomains::isDomainAvailable($mainDomain)){                    $this->_view = new AdminRegisterBlogView( $this->_userInfo );                    $this->_view->setErrorMessage( $this->_locale->tr("error_updating_blog_subdomain"));                    $this->setCommonData();                    return false;                }				if(!Subdomains::isValidDomainName($subDomain)){	                $this->_view = new AdminRegisterBlogView( $this->_userInfo );	                $this->_view->setErrorMessage( $this->_locale->tr("error_updating_blog_subdomain"));	                $this->setCommonData();	                return false;				}                if($mainDomain == "?"){					$blog_domain = $subDomain;                }                else{					$blog_domain = $subDomain . "." . $mainDomain;                }				$blog->setCustomDomain( $blog_domain );            }			                // set the template			$blog->setTemplate( $template );			// set the locale			$locale =& Locales::getLocale( $localeCode );			$blog->setLocale( $locale );			// and set the status to ready			$blog->setStatus( BLOG_STATUS_ACTIVE );			// set the blog category			$blog->setBlogCategoryId( $blogCategory );						// and finally add everything to the db			$blogs = new Blogs();			if( !$blogs->addBlog( $blog )) {				$this->_view = new AdminRegisterBlogView( $this->_userInfo );				$this->setCommonData( true );			}						$newBlogId = $blog->getId();            $articleCategories = new ArticleCategories();            $articleCategory = new ArticleCategory( $locale->tr("register_default_category"), "", $newBlogId, true );            $catId = $articleCategories->addArticleCategory( $articleCategory );            $articleTopic = $locale->tr( "register_default_article_topic" );            $articleText  = $locale->tr( "register_default_article_text" );            $article = new Article( $articleTopic,                                     $articleText,                                     Array( $catId ),                                     $this->_userInfo->getId(),                                     $newBlogId,                                     POST_STATUS_PUBLISHED,                                     0,                                     Array(),                                     "welcome" );            $t = new Timestamp();            $article->setDateObject( $t );            $articles = new Articles();            $articles->addArticle( $article );			// create a new link category and album            $t = new Timestamp();            $album = new GalleryAlbum( $newBlogId,   // blog id                                       $locale->tr( "register_default_album_name" ), // album name                                       $locale->tr( "register_default_album_description" ), // album description                                       GALLERY_RESOURCE_PREVIEW_AVAILABLE,   // flags                                       0,   // no parent id                                       $t->getTimestamp(),   // current date                                       Array(),   // no properties                                       true );  // show the album in the interface            $albums = new GalleryAlbums();            $albums->addAlbum( $album );                        // add a new default mylinkscategory    		lt_include( PLOG_CLASS_PATH."class/dao/mylinkscategories.class.php" );            $linksCategory = new MyLinksCategory( $locale->tr("register_default_category" ), $newBlogId );            $linksCategories = new MyLinksCategories();            $linksCategories->addMyLinksCategory( $linksCategory );	           			// after we update everything, we need to get the userInfo from db and set to session again.			lt_include( PLOG_CLASS_PATH."class/dao/users.class.php" );			$users = new Users();			$this->_userInfo = $users->getUserInfoFromId( $this->_userInfo->getId() );            $this->_session->setValue( "userInfo", $this->_userInfo );            $this->saveSession();									// redirect process to the dashboard view			$usersBlogs = $users->getUsersBlogs( $this->_userInfo->getId(), BLOG_STATUS_ACTIVE );			$this->_view = new AdminDashboardView( $this->_userInfo, $usersBlogs ); 		}	}?>

⌨️ 快捷键说明

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