[pLog-svn] r477 - in plog/trunk: . class/dao class/object class/summary/action class/summary/dao locale templates/summary

subaochen at devel.plogworld.net subaochen at devel.plogworld.net
Mon Dec 13 13:08:13 GMT 2004


Author: subaochen
Date: 2004-12-13 13:08:13 +0000 (Mon, 13 Dec 2004)
New Revision: 477

Added:
   plog/trunk/class/summary/action/activeaccountaction.class.php
   plog/trunk/class/summary/dao/confirmemailmessage.class.php
   plog/trunk/templates/summary/confirmresult.template
Modified:
   plog/trunk/class/dao/blogs.class.php
   plog/trunk/class/dao/userstatus.class.php
   plog/trunk/class/object/object.class.php
   plog/trunk/class/summary/action/dofinishregister.class.php
   plog/trunk/class/summary/action/registeraction.class.php
   plog/trunk/locale/locale_en_UK.php
   plog/trunk/locale/locale_zh_CN.php
   plog/trunk/templates/summary/registerstep4.template
   plog/trunk/templates/summary/registerstep5.template
   plog/trunk/wizard.php
Log:
user register confirmation by email

some more works to do:
1 check email account: one email account only can register one blog or account
2 turn on or off email confirmation in admin interface. By now, you must manually setup "need_email_confirm" in config table, default is on.
3 allow user enter their username and activation code manully to active his account. By now, they must click the url that send to him by email.


Modified: plog/trunk/class/dao/blogs.class.php
===================================================================
--- plog/trunk/class/dao/blogs.class.php	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/class/dao/blogs.class.php	2004-12-13 13:08:13 UTC (rev 477)
@@ -257,9 +257,13 @@
 
             $result = $this->Execute( $query );
 
-            if( !$result )
+            if( !$result ){
+                $this->log->error("add blog to db failed:".$this->DbError());
+                // FIXME: throw an exception?
             	return false;
+            }
 
+
             $blogId = $this->_db->Insert_ID();
 
 			// create the row for the bayesian filter info
@@ -373,4 +377,4 @@
 				return true;
 		 }
      }
-?>
\ No newline at end of file
+?>

Modified: plog/trunk/class/dao/userstatus.class.php
===================================================================
--- plog/trunk/class/dao/userstatus.class.php	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/class/dao/userstatus.class.php	2004-12-13 13:08:13 UTC (rev 477)
@@ -14,6 +14,7 @@
 	define( "USER_STATUS_ALL", -1, true ); 
     define( "USER_STATUS_ACTIVE", 1, true );
     define( "USER_STATUS_DISABLED", 2, true );
+    define( "USER_STATUS_UNCONFIRMED", 3, true );
     
     class UserStatus extends Object
     {
@@ -66,4 +67,4 @@
 	     	return( USER_STATUS_ALL );   
         }
     }
-?>
\ No newline at end of file
+?>

Modified: plog/trunk/class/object/object.class.php
===================================================================
--- plog/trunk/class/object/object.class.php	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/class/object/object.class.php	2004-12-13 13:08:13 UTC (rev 477)
@@ -25,6 +25,7 @@
     include_once( PLOG_CLASS_PATH."class/logger/LogUtil.php" );
     include_once( PLOG_CLASS_PATH."debug.php" );
 
+    include_once( PLOG_CLASS_PATH."class/logger/Log.php" );
 	/**
 	 * This is the highest class on the top of our hierarchy. Provides some common methods
      * useful to deal with objects, an also some commodity methods for debugging such as
@@ -42,8 +43,13 @@
          */
 		function Object()
 		{
+        $conf = array('mode' => 0644, 'timeFormat' => '%X %x');
+        $this->log = &Log::singleton('file', 
+            'tmp/plog.log', 
+            $this->className(), 
+            $conf);
 			// initialize logging
-			$this->log =& LoggerManager::getLogger( $this->className());
+		//	$this->log =& LoggerManager::getLogger( $this->className());
 		}
 
         function __getObjectId()

