[pLog-svn] r3559 - in plog/trunk: class/action class/action/admin
class/data class/data/validator class/net/http
class/summary/action class/summary/view class/view/admin
locale templates/admin templates/summary
oscar at devel.lifetype.net
oscar at devel.lifetype.net
Thu Jun 8 18:31:30 GMT 2006
Author: oscar
Date: 2006-06-08 18:31:30 +0000 (Thu, 08 Jun 2006)
New Revision: 3559
Added:
plog/trunk/class/data/validator/domainvalidator.class.php
Modified:
plog/trunk/class/action/admin/adminupdateblogsettingsaction.class.php
plog/trunk/class/action/blogaction.class.php
plog/trunk/class/data/textfilter.class.php
plog/trunk/class/net/http/subdomains.class.php
plog/trunk/class/summary/action/doblogregistration.class.php
plog/trunk/class/summary/action/dofinishregister.class.php
plog/trunk/class/summary/action/registeraction.class.php
plog/trunk/class/summary/view/doblogregistrationview.class.php
plog/trunk/class/view/admin/adminblogsettingsview.class.php
plog/trunk/locale/locale_en_UK.php
plog/trunk/templates/admin/blogsettings.template
plog/trunk/templates/admin/globalsettings_general.template
plog/trunk/templates/summary/registerstep2.template
plog/trunk/templates/summary/registerstep3.template
Log:
merged Jon's support for different domains at the same time
Modified: plog/trunk/class/action/admin/adminupdateblogsettingsaction.class.php
===================================================================
--- plog/trunk/class/action/admin/adminupdateblogsettingsaction.class.php 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/class/action/admin/adminupdateblogsettingsaction.class.php 2006-06-08 18:31:30 UTC (rev 3559)
@@ -6,7 +6,9 @@
include_once( PLOG_CLASS_PATH."class/data/validator/integervalidator.class.php" );
include_once( PLOG_CLASS_PATH."class/data/textfilter.class.php" );
include_once( PLOG_CLASS_PATH."class/view/admin/adminblogsettingsview.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/domainvalidator.class.php" );
include_once( PLOG_CLASS_PATH."class/data/validator/rules/intrangerule.class.php" );
+ include_once( PLOG_CLASS_PATH."class/net/http/subdomains.class.php" );
/**
@@ -50,6 +52,8 @@
$this->registerField( "blogEnableAutosaveDrafts" );
$this->registerField( "blogShowInSummary" );
$this->registerField( "blogSendNotification" );
+ $this->registerFieldValidator( "blogSubDomain", new DomainValidator());
+ $this->registerFieldValidator( "blogMainDomain", new DomainValidator());
// set the view that we're going to use
$view = new AdminBlogSettingsView( $this->_blogInfo );
$view->setErrorMessage( $this->_locale->tr("error_updating_settings"));
@@ -61,6 +65,8 @@
*/
function perform()
{
+ $config =& Config::getConfig();
+
// fetch the settings from the db and update them accordingly
$blogs = new Blogs();
$blogSettings = $this->_blogInfo->getSettings();
@@ -87,7 +93,42 @@
$this->_blogInfo->setBlogCategoryId( $this->_request->getValue( "blogCategory" ));
$this->_blogInfo->setMangledBlogName( Textfilter::urlize( $this->_blogInfo->getBlog()));
$this->_blogInfo->setShowInSummary( Textfilter::checkboxToBoolean( $this->_request->getValue( "blogShowInSummary" )));
+
+ // 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 AdminBlogSettingsView( $this->_blogInfo );
+ $this->_view->setErrorMessage( $this->_locale->tr("error_updating_blog_subdomain"));
+ $this->setCommonData();
+ return false;
+ }
+
+ if( Subdomains::isValidDomainName( $mainDomain )) {
+ $this->_view = new AdminBlogSettingsView( $this->_blogInfo );
+ $this->_view->setErrorMessage( $this->_locale->tr("error_updating_blog_subdomain"));
+ $this->setCommonData();
+ return false;
+ }
+
+ if($mainDomain == "?"){
+ $blog_domain = $subDomain;
+ }
+ else{
+ $blog_domain = $subDomain . "." . $mainDomain;
+ }
+
+ print("blog_domain = $blog_domain" );
+
+ $this->_blogInfo->setCustomDomain( $blog_domain );
+ }
+
// and now update the settings in the database
$blogs = new Blogs();
Modified: plog/trunk/class/action/blogaction.class.php
===================================================================
--- plog/trunk/class/action/blogaction.class.php 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/class/action/blogaction.class.php 2006-06-08 18:31:30 UTC (rev 3559)
@@ -206,7 +206,7 @@
}
}
else {
- // if there is no user parameter, we take the blogId from the session
+ // if there is no user parameter, we take the blogId from the session
if( $this->_session->getValue('blogId') != '' ) {
$blogId = $this->_session->getValue('blogId');
}
Modified: plog/trunk/class/data/textfilter.class.php
===================================================================
--- plog/trunk/class/data/textfilter.class.php 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/class/data/textfilter.class.php 2006-06-08 18:31:30 UTC (rev 3559)
@@ -425,14 +425,37 @@
*
* @param string The string that we wish to convert into something that can be used as a URL
*/
+ /**
+ * Given a string, convert it into something that can be used in the domain part of a URL
+ * (it probably doesn't work very
+ * well with non iso-8859-X strings) It will remove the following characters:
+ *
+ * ; / ? : @ & = + $ ,
+ *
+ * It will convert accented characters such as , , , etc to
+ * their non-accented counterparts (a, e, i) And
+ * any other non-alphanumeric character that hasn't been removed
+ * or replaced will be thrown away.
+ *
+ * @param string The string that we wish to convert into something that can be used as a URL
+ */
function domainize( $string )
{
- $search = array('_',' ');
- $replace = array('-','-');
+ // remove unnecessary spaces and make everything lower case
+ $string = preg_replace( "/ +/", " ", strtolower($string) );
+
+ // removing a set of reserved characters (rfc2396: ; / ? : @ & = + $ ,)
+ $string = str_replace(array(';','/','?',':','@','&','=','+','$',','), '', $string);
+
+ // replace some characters to similar ones
+ $search = array('_',' ','ä','ö','ü','é','è','à','ç','à','è','ì','ò','ù','á','é','í','ó','ú','ë','ï');
+ $replace = array('-','-','a','o','u','e','e','a','c','a','e','i','o','u','a','e','i','o','u','e','i');
$string = str_replace($search, $replace, $string);
- $string = Textfilter::urlize($string);
+
+ // and everything that is still left that hasn't been replaced/encoded, throw it away
+ $string = preg_replace( '/[^a-z0-9.-]/', '', $string );
$string = trim($string, "-.");
-
+
return $string;
}
Added: plog/trunk/class/data/validator/domainvalidator.class.php
===================================================================
--- plog/trunk/class/data/validator/domainvalidator.class.php 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/class/data/validator/domainvalidator.class.php 2006-06-08 18:31:30 UTC (rev 3559)
@@ -0,0 +1,32 @@
+<?php
+
+ include_once( PLOG_CLASS_PATH."class/data/validator/validator.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/rules/nonemptyrule.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/rules/filteredwordsrule.class.php" );
+
+ /**
+ * \ingroup Validator
+ *
+ * Checks if a domain is valid. Domains have to comply with the following rules:
+ *
+ * - They must not be empty
+ * - They must not be any of the forbidden usernames. Forbidden domains
+ * (and usernames) can be configured via the 'forbidden_usernames'
+ * configuration parameter.
+ *
+ * @see NonEmptyRule
+ * @see FilteredWordsRule
+ */
+ class DomainValidator extends Validator
+ {
+ function DomainValidator()
+ {
+ $this->Validator();
+// $this->addRule( new NonEmptyRule());
+ $config =& Config::getConfig();
+ $forbiddenDomainNames = $config->getValue( "forbidden_usernames", "" );
+ $forbiddenDomainNamesArray = explode( " ", $forbiddenDomainNames );
+ $this->addRule( new FilteredWordsRule( $forbiddenDomainNamesArray ));
+ }
+ }
+?>
\ No newline at end of file
Modified: plog/trunk/class/net/http/subdomains.class.php
===================================================================
--- plog/trunk/class/net/http/subdomains.class.php 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/class/net/http/subdomains.class.php 2006-06-08 18:31:30 UTC (rev 3559)
@@ -63,5 +63,72 @@
// return it...
return( $isSubdomain );
}
+
+ /**
+ * Returns true if subdomains are enabled in one way or another in the configuration
+ *
+ * @return True if enabled or false otherwise
+ * @static
+ */
+ function getSubdomainsEnabled()
+ {
+ include_once( PLOG_CLASS_PATH."class/config/config.class.php" );
+ $config =& Config::getConfig();
+
+ $blog_domains_enabled =
+ ($config->getValue("subdomains_enabled", 0) &&
+ (strpos($config->getValue("subdomains_base_url", ""),
+ "{blogdomain}") !== FALSE));
+
+ return( $blog_domains_enabled );
+ }
+
+ /**
+ * Returns an array with the list of available domains
+ *
+ * @return True if successful or false otherwise
+ */
+ function getAvailableDomains()
+ {
+ include_once( PLOG_CLASS_PATH."class/config/config.class.php" );
+ $config =& Config::getConfig();
+
+ $available_domains = $config->getValue("subdomains_available_domains", "");
+ if($available_domains){
+ $available_domains = explode(" ", $available_domains);
+ }
+
+ return( $available_domains );
+ }
+
+ /**
+ * Returns true if the given domain name is one of the available ones
+ *
+ * @param domain The domain name we'd like to check
+ * @return True if successful or false otherwise
+ * @static
+ * @see Subdomains::getAvailableDomains
+ */
+ function isDomainAvailable( $domain )
+ {
+ $domains = Subdomains::getAvailableDomains();
+ return( array_key_exists( $domain, array_flip( $domains )));
+ }
+
+ /**
+ * Returns true if the given subdomain name is valid (i.e. complies with the domain naming restrictions)
+ *
+ * @param domain The name we'd like to check
+ * @return True if successful or false otherwise
+ */
+ function isValidDomainName( $domain )
+ {
+ // Use forbidden_usernames for domains as well, since they are related
+ // in that we don't want people to register www.xyz or forums.xyz
+ // through these subdomains either
+ include_once( PLOG_CLASS_PATH."class/data/validator/usernamevalidator.class.php" );
+ $val = new UsernameValidator();
+ return( $val->validate( $domain ));
+ }
}
?>
\ No newline at end of file
Modified: plog/trunk/class/summary/action/doblogregistration.class.php
===================================================================
--- plog/trunk/class/summary/action/doblogregistration.class.php 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/class/summary/action/doblogregistration.class.php 2006-06-08 18:31:30 UTC (rev 3559)
@@ -7,6 +7,8 @@
include_once( PLOG_CLASS_PATH."class/summary/view/doblogregistrationview.class.php" );
include_once( PLOG_CLASS_PATH."class/summary/view/blogtemplatechooserview.class.php" );
include_once( PLOG_CLASS_PATH."class/locale/locales.class.php" );
+ include_once( PLOG_CLASS_PATH."class/data/validator/domainvalidator.class.php" );
+ include_once( PLOG_CLASS_PATH."class/net/http/subdomains.class.php" );
/**
* registers a blog
@@ -23,20 +25,57 @@
$this->registerFieldValidator( "blogName", new StringValidator());
$this->registerFieldValidator( "blogCategoryId", new IntegerValidator());
$this->registerFieldValidator( "blogLocale", new StringValidator());
+ $this->registerFieldValidator( "blogSubDomain", new DomainValidator(), true );
+ $this->registerFieldValidator( "blogMainDomain", new DomainValidator(), true );
$view = new doBlogRegistrationView();
$view->setErrorMessage( $this->_locale->tr("register_error_creating_blog"));
$this->setValidationErrorView( $view );
}
+ function validate()
+ {
+ // if the other fields did not validate, no need to continue
+ if( !parent::validate())
+ return false;
+
+ // check to see whether we are going to save subdomain information
+ $valid = true;
+ 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" ));
+
+ // get list of allowed domains
+ $available_domains = Subdomains::getAvailableDomains();
+
+ // make sure the mainDomain parameter is one of the blogAvailableDomains and if not,
+ // force a validation error
+ if( !Subdomains::isDomainAvailable( $mainDomain ) || !Subdomains::isValidDomainName( $subDomain )) {
+ $valid = false;
+ $this->_form->setFieldValidationStatus( "blogSubDomain", false );
+ $this->validationErrorProcessing();
+ }
+
+ if($mainDomain == "?")
+ $this->blogDomain = $subDomain;
+ else
+ $this->blogDomain = $subDomain . "." . $mainDomain;
+ }
+
+ return( $valid );
+ }
+
function perform()
{
- // validated values
- $tf = new Textfilter();
-
// create the new view and clean the cache
$this->_view = new BlogTemplateChooserView();
$this->setValues();
$this->setCommonData();
+
+ return( true );
}
}
-?>
+?>
\ No newline at end of file
Modified: plog/trunk/class/summary/action/dofinishregister.class.php
===================================================================
--- plog/trunk/class/summary/action/dofinishregister.class.php 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/class/summary/action/dofinishregister.class.php 2006-06-08 18:31:30 UTC (rev 3559)
@@ -100,6 +100,7 @@
function createBlog($userId)
{
$this->blogName = stripslashes($this->_request->getValue("blogName"));
+ $this->blogDomain = stripslashes($this->_request->getValue("blogDomain"));
$this->blogCategoryId = $this->_request->getValue("blogCategoryId");
$this->blogLocale = $this->_request->getValue("blogLocale");
$this->templateId = $this->_request->getValue("templateId");
@@ -118,6 +119,12 @@
$blogInfo->setLocale( $locale );
$blogInfo->setTemplate( $this->templateId );
$blogInfo->setBlogCategoryId( $this->blogCategoryId );
+
+ if( Subdomains::getSubdomainsEnabled()) {
+ $blogDomain = $this->_request->getValue( "blogDomain" );
+ $blogInfo->setCustomDomain( $blogDomain );
+ }
+
$newblogId = $blogs->addBlog( $blogInfo );
if( !$newblogId ) {
Modified: plog/trunk/class/summary/action/registeraction.class.php
===================================================================
--- plog/trunk/class/summary/action/registeraction.class.php 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/class/summary/action/registeraction.class.php 2006-06-08 18:31:30 UTC (rev 3559)
@@ -20,6 +20,7 @@
var $blogCategoryId;
var $blogLocale;
var $templateId;
+ var $blogDomain;
//}}}
//{{{function RegisterAction( $actionInfo, $request )
@@ -29,6 +30,7 @@
$tf = new Textfilter();
$this->blogName = $tf->filterAllHTML( $this->_request->getValue( "blogName" ));
+ $this->blogDomain = $tf->filterAllHTML( $this->_request->getValue( "blogDomain" ));
$this->blogCategoryId = $this->_request->getValue( "blogCategoryId" );
$this->blogLocale = $this->_request->getValue( "blogLocale" );
$this->userName = $tf->filterAllHTML($this->_request->getValue( "userName" ));
@@ -55,6 +57,7 @@
$this->_view->setValue( "userEmail", $this->userEmail );
$this->_view->setValue( "blogName", $this->blogName );
$this->_view->setValue( "blogCategoryId", $this->blogCategoryId );
+ $this->_view->setValue( "blogDomain", $this->blogDomain );
$this->_view->setValue( "blogLocale", $this->blogLocale );
$this->_view->setValue( "templateId", $this->templateId );
}
Modified: plog/trunk/class/summary/view/doblogregistrationview.class.php
===================================================================
--- plog/trunk/class/summary/view/doblogregistrationview.class.php 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/class/summary/view/doblogregistrationview.class.php 2006-06-08 18:31:30 UTC (rev 3559)
@@ -3,6 +3,7 @@
include_once( PLOG_CLASS_PATH."class/summary/view/summaryview.class.php" );
include_once( PLOG_CLASS_PATH."class/locale/locales.class.php" );
include_once( PLOG_CLASS_PATH."class/dao/blogcategories.class.php" );
+ include_once( PLOG_CLASS_PATH."class/net/http/subdomains.class.php" );
/**
* shows a list with all the locales so that users can choose, too
@@ -28,8 +29,14 @@
// get a list of blog categories, so we can let user to choose
$blogCategories = new BlogCategories();
$categories = $blogCategories->getBlogCategories();
- $this->setValue( "blogCategories", $categories );
+ $this->setValue( "blogCategories", $categories );
+ // enable or disable the drop-down list to select subdomains
+ if( Subdomains::getSubdomainsEnabled()) {
+ $this->setValue( "blogDomainsEnabled", true );
+ $this->setValue( "blogAvailableDomains", Subdomains::getAvailableDomains());
+ }
+
// and render the rest of the contents of the view
parent::render();
}
Modified: plog/trunk/class/view/admin/adminblogsettingsview.class.php
===================================================================
--- plog/trunk/class/view/admin/adminblogsettingsview.class.php 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/class/view/admin/adminblogsettingsview.class.php 2006-06-08 18:31:30 UTC (rev 3559)
@@ -4,6 +4,7 @@
include_once( PLOG_CLASS_PATH."class/template/templatesets/templatesets.class.php" );
include_once( PLOG_CLASS_PATH."class/locale/locales.class.php" );
include_once( PLOG_CLASS_PATH."class/dao/blogcategories.class.php" );
+ include_once( PLOG_CLASS_PATH."class/net/http/subdomains.class.php" );
/**
* \ingroup View
@@ -18,6 +19,8 @@
{
$this->AdminTemplatedView( $blogInfo, "blogsettings" );
+ $config =& Config::getConfig();
+
$blogSettings = $blogInfo->getSettings();
$this->setValue( "blogAbout", $this->_blogInfo->getAbout());
$this->setValue( "blogName", $this->_blogInfo->getBlog());
@@ -40,6 +43,37 @@
$this->setValue( "blogCategory", $this->_blogInfo->getBlogCategoryId());
$this->setValue( "blogShowInSummary", $this->_blogInfo->getShowInSummary());
$this->setValue( "blogSendNotification", $blogSettings->getValue( "default_send_notification" ));
+
+ // only do blog_domain stuff if subdomains are enabled
+ // Don't waste time here, as well as be less confusing by
+ // not showing the option to users who can't use it
+ if( Subdomains::getSubdomainsEnabled()) {
+ $domain = $this->_blogInfo->getCustomDomain();
+
+ $available_domains = Subdomains::getAvailableDomains();
+
+ // default to any domain, this will be overwritten
+ // if the domain is found in the available_domains array
+ $subdomain = $domain;
+ $maindomain = "?";
+
+ foreach($available_domains as $avdomain){
+ // search to see if domain suffix is on
+ // the available_domain list.
+ $found = strpos($domain, $avdomain);
+ if($found !== FALSE && $found == (strlen($domain) - strlen($avdomain))){
+ $subdomain = substr($domain, 0, $found-1);
+ $maindomain = $avdomain;
+ break;
+ }
+ }
+
+ // pass the domain information to the view
+ $this->setValue( "blogSubDomain", $subdomain );
+ $this->setValue( "blogMainDomain", $maindomain );
+ $this->setValue( "blogAvailableDomains", $available_domains );
+ $this->setValue( "blogDomainsEnabled", 1 );
+ }
}
function render()
Modified: plog/trunk/locale/locale_en_UK.php
===================================================================
--- plog/trunk/locale/locale_en_UK.php 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/locale/locale_en_UK.php 2006-06-08 18:31:30 UTC (rev 3559)
@@ -688,7 +688,6 @@
$messages['help_temp_folder'] = 'Folder that LifeType can use to write its temporary data such as compiled templates, etc. Use a folder outside the web server tree for increased security [Default = ./tmp]';
$messages['help_base_url'] = 'Base URL where this blog is installed';
$messages['help_subdomains_enabled'] = 'Enable or disable subdomains. Please see the documentation for more information regarding subdomains [Default = No]';
-$messages['help_subdomains_base_url'] = 'When subdomains are enabled, this base URL is used instead of base_url. Use {blogname} to get the blog name and {username} to get the name of the user owner of the blog in order to generate a link to a blog. (i.e. http://{blogname}.yourdomain.com)';
$messages['help_include_blog_id_in_url'] = 'Meaningful only when subdomains are enabled and "normal" URLs are enabled, forces internally-generated URLs not to have the "blogId" parameter. Do not change unless you know what you are doing [Default = Yes]';
$messages['help_script_name'] = 'Set this if you need to rename index.php to something else [Default = index.php]';
$messages['help_show_posts_max'] = 'Maximum number of posts shown in the main page. Only meaningful for new blogs [Default = 15]';
@@ -1041,6 +1040,11 @@
$messages['first_day_of_week_label'] = 'First Day of Week';
$messages['first_day_of_week_help'] = 'First Day of Week in calendar';
+$messages['help_subdomains_base_url'] = 'When subdomains are enabled, this base URL is used instead of base_url. Use {blogname} to get the blog name, {username} to get the name of the user owner of the blog and {blogdomain} to allow the user to specify any subdomain in order to generate a link to a blog. (e.g.. http://{blogname}.yourdomain.com)';
+
$messages['registration_default_subject'] = 'LifeType registration confirmation';
+$messages['error_invalid_subdomain'] = 'The subdomain name is not valid or it is not unique';
+$messages['register_blog_domain_help'] = 'Name and subdomain that you would like to use for your new blog';
+$messages['domain'] = 'Domain';
?>
\ No newline at end of file
Modified: plog/trunk/templates/admin/blogsettings.template
===================================================================
--- plog/trunk/templates/admin/blogsettings.template 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/templates/admin/blogsettings.template 2006-06-08 18:31:30 UTC (rev 3559)
@@ -15,7 +15,29 @@
{include file="$admintemplatepath/validate.template" field=blogName message=$locale->tr("error_empty_name")}
</div>
+ {if $blogDomainsEnabled}
<div class="field">
+ <label for="blogSubDomain">{$locale->tr("domain")}</label>
+ <div class="formHelp">{$locale->tr("register_blog_domain_help")}</div>
+ <input type="text" name="blogSubDomain" id="blogSubDomain" style="width:150px" value="{$blogSubDomain}" />
+ <select name="blogMainDomain" id="blogMainDomain">
+ {foreach from=$blogAvailableDomains item=domain}
+ <option value="{$domain}"
+ {if $domain == $blogMainDomain}selected{/if}>
+ {if $domain == "?"}
+ {$locale->tr("subdomains_any_domain")}
+ {else}
+ .{$domain}
+ {/if}
+ </option>
+ {/foreach}
+ </select>
+ {include file="$admintemplatepath/validate.template" field=blogSubDomain message=$locale->tr("error_invalid_subdomain")}
+ {include file="$admintemplatepath/validate.template" field=blogMainDomain message=$locale->tr("error_invalid_domain")}
+ </div>
+ {/if}
+
+ <div class="field">
<label for="blogAbout">{$locale->tr("description")}</label>
<span class="required"></span>
<div class="formHelp">{$locale->tr("blog_description_help")}</div>
Modified: plog/trunk/templates/admin/globalsettings_general.template
===================================================================
--- plog/trunk/templates/admin/globalsettings_general.template 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/templates/admin/globalsettings_general.template 2006-06-08 18:31:30 UTC (rev 3559)
@@ -38,6 +38,12 @@
<div class="formHelp">{$locale->tr("help_subdomains_base_url")}</div>
<input style="width:100%" type="text" name="config[subdomains_base_url]" value="{$subdomains_base_url}"/>
</div>
+ <!-- subdomains_available_domains -->
+ <div class="field">
+ <label for="config[subdomains_available_domains]">subdomains_available_domains</label>
+ <div class="formHelp">{$locale->tr("help_subdomains_available_domains")}</div>
+ <input style="width:100%" type="text" name="config[subdomains_available_domains]" value="{$subdomains_available_domains}"/>
+ </div>
<!-- include_blog_id_in_url -->
<div class="field">
<label for="config[include_blog_id_in_url]">include_blog_id_in_url</label>
Modified: plog/trunk/templates/summary/registerstep2.template
===================================================================
--- plog/trunk/templates/summary/registerstep2.template 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/templates/summary/registerstep2.template 2006-06-08 18:31:30 UTC (rev 3559)
@@ -10,7 +10,30 @@
<input type="text" name="blogName" value="{$blogName}" id="blogName" />
{include file="summary/validate.template" field=blogName message=$locale->tr("error_empty_name")}
</div>
+
+ {if $blogDomainsEnabled}
<div class="field">
+ <label for="blogSubDomain">{$locale->tr("domain")}</label>
+ <span class="required">*</span>
+ <div class="formHelp">{$locale->tr("register_blog_domain_help")}</div>
+ <input type="text" name="blogSubDomain" id="blogSubDomain" style="width:150px" value="{$blogSubDomain}" />
+ <select name="blogMainDomain" id="blogMainDomain">
+ {foreach from=$blogAvailableDomains item=domain}
+ <option value="{$domain}" {if $domain == $blogMainDomain}selected{/if}>
+ {if $domain == "?"}
+ {$locale->tr("subdomains_any_domain")}
+ {else}
+ .{$domain}
+ {/if}
+ </option>
+ {/foreach}
+ </select>
+ {include file="summary/validate.template" field=blogSubDomain message=$locale->tr("error_invalid_subdomain")}
+ {include file="summary/validate.template" field=blogMainDomain message=$locale->tr("error_invalid_domain")}
+ </div>
+ {/if}
+
+ <div class="field">
<label for="blogCategoryId">{$locale->tr("blog_category")}</label>
<span class="required">*</span>
<div class="formHelp">{$locale->tr("blog_category_help")}</div>
@@ -20,6 +43,7 @@
{/foreach}
</select>
</div>
+
<div class="field">
<label for="blogLocale">{$locale->tr("language")}</label>
<span class="required">*</span>
Modified: plog/trunk/templates/summary/registerstep3.template
===================================================================
--- plog/trunk/templates/summary/registerstep3.template 2006-06-08 17:33:01 UTC (rev 3558)
+++ plog/trunk/templates/summary/registerstep3.template 2006-06-08 18:31:30 UTC (rev 3559)
@@ -31,6 +31,7 @@
<!-- <input type="button" onClick="javascript:window.location='summary.php?op=RegisterStep3'" value="« {$locale->tr("register_back")}" name="Register"/> -->
<input type="submit" name="{$locale->tr("register_next")}" value="{$locale->tr("register_next")} »"/>
<input type="hidden" name="userName" value="{$userName}"/>
+ <input type="hidden" name="blogDomain" value="{$blogDomain}"/>
<input type="hidden" name="userFullName" value="{$userFullName}"/>
<input type="hidden" name="userPassword" value="{$userPassword}"/>
<input type="hidden" name="userEmail" value="{$userEmail}"/>
More information about the pLog-svn
mailing list