Added: plog/trunk/class/summary/action/activeaccountaction.class.php
===================================================================
--- plog/trunk/class/summary/action/activeaccountaction.class.php	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/class/summary/action/activeaccountaction.class.php	2004-12-13 13:08:13 UTC (rev 477)
@@ -0,0 +1,69 @@
+<?php
+
+include_once(PLOG_CLASS_PATH.'class/action/action.class.php');
+include_once(PLOG_CLASS_PATH.'class/data/validator/stringvalidator.class.php');
+include_once(PLOG_CLASS_PATH.'class/dao/users.class.php');
+include_once(PLOG_CLASS_PATH.'class/dao/blogs.class.php');
+include_once(PLOG_CLASS_PATH.'class/summary/view/summaryview.class.php');
+
+include_once(PLOG_CLASS_PATH.'class/logger/LogUtil.php');
+
+class ActiveAccountAction extends Action {
+
+    var $username;
+    var $activeCode;
+
+    var $_locale;
+
+    function ActiveAccountAction($actionInfo,$httpRequest){
+        $this->Action($actionInfo,$httpRequest);
+
+        $this->registerFieldValidator("username",new StringValidator());
+        $this->registerFieldValidator("activeCode",new StringValidator());
+
+        $this->_locale = & Locales::getLocale();
+    }
+
+    function perform(){
+        $this->username = $this->_request->getValue("username");
+        $this->activeCode = $this->_request->getValue("activeCode");
+
+        $users = new Users();
+        $userInfo = $users->getUserInfoFromUsername($this->username);
+        
+        if(!$userInfo){
+            $this->_view = new SummaryView("confirmresult");
+            $this->_view->setValue("message",$this->_locale->tr("no_user_found"));
+            return false;
+        }
+
+        $this->log->debug("user info is ".LogUtil::format($userInfo));
+        
+        $activeCode = $userInfo->getValue("activeCode");
+        if($activeCode != $this->activeCode){
+            $this->log->debug("active code in db is:".$activeCode);
+            $this->log->debug("active code from user is:".$this->activeCode);
+            $this->_view = new SummaryView("confirmresult");
+            $this->_view->setValue("message",$this->_locale->tr("wrong_active_code"));
+            return false;
+        }
+        
+        // active user
+        $userInfo->setStatus(USER_STATUS_ACTIVE);
+        $users->updateUser($userInfo);
+        $this->log->debug("active user successfully!");
+        // also active the blog that user owned
+        // FIXME: how about other blogs that this user take part in?
+        $blogId = $users->getUserBlogId( $this->username);
+        $blogs = new Blogs();
+        $blog = $blogs->getBlogInfo($blogId);
+        $blog->setStatus(BLOG_STATUS_ACTIVE);
+        $blogs->updateBlog($blogId,$blog);
+
+        $this->_view = new SummaryView("confirmresult");
+        $this->_view->setValue("message",$this->_locale->tr("active_account_ok"));
+        $this->setCommonData();
+        return true;
+    }
+}
+?>

Modified: plog/trunk/class/summary/action/dofinishregister.class.php
===================================================================
--- plog/trunk/class/summary/action/dofinishregister.class.php	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/class/summary/action/dofinishregister.class.php	2004-12-13 13:08:13 UTC (rev 477)
@@ -1,6 +1,7 @@
 <?php
 
 	include_once( PLOG_CLASS_PATH."class/summary/action/registeraction.class.php" );
+	include_once( PLOG_CLASS_PATH."class/summary/dao/confirmemailmessage.class.php" );
     include_once( PLOG_CLASS_PATH."class/dao/users.class.php" );
     include_once( PLOG_CLASS_PATH."class/dao/blogs.class.php" );
 
@@ -11,6 +12,8 @@
      */
     class doFinishRegister extends registerAction 
 	{
+        var $need_confirm;
+
 		//{{{function doFinishRegister( $actionInfo, $request )
         /**
          * constructor
@@ -24,6 +27,8 @@
 			$this->setValidationErrorView( $view );
 
             $this->_view = new SummaryView( "registererror" );
+
+            $this->need_confirm = $this->_config->getValue("need_email_confirm_registration");
 		}	
         //}}}
 
@@ -41,6 +46,9 @@
                 $this->setTemplate($blogId);
             }
 
+            // FIXME:what if blog creation failed?
+            // how to throw an exception and roll back?
+
             $this->doneRegister();
         }
         //}}}
@@ -56,16 +64,23 @@
             $this->userPassword = $this->_request->getValue("userPassword");
             $this->userEmail = $this->_request->getValue("userEmail");
 
-            $this->log->debug("userName is ".$this->userName);
-            $this->log->debug("userPassword is ".$this->userPassword);
-
             $users = new Users();
 			$user = new UserInfo( $this->userName, 
                         $this->userPassword, 
                         $this->userEmail, 
                         "n/a", // about myself
                         $this->userFullName );
-            $user->setStatus(USER_STATUS_ACTIVE);
+
+            // if user registration need email confirm, that is
+            // user must active his account 
+            if($this->need_confirm == 1){
+                $this->log->debug("set user status to unconfirmed");
+                $user->setStatus(USER_STATUS_UNCONFIRMED);
+            } else {
+                $this->log->debug("set user status to active");
+                $user->setStatus(USER_STATUS_ACTIVE);
+            }
+
             $userId = $users->addUser( $user );
             if( !$userId ) {
                 $this->_view = new SummaryView( "registererror" );
@@ -74,8 +89,6 @@
                 return false;
             }
 
-            $this->log->debug("userId is ".$userId);
-
             return $userId;
         }
         //}}}
@@ -86,18 +99,28 @@
          */
         function createBlog($userId){
             $this->blogName = $this->_request->getValue("blogName");
-            $this->bloglocale = $this->_request->getValue("blogLocale");
+            $this->blogLocale = $this->_request->getValue("blogLocale");
 
             $this->log->debug("blogName is ".$this->blogName);
             $this->log->debug("blogLocale is ".$this->blogLocale);
+            $this->log->debug("userId is ".$userId);
 
             // get the default locale configured for the site
             $blogs = new Blogs();
 			$blogInfo = new BlogInfo( $this->blogName, $userId, "", "" );
-			$blogInfo->setStatus( BLOG_STATUS_ACTIVE );
+
+            if($this->need_confirm == 1){
+			    $blogInfo->setStatus( BLOG_STATUS_DISABLED );
+                $this->log->debug("set blog status to disabled.");
+            } else {
+			    $blogInfo->setStatus( BLOG_STATUS_ACTIVE );
+                $this->log->debug("set blog status to active.");
+            }
+
 			$locale = Locales::getLocale( $this->blogLocale );
 			$blogInfo->setLocale( $locale );
             $newblogId = $blogs->addBlog( $blogInfo );
+
             if( !$newblogId ) {
                 $this->log->debug("add blog failed,blog name is ".$this->blogName);
                 $this->_view = new SummaryView( "registererror" );
@@ -105,6 +128,8 @@
                 return false;
             }
 
+            $this->log->debug("create blog:".$this->blogName);
+
             // get info about the blog
             $blogInfo = $blogs->getBlogInfo( $newblogId );
 
@@ -123,6 +148,8 @@
             $articles = new Articles();
             $articles->addArticle( $article );
 
+            $this->log->debug("create blog successfully, add default artice done");
+
             return true;
         }
         //}}}
@@ -162,10 +189,69 @@
          */
         function doneRegister(){
             $this->_view = new SummaryView("registerstep5");
+            
+            if($this->need_confirm == 1){
+                $this->log->debug("registration need email confirm. ");
+                $this->_view->setValue("need_email_confirm",1);
+                $this->sendConfirmEmail();
+            }
+            
             $this->setCommonData();
             return true;
         }
         //}}}
+
+        //{{{function sendConfirmEmail(){
+        /**
+         * send confirm email to user.
+         * user will active his/her account according to this email
+         */
+        function sendConfirmEmail(){
+            $activeCode = $this->generateActiveCode();
+
+            $this->log->debug("active code is ".$activeCode);
+
+            // store the active code to the backend db in the properties field of user table
+            $users = new Users();
+            $userInfo = $users->getUserInfoFromUsername($this->userName);
+            $userInfo->setProperties(Array("activeCode"=>$activeCode));
+            $users->updateUser($userInfo);
+
+
+            $message = new ConfirmEmailMessage();
+            $message->setFrom( $this->_config->getValue( "post_notification_source_address" ));
+            $message->addTo( $this->userEmail);
+            $message->setSubject( "registration confirm for: ".$this->userName);
+            $message->setUsername($this->userName);
+            $message->setActiveCode($activeCode);
+
+            // create active Link
+            $base_url = $this->_config->getValue("base_url");
+            $message->setActiveLink($base_url."/summary.php?op=activeAccount&username="
+                    .$this->userName."&activeCode=".$activeCode);
+            $message->createBody();
+
+            //$this->log->debug("message is :".LogUtil::format($message));
+
+            $service = new EmailService();
+            $service->sendMessage( $message );
+
+        }
+        //}}}
+
+        //{{{function generateActiveCode(){
+        /**
+         * generate a random active code based on current time
+         * @return a string that random generated
+         * @access private
+         */
+        function generateActiveCode(){
+            srand((double)microtime() * 10000000);  
+            $activeCode = md5(time() . rand(1, 10000000));
+            $this->log->debug("in generateActivecode, active code is ".$activeCode);
+            return $activeCode;
+        }
+        //}}}
     }
 
     /*

Modified: plog/trunk/class/summary/action/registeraction.class.php
===================================================================
--- plog/trunk/class/summary/action/registeraction.class.php	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/class/summary/action/registeraction.class.php	2004-12-13 13:08:13 UTC (rev 477)
@@ -25,8 +25,8 @@
     function RegisterAction( $actionInfo, $request )
     {
         $this->Action( $actionInfo, $request );
-        $this->_config   = Config::getConfig();
-        $this->_locale   = Locales::getLocale( $this->_config->getValue("default_locale" ));			
+        $this->_config   = &Config::getConfig();
+        $this->_locale   = &Locales::getLocale( $this->_config->getValue("default_locale" ));			
     }
     //}}}
     

Added: plog/trunk/class/summary/dao/confirmemailmessage.class.php
===================================================================
--- plog/trunk/class/summary/dao/confirmemailmessage.class.php	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/class/summary/dao/confirmemailmessage.class.php	2004-12-13 13:08:13 UTC (rev 477)
@@ -0,0 +1,58 @@
+<?php
+
+include_once(PLOG_CLASS_PATH.'class/mail/emailmessage.class.php');
+include_once(PLOG_CLASS_PATH.'class/locale/locales.class.php');
+
+define(CONFIRM_MAIL_TEMPLATE,"email_confirm");
+
+/**
+ * email message that represent confirm email message mailed to user
+ * @package mail
+ */
+class ConfirmEmailMessage extends EmailMessage{
+
+    var $username;
+    var $activeCode;
+    var $activeLink;
+
+    function ConfirmEmailMessage(){
+        $this->EmailMessage();
+    }
+
+    function setUsername($username){
+        $this->username = $username;
+    }
+
+    function setActiveCode($activeCode){
+        $this->activeCode = $activeCode;
+    }
+
+    function setActiveLink($activeLink){
+        $this->activeLink = $activeLink;
+    }
+
+    /**
+     * create the message body
+     */
+    function createBody(){
+        $body = $this->renderBodyTemplate(CONFIRM_MAIL_TEMPLATE,"misc");
+        $this->setBody($body) ;
+    }
+
+    function renderBodyTemplate($templateid,$templateFolder){
+        // create a new template service
+        $ts = new TemplateService();
+        $messageTemplate = $ts->Template( $templateid,$templateFolder );
+        $messageTemplate->assign("username",$this->username);
+        $messageTemplate->assign("activeCode",$this->activeCode);
+        $messageTemplate->assign("activeLink",$this->activeLink);
+
+        // FIXME: use which locale?
+        $locale = &Locales::getLocale();
+        $messageTemplate->assign("locale",$locale);
+        // render and return the contents
+        return $messageTemplate->fetch();
+    }
+}
+
+?>

Modified: plog/trunk/locale/locale_en_UK.php
===================================================================
--- plog/trunk/locale/locale_en_UK.php	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/locale/locale_en_UK.php	2004-12-13 13:08:13 UTC (rev 477)
@@ -935,4 +935,21 @@
 $messages["register_new_blog_step3_title"] = "Select template";
 $messages["done"] = "register finished";
 $messages["register_new_blog_step4_description"] = "We have collected all information and ready to create your account and your blog.";
+
+$messages["welcome_to_plog"] = "Welcome to plog world! Please click the url below to active your account.";
+$messages["good_wish_and_good_bye"] = "Have a nice day! \n plog team";
+
+$messages["register_need_confirm"] = "You will received an email that contain an active url to active your account, please check your mail account after a short later.";
+$messages["no_user_found"] = "user not exist, have your really registered?";
+$messages["wrong_active_code"] = "wrong active code, please try again";
+$messages["active_account_ok"] = "You have actived your account, happy blogging!";
+
+$messages["register_new_blog_step0_title"] = "User Agreement";
+
+$messages["register_new_blog_step5_title"] = "Active your account";
+$messages["register_new_blog_step5_description"] = "registration finished";
+$messages["register_finished"] = "register finished";
+
+$messages["accept"] = "accept";
+$messages["decline"] = "decline";
 ?>

Modified: plog/trunk/locale/locale_zh_CN.php
===================================================================
--- plog/trunk/locale/locale_zh_CN.php	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/locale/locale_zh_CN.php	2004-12-13 13:08:13 UTC (rev 477)
@@ -544,7 +544,7 @@
 $messages["register_error"] = "错误";
 $messages["register_error_message"] = "发生了一个错误:";
 $messages["register_errors"] = "在处理时发生了错误,请查看:";
-$messages["register_new_blog_step1_title"] = "注册一个新的blog (1/3)";
+$messages["register_new_blog_step1_title"] = "注册一个新的blog (1/4)";
 $messages["register_step1_fill_in_title"] = "请填充下面信息.";
 $messages["register_step1_description"] = "<p>
 首先我们为你创建一个用户,请选择一个用户名 (不能是系统中已经有的,我们会通知你用户名是否存在) ,这个用户被视为这个blog的主人,拥有这个blog所有的权限.
@@ -561,14 +561,14 @@
 
 $messages["register_next"] = "下一步 &raquo;";
 
-$messages["register_new_blog_step2_title"] = "注册新的blog (2/3)";
-$messages["register_user_created"] = "用户创建成功! 现在我们将创建您的个人blog.";
+$messages["register_new_blog_step2_title"] = "注册新的blog (2/4)";
+$messages["register_user_created"] = "用户通过检查, 现在我们将创建您的个人blog.";
 $messages["register_step2_description"] = " <p>
-  我们需要知道你的日记名,这个过程结束后,你可以在管理界面修改它.
+  我们需要知道你的blog名,这个过程结束后,你可以在管理界面修改它.
  </p>";
 $messages["register_step2_blog_name"] = "你的blog名称:";
 
-$messages["register_new_blog_step4_title"] = "谢谢! (3/3)";
+$messages["register_new_blog_step4_title"] = "谢谢! (4/4)";
 $messages["register_new_blog_step4_description"] = "
  <p>
    注册结束,你的用户和blog在本站已经注册成功,你现在可以登陆并开始你的blog!
@@ -1027,7 +1027,24 @@
 $messages["password_confirm"] = "确认密码*";
 $messages["user_email_info"] = "用户邮箱";
 $messages["blog_locale_help"] = "请选择您的blog将要使用的语系";
-$messages["register_new_blog_step3_title"] = "选择模板";
+$messages["register_new_blog_step3_title"] = "选择模板(3/4)";
 $messages["done"] = "完成注册";
 $messages["register_new_blog_step4_description"] = "我们已经收集了创建您的帐户和博客需要的所有信息,请点击\"完成注册\"按钮,完成整个注册过程。";
+
+$messages["welcome_to_plog"] = "首先欢迎您注册为本站会员! 为了防止有人冒充您的邮件地址注册帐户,您还需要点击以下链接以便激活您的帐号:";
+$messages["good_wish_and_good_bye"] = "预祝您blog愉快! \n plog team";
+$messages["register_need_confirm"] = "我们已经发送了一封Email给您,里面说明了如何激活您的帐户. 请过一小会检查您注册时使用的邮件帐号. 如果您一直没有收到激活信,请....";
+$messages["no_user_found"] = "用户不存在";
+$messages["wrong_active_code"] = "激活码错误";
+$messages["active_account_ok"] = "您的帐户已经激活了, 赶快去blog吧!";
+
+$messages["register_new_blog_step0_title"] = "用户协议";
+
+$messages["register_new_blog_step5_title"] = "激活您的帐号";
+$messages["register_new_blog_step5_description"] = "注册完成";
+$messages["register_finished"] = "注册完成";
+
+$messages["accept"] = "同意以上条款";
+$messages["decline"] = "不同意以上条款";
+
 ?>

Added: plog/trunk/templates/summary/confirmresult.template
===================================================================
--- plog/trunk/templates/summary/confirmresult.template	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/templates/summary/confirmresult.template	2004-12-13 13:08:13 UTC (rev 477)
@@ -0,0 +1,9 @@
+{include file="summary/header.template" selected="register" columns=1}
+<div id="onecolumn">
+
+ <h1>{$locale->tr("confirm_result")}</h1>
+ <p>
+  <span style="color: red">{$message}</span>
+ </p>
+</div>
+{include file="summary/footer.template"}

Modified: plog/trunk/templates/summary/registerstep4.template
===================================================================
--- plog/trunk/templates/summary/registerstep4.template	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/templates/summary/registerstep4.template	2004-12-13 13:08:13 UTC (rev 477)
@@ -1,8 +1,10 @@
 {include file="summary/header.template" section=$locale->tr("register_new_blog_step4_title")}
+   {$locale->tr("register_new_blog_step4_description")}
 <div id="onecolumn">
- <form name="formDone">
-   {$locale->tr("register_new_blog_step4_description")}
-   
+ <form name="createBlog" action="summary.php" method="post">
+  <fieldset class="inputField">
+   <legend>{$locale->tr("step4")}</legend>
+
    <div> {$locale->tr("username")}:{$userName}</div> 
    <div> {$locale->tr("full_name")}:{$userFullName} </div>
    <div> {$locale->tr("password")}:{$userPassword} </div>
@@ -10,6 +12,7 @@
    <div> {$locale->tr("register_step2_blog_name")}:{$blogName} </div>
    <div> {$locale->tr("locale")}:{$blogLocale} </div>
    <div> {$locale->tr("templateId")}:{$templateId} </div>
+  </fieldset>
 
   <div class="buttons">
    <input type="submit" name="done" value="{$locale->tr("done")}" />

Modified: plog/trunk/templates/summary/registerstep5.template
===================================================================
--- plog/trunk/templates/summary/registerstep5.template	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/templates/summary/registerstep5.template	2004-12-13 13:08:13 UTC (rev 477)
@@ -3,11 +3,16 @@
  <form name="formDone">
   <fieldset class="inputField">
    {$locale->tr("register_new_blog_step5_description")}
-   {$locale->tr("register_step5_admin_link")}
-   {$locale->tr("register_step5_blog_link1")}
-   {$blogurl}
-   {$locale->tr("register_step5_blog_link2")}
-   {$locale->tr("register_step5_final_message")}
+
+   {if $need_email_confirm == 1}
+       {$locale->tr("register_need_confirm")}<br>
+   {else}
+       {$locale->tr("register_step5_admin_link")}<br>
+       {$locale->tr("register_step5_blog_link1")}<br>
+       {$blogurl}<br>
+       {$locale->tr("register_step5_blog_link2")}<br>
+       {$locale->tr("register_step5_final_message")}<br>
+   {/if}
   </fieldset>
   <div class="buttons">
    <input type="submit" name="done" value="{$locale->tr("register_finished")}" onClick='window.location.href="summary.php"'/>

Modified: plog/trunk/wizard.php
===================================================================
--- plog/trunk/wizard.php	2004-12-13 12:29:54 UTC (rev 476)
+++ plog/trunk/wizard.php	2004-12-13 13:08:13 UTC (rev 477)
@@ -534,6 +534,7 @@
 $Inserts[98] = "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES('subdomains_base_url', '', 3);";
 $Inserts[99] = "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES('autosave_new_drafts_time_millis', '300000', 3);";
 $Inserts[100] = "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES('save_drafts_via_xmlhttprequest_enabled', '1', 1);";
+$Inserts[101] = "INSERT INTO {dbprefix}config (config_key, config_value, value_type) VALUES('need_email_confirm_registration', '1', 1);";
 
 
 
@@ -1266,7 +1267,7 @@
             // ---
             // add the new configuration settings that were added for 1.0
             // ---
-            $newSettings = range( 71, 100 );
+            $newSettings = range( 71, 101 );
             foreach( $newSettings as $settingId ) {
                 $setting = $Inserts[$settingId];
                 $query = str_replace( "{dbprefix}", $this->_dbPrefix, $setting );




More information about the pLog-svn mailing list