Index: trunk/kernel/include/usersession.php =================================================================== diff -u -N -r3508 -r3983 --- trunk/kernel/include/usersession.php (.../usersession.php) (revision 3508) +++ trunk/kernel/include/usersession.php (.../usersession.php) (revision 3983) @@ -554,7 +554,7 @@ $this->Set("GroupId", $objConfig->Get("User_GuestGroup")); #$this->SetPersistantVariable("LastLogin", adodb_mktime()); - if ($FrontEnd) $group_list = $objConfig->Get('User_GuestGroup').','.$objConfig->Get('User_LoggedInGroup'); + $group_list = $FrontEnd ? $objConfig->Get('User_GuestGroup').','.$objConfig->Get('User_LoggedInGroup') : ''; $this->Set("GroupList", $group_list); $this->SetVariable('UserGroups', $group_list ); Index: trunk/kernel/units/custom_fields/custom_fields_event_handler.php =================================================================== diff -u -N -r2079 -r3983 --- trunk/kernel/units/custom_fields/custom_fields_event_handler.php (.../custom_fields_event_handler.php) (revision 2079) +++ trunk/kernel/units/custom_fields/custom_fields_event_handler.php (.../custom_fields_event_handler.php) (revision 3983) @@ -25,22 +25,17 @@ function OnBeforeItemCreate(&$event) { $object =& $event->getObject(); - $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); - $new_field_name=$items_info[0]['FieldName']; - - $table = $this->Application->getUnitOption($event->Prefix,'TableName'); - $found = $this->Conn->GetOne("SELECT count(*) FROM ".$table." WHERE FieldName='".$new_field_name."'"); + $live_table = $this->Application->getUnitOption($event->Prefix, 'TableName'); + $sql = 'SELECT COUNT(*) + FROM '.$live_table.' + WHERE FieldName = '.$this->Conn->qstr($object->GetDBField('FieldName')).' AND Type = '.$object->GetDBField('Type'); + $found = $this->Conn->GetOne($sql); - if($found){ - $event->status=erFAIL; - $object->FieldErrors['FieldName']['pseudo'] = $this->Application->Phrase('la_error_CustomExists'); + if ($found) { + $event->status = erFAIL; + $object->SetError('FieldName', 'duplicate', 'la_error_CustomExists'); } - else { - $item_type=$this->Application->GetVar('cf_type'); - - $object->SetDBField('Type', $this->Application->GetVar('cf_type')); - } } /** @@ -65,5 +60,20 @@ parent::OnMassDelete($event); $event->redirect_params = Array('opener' => 's'); } + + /** + * Prepare temp tables for creating new item + * but does not create it. Actual create is + * done in OnPreSaveCreated + * + * @param kEvent $event + */ + function OnPreCreate(&$event) + { + parent::OnPreCreate($event); + + $object =& $event->getObject(); + $object->SetDBField('Type', $this->Application->GetVar('cf_type')); + } } ?> \ No newline at end of file Index: trunk/themes/default/register/register_form.tpl =================================================================== diff -u -N -r1311 -r3983 --- trunk/themes/default/register/register_form.tpl (.../register_form.tpl) (revision 1311) +++ trunk/themes/default/register/register_form.tpl (.../register_form.tpl) (revision 3983) @@ -59,30 +59,49 @@
+
*

+
 
+
+ +   +
+ + + +
 
+
+ +   +
+ + + +
*  
+
* () @@ -96,34 +115,46 @@

+
+ +
+
+ + + +
 
+
 
+
 
- -
- -   - - - + +
+ +   + + + + +
Index: trunk/themes/default/inc/style.css =================================================================== diff -u -N -r2047 -r3983 --- trunk/themes/default/inc/style.css (.../style.css) (revision 2047) +++ trunk/themes/default/inc/style.css (.../style.css) (revision 3983) @@ -1,22 +1,22 @@ -p, td { - font-family: arial, verdana, helvetica; - color: #000000; - font-size: small; +p, td { + font-family: arial, verdana, helvetica; + color: #000000; + font-size: small; } - -input, select, textarea { - font-family: arial, verdana, helvetica; - color: #000000; - font-size: small; + +input, select, textarea { + font-family: arial, verdana, helvetica; + color: #000000; + font-size: small; } - -form { + +form { margin: 0; display: inline; } - -table { - border-collapse: collapse; + +table { + border-collapse: collapse; /*width: 100%;*/ padding: 0px; margin: 0px; @@ -27,55 +27,55 @@ margin: 0px; vertical-align: top; } - -a, a:active { - color: #003399; - text-decoration: underline; + +a, a:active { + color: #003399; + text-decoration: underline; } - -a:hover { + +a:hover { color: #A20303; } - + .error { color: #A20303; font-weight: bold; } -td.toolbar { - color:#FFFFFF; - background-color:#FD6500; - padding-top:7px; - padding-bottom:7px; - padding-left:20px; - padding-right:20px; - font-size: small; +td.toolbar { + color:#FFFFFF; + background-color:#FD6500; + padding-top:7px; + padding-bottom:7px; + padding-left:20px; + padding-right:20px; + font-size: small; } -a.toolbar { - color:#FFFFFF; - text-decoration: none; +a.toolbar { + color:#FFFFFF; + text-decoration: none; } - -a.toolbar:hover { - color:#FFFFFF; - text-decoration: underline; + +a.toolbar:hover { + color:#FFFFFF; + text-decoration: underline; } /* -.block { - border: 1px solid #999999; +.block { + border: 1px solid #999999; margin-bottom: 10px; width: 100%; }*/ -/* -.block-no-border { - border: 0px; +/* +.block-no-border { + border: 0px; margin-bottom: 10px; width: 100%; } */ /* -td.block-header { +td.block-header { background-color: #003399; color: #FFFFFF; font-size: small; @@ -94,93 +94,93 @@ /* td.block-data, .block-data td { - padding: 10px; + padding: 10px; } */ td.block-data-single { - padding: 10px 0px 10px 10px; + padding: 10px 0px 10px 10px; } - -.block-data-ul { - padding-left: 0px; - margin-left: 25px; + +.block-data-ul { + padding-left: 0px; + margin-left: 25px; margin-top: 5px; list-style-type: square; - } - -.block-data-big { - padding: 10px; - font-size: small; } -.block-data-big-ul { - font-size: small; - padding-left: 0px; - margin-left: 25px; +.block-data-big { + padding: 10px; + font-size: small; + } + +.block-data-big-ul { + font-size: small; + padding-left: 0px; + margin-left: 25px; margin-top: 5px; color: #003399; list-style-type: square; - } + } .separator td { padding: 0px; background-color: #CCCCCC; } - + .block-data2, .block-data2 td { padding: 1px 10px 1px 10px; } - + .subcat, a.subcat { color: #A20303; font-weight: bold; text-decoration: none; } - + a.subcat:hover { text-decoration: underline; } -.price1 { +.price1 { color: #A20303; font-weight: bold; } - + .price2 { - display: block; + display: block; font-weight: bold; font-size: medium; padding: 2px; } - -.price-msrp { + +.price-msrp { text-decoration:line-through; } .header { margin-bottom: 5px; } -.header td { +.header td { font-size: small; } .toolbar-block { - border: 1px solid #777; + border: 1px solid #777; width: 770px; } /* .main-table { width: 770px; margin: 0px; } - + .main-column-left { width:200px; padding-top:10px; padding-right:10px; } - + .main-column-center { padding-top:10px; padding-right:10px; @@ -198,11 +198,11 @@ */ /* .link-product1 { - font-size: medium; + font-size: medium; font-weight: bold; } .link-product2 { - font-size: small; + font-size: small; font-weight: bold; } */ @@ -218,7 +218,7 @@ .nav-bar-current { color: #A20303; - font-weight: bold; + font-weight: bold; } */ /* @@ -253,7 +253,7 @@ margin: 10px; } -.form-data td { +.form-data td { padding: 2px; padding-right: 10px; border: none; @@ -285,11 +285,23 @@ font-size: 16px; } -.relevance-bar td { - border: 1px solid #FF0000; +.notice { + border: 1px solid #23BC06; + padding: 20px; + margin-top: 5px; + margin-bottom: 5px; +} +.notice-text { + color: #23BC06; + font-weight: bold; + font-size: 16px; +} + +.relevance-bar td { + border: 1px solid #FF0000; padding: 0px; margin: 0px; -} +} .pagination-bar td { padding: 5px; Index: trunk/kernel/units/languages/import_xml.php =================================================================== diff -u -N -r3605 -r3983 --- trunk/kernel/units/languages/import_xml.php (.../import_xml.php) (revision 3605) +++ trunk/kernel/units/languages/import_xml.php (.../import_xml.php) (revision 3983) @@ -219,11 +219,15 @@ $path = join (' ',$this->path); - $language_nodes = Array('DATEFORMAT','TIMEFORMAT','DECIMAL','THOUSANDS','CHARSET','UNITSYSTEM'); + $language_nodes = Array('DATEFORMAT','TIMEFORMAT','INPUTDATEFORMAT','INPUTTIMEFORMAT','DECIMAL','THOUSANDS','CHARSET','UNITSYSTEM'); $node_field_map = Array('LANGUAGES LANGUAGE DATEFORMAT' => 'DateFormat', 'LANGUAGES LANGUAGE TIMEFORMAT' => 'TimeFormat', + + 'LANGUAGES LANGUAGE INPUTDATEFORMAT'=> 'InputDateFormat', + 'LANGUAGES LANGUAGE INPUTTIMEFORMAT'=> 'InputTimeFormat', + 'LANGUAGES LANGUAGE DECIMAL' => 'DecimalPoint', 'LANGUAGES LANGUAGE THOUSANDS' => 'ThousandSep', 'LANGUAGES LANGUAGE CHARSET' => 'Charset', @@ -326,7 +330,8 @@ // languages $row = $this->Conn->GetRow( sprintf($sql, $lang_table, $language_id) ); $ret .= "\t".''.$row['DateFormat'].''; - $ret .= ''.$row['TimeFormat'].''.$row['DecimalPoint'].''; + $ret .= ''.$row['TimeFormat'].''.$row['InputDateFormat'].''; + $ret .= ''.$row['InputTimeFormat'].''.$row['DecimalPoint'].''; $ret .= ''.$row['ThousandSep'].''.$row['Charset'].''; $ret .= ''.$row['UnitSystem'].''."\n"; Index: trunk/admin/install/langpacks/english.lang =================================================================== diff -u -N -r3757 -r3983 --- trunk/admin/install/langpacks/english.lang (.../english.lang) (revision 3757) +++ trunk/admin/install/langpacks/english.lang (.../english.lang) (revision 3983) @@ -1,5 +1,5 @@ - m/d/Yg:i:s A.,iso-8859-12 + m/d/Yg:i:s Am/d/Yg:i:s A.,iso-8859-12 WW91ciBwYXNzd29yZCBoYXMgYmVlbiByZXNldC4gWW91IHdpbGwgcmVjZWl2ZSB5b3VyIG5ldyBwYXNzd29yZCBpbiB0aGUgZW1haWwgc2hvcnRseS4= QWN0aXZl @@ -195,6 +195,12 @@ cmVxdWlyZWQgY29sdW1ucyBtaXNzaW5n Q2F0ZWdvcnkgZmllbGQgbm90IHVuaXF1ZQ== VW5rbm93biBjYXRlZ29yeQ== + SW5jb3JyZWN0IGRhdGUgZm9ybWF0LCBwbGVhc2UgdXNlICglcykgZXguICglcyk= + SW5jb3JyZWN0IGRhdGEgZm9ybWF0LCBwbGVhc2UgdXNlICVz + RmllbGQgaXMgb3V0IG9mIHJhbmdl + RmllbGQgaXMgcmVxdWlyZWQ= + RmllbGQgdmFsdWUgbXVzdCBiZSB1bmlxdWU= + RmllbGQgaXMgb3V0IG9mIHJhbmdlLCBwb3NzaWJsZSB2YWx1ZXMgZnJvbSAlcyB0byAlcw== QWRkIEFydGljbGU= QXBwcm92ZSBBcnRpY2xl RGVjbGluZSBBcnRpY2xl @@ -290,6 +296,8 @@ SW1wb3J0IENhdGVnb3J5 SW1wb3J0IEZpbGVuYW1l SW5jbHVkZSBmaWVsZCB0aXRsZXM= + SW5wdXQgRGF0ZSBGb3JtYXQ= + SW5wdXQgVGltZSBGb3JtYXQ= SW5zdGFsbCBNb2R1bGVz SW5zdGFsbCBQaHJhc2UgVHlwZXM= VXNlIGN1cnJlbnQgY2F0ZWdvcnkgYXMgcm9vdCBmb3IgdGhlIGV4cG9ydA== @@ -1375,6 +1383,7 @@ VW5jaGFuZ2Vk VXBkYXRpbmcgQ29uZmlndXJhdGlvbg== VXBkYXRpbmcgUnVsZXM= + VXNlIENyb24gZm9yIFJ1bm5pbmcgUmVndWxhciBFdmVudHM= QWxsb3cgbmV3IHVzZXIgcmVnaXN0cmF0aW9u QXNzaWduIEFsbCBVc2VycyBUbyBHcm91cA== VmFsaWRhdGUgZS1tYWlsIGFkZHJlc3M= @@ -1494,6 +1503,7 @@ RW1haWxBZGRyZXNz Tm8gUGVybWlzc2lvbnM= UHJvZHVjdCBEZXNjcmlwdGlvbg== + Q29tcGFueQ== Y29uZmlybQ== Q29uZmlybWF0aW9uIFRpdGxl WW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhlIGxpbmsgYmVsb3cu Index: trunk/kernel/admin_templates/regional/languages_edit.tpl =================================================================== diff -u -N -r3664 -r3983 --- trunk/kernel/admin_templates/regional/languages_edit.tpl (.../languages_edit.tpl) (revision 3664) +++ trunk/kernel/admin_templates/regional/languages_edit.tpl (.../languages_edit.tpl) (revision 3983) @@ -67,6 +67,10 @@ + + + + Index: trunk/core/units/languages/languages_config.php =================================================================== diff -u -N -r1837 -r3983 --- trunk/core/units/languages/languages_config.php (.../languages_config.php) (revision 1837) +++ trunk/core/units/languages/languages_config.php (.../languages_config.php) (revision 3983) @@ -119,6 +119,8 @@ 'IconURL' => Array('type' => 'string','default' => ''), 'DateFormat' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1), 'TimeFormat' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1), + 'InputDateFormat' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('m/d/Y' => 'm/d/Y'), 'not_null' => '1','default' => 'm/d/Y', 'required' => 1), + 'InputTimeFormat' => Array('type' => 'string', 'formatter' => 'kOptionsFormatter', 'options' => Array('g:i:s A' => 'g:i:s A'), 'not_null' => '1','default' => 'g:i:s A', 'required' => 1), 'DecimalPoint' => Array('type' => 'string','not_null' => '1','default' => ''), 'ThousandSep' => Array('type' => 'string','not_null' => '1','default' => ''), 'Charset' => Array('type' => 'string','not_null' => '1','default' => '','required'=>1), Index: trunk/themes/default/my_info/myinfo_form.tpl =================================================================== diff -u -N -r1020 -r3983 --- trunk/themes/default/my_info/myinfo_form.tpl (.../myinfo_form.tpl) (revision 1020) +++ trunk/themes/default/my_info/myinfo_form.tpl (.../myinfo_form.tpl) (revision 3983) @@ -49,11 +49,19 @@
+ + +
+
+ +
+ + *
@@ -62,6 +70,10 @@
+ +
+ +
@@ -85,12 +97,12 @@ : - + + + + + Index: trunk/tools/cron.php =================================================================== diff -u -N --- trunk/tools/cron.php (revision 0) +++ trunk/tools/cron.php (revision 3983) @@ -0,0 +1,16 @@ +Init(); + +$event_manager =& $application->recallObject('EventManager'); +$event_manager->RunRegularEvents(reBEFORE, true); +$event_manager->RunRegularEvents(reAFTER, true); + +?> \ No newline at end of file Index: trunk/globals.php =================================================================== diff -u -N -r3866 -r3983 --- trunk/globals.php (.../globals.php) (revision 3866) +++ trunk/globals.php (.../globals.php) (revision 3983) @@ -1161,41 +1161,36 @@ unset($objTagList); } -function GetDateFormat($LangId=0) -{ - global $objLanguages; + function GetDateFormat($LangId = 0, $is_input = false) + { + global $objLanguages; + + if (!$LangId) { + $LangId = $objLanguages->GetPrimary(); + } + + $l = $objLanguages->GetItem($LangId); + $fmt = is_object($l) ? $l->Get(($is_input ? 'Input' : '').'DateFormat') : 'm-d-Y'; + + if (getArrayValue($GLOBALS, 'FrontEnd')) { + return $fmt; + } + return preg_replace('/y+/i','Y', $fmt); + } - if(!$LangId) - $LangId= $objLanguages->GetPrimary(); - $l = $objLanguages->GetItem($LangId); - if(is_object($l)) - { - $fmt = $l->Get("DateFormat"); - } - else - $fmt = "m-d-Y"; + function GetTimeFormat($LangId = 0, $is_input = false) + { + global $objLanguages; - if(isset($GLOBALS['FrontEnd'])&&$GLOBALS['FrontEnd']) + if (!$LangId) { + $LangId = $objLanguages->GetPrimary(); + } + $l = $objLanguages->GetItem($LangId); + + $fmt = is_object($l) ? $l->Get(($is_input ? 'Input' : '').'TimeFormat') : 'H:i:s'; return $fmt; - return preg_replace('/y+/i','Y',$fmt); -} + } -function GetTimeFormat($LangId=0) -{ - global $objLanguages; - - if(!$LangId) - $LangId= $objLanguages->GetPrimary(); - $l = $objLanguages->GetItem($LangId); - if(is_object($l)) - { - $fmt = $l->Get("TimeFormat"); - } - else - $fmt = "H:i:s"; - return $fmt; -} - /** * Gets one of currently selected language options * @@ -1214,18 +1209,32 @@ return is_object($l)?$l->Get($optionName):false; } -function LangDate($TimeStamp=NULL,$LangId=0) +/** + * Returns formatted timestamp + * + * @param int $TimeStamp + * @param int $LangId + * @param bool $is_input use input date format instead of display date format + * @return string + */ +function LangDate($TimeStamp = null, $LangId = 0, $is_input = false) { - $fmt = GetDateFormat($LangId); - $ret = adodb_date($fmt,$TimeStamp); - return $ret; + $fmt = GetDateFormat($LangId, $is_input); + return adodb_date($fmt, $TimeStamp); } -function LangTime($TimeStamp=NULL,$LangId=0) +/** + * Returns formatted timestamp + * + * @param int $TimeStamp + * @param int $LangId + * @param bool $is_input use input time format instead of display time format + * @return string + */ +function LangTime($TimeStamp = null, $LangId = 0, $is_input = false) { - $fmt = GetTimeFormat($LangId); - $ret = adodb_date($fmt,$TimeStamp); - return $ret; + $fmt = GetTimeFormat($LangId, $is_input); + return adodb_date($fmt, $TimeStamp); } function LangNumber($Num,$DecPlaces=NULL,$LangId=0) Index: trunk/kernel/parser.php =================================================================== diff -u -N -r3884 -r3983 --- trunk/kernel/parser.php (.../parser.php) (revision 3884) +++ trunk/kernel/parser.php (.../parser.php) (revision 3983) @@ -785,15 +785,20 @@ $FormValues[$FormName]["firstname"] = $u->Get("FirstName"); $FormValues[$FormName]["lastname"] = $u->Get("LastName"); + $FormValues[$FormName]["company"] = $u->Get("Company"); $FormValues[$FormName]["email"] = $u->Get("Email"); $FormValues[$FormName]["phone"] = $u->Get("Phone"); + $FormValues[$FormName]["fax"] = $u->Get("Fax"); $FormValues[$FormName]["street"] = $u->Get("Street"); + $FormValues[$FormName]["street2"] = $u->Get("Street2"); $FormValues[$FormName]["city"] = $u->Get("City"); $FormValues[$FormName]["state"] = $u->Get("State"); $FormValues[$FormName]["zip"] = $u->Get("Zip"); $FormValues[$FormName]["country"] = $u->Get("Country"); + $FormValues[$FormName]["minpwresetdelay"] = $u->Get("MinPwResetDelay"); -// $FormValues[$FormName]["dob"] = LangDate($u->Get("dob")); + +// $FormValues[$FormName]["dob"] = LangDate($u->Get("dob"), 0, true); $FormValues[$FormName]["dob_day"] = adodb_date("d", $u->Get("dob")); $FormValues[$FormName]["dob_year"] = adodb_date("Y", $u->Get("dob")); $FormValues[$FormName]["dob_month"] = adodb_date("m", $u->Get("dob")); @@ -1396,7 +1401,7 @@ { $l = $objLanguages->GetItemByField("PackName",$lang); } - $fmt = GetDateFormat($LangId); + $fmt = GetDateFormat($LangId, true); $fmt = GetStdFormat($fmt); return $fmt; Index: trunk/admin/install/inportal_schema.sql =================================================================== diff -u -N -r3895 -r3983 --- trunk/admin/install/inportal_schema.sql (.../inportal_schema.sql) (revision 3895) +++ trunk/admin/install/inportal_schema.sql (.../inportal_schema.sql) (revision 3983) @@ -271,6 +271,8 @@ IconURL varchar(255) default NULL, DateFormat varchar(50) NOT NULL default '', TimeFormat varchar(50) NOT NULL default '', + InputDateFormat varchar(50) NOT NULL default '', + InputTimeFormat varchar(50) NOT NULL default '', DecimalPoint char(2) NOT NULL default '.', ThousandSep char(1) NOT NULL default ',', Charset varchar(20) NOT NULL default '', @@ -387,7 +389,7 @@ # -------------------------------------------------------- -CREATE TABLE inp_PortalUser ( +CREATE TABLE PortalUser ( PortalUserId int(11) NOT NULL auto_increment, Login varchar(255) default NULL, `Password` varchar(255) default NULL, @@ -582,7 +584,7 @@ email varchar(255) NOT NULL default '', sent double, PRIMARY KEY (email) -) +) # -------------------------------------------------------- Index: trunk/core/kernel/db/db_event_handler.php =================================================================== diff -u -N -r3613 -r3983 --- trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 3613) +++ trunk/core/kernel/db/db_event_handler.php (.../db_event_handler.php) (revision 3983) @@ -1254,11 +1254,11 @@ $lang_current =& $this->Application->recallObject('lang.current'); $object =& $event->getObject(); - $dt_separator = getArrayValue( $object->GetFieldOptions($field_name), 'date_time_separator' ); + $dt_separator = getArrayValue( $object->GetFieldOptions($search_field), 'date_time_separator' ); if(!$dt_separator) $dt_separator = ' '; $time = ($type == 'datefrom') ? adodb_mktime(0,0,0) : adodb_mktime(23,59,59); - $time = adodb_date( $lang_current->GetDBField('TimeFormat'), $time); + $time = adodb_date( $lang_current->GetDBField('InputTimeFormat'), $time); $full_value = $value.$dt_separator.$time; $formatter =& $this->Application->recallObject($formatter_class); Index: trunk/admin/install/upgrades/inportal_upgrade_v1.1.7.sql =================================================================== diff -u -N -r3905 -r3983 --- trunk/admin/install/upgrades/inportal_upgrade_v1.1.7.sql (.../inportal_upgrade_v1.1.7.sql) (revision 3905) +++ trunk/admin/install/upgrades/inportal_upgrade_v1.1.7.sql (.../inportal_upgrade_v1.1.7.sql) (revision 3983) @@ -9,4 +9,8 @@ INSERT INTO ConfigurationAdmin VALUES ('UseCronForRegularEvent', 'la_Text_Website', 'la_UseCronForRegularEvent', 'checkbox', NULL, NULL, 18, 0); INSERT INTO ConfigurationValues VALUES ('UseCronForRegularEvent', '0', 'In-Portal', 'in-portal:configure_general'); +ALTER TABLE Language ADD InputDateFormat VARCHAR(50) NOT NULL AFTER TimeFormat, ADD InputTimeFormat VARCHAR(50) NOT NULL AFTER InputDateFormat; + +UPDATE Language SET InputDateFormat = 'm/d/Y', InputTimeFormat = 'g:i:s A'; + UPDATE Modules SET Version = '1.1.7' WHERE Name = 'In-Portal'; \ No newline at end of file Index: trunk/admin/include/mainscript.php =================================================================== diff -u -N -r3907 -r3983 --- trunk/admin/include/mainscript.php (.../mainscript.php) (revision 3907) +++ trunk/admin/include/mainscript.php (.../mainscript.php) (revision 3983) @@ -45,30 +45,27 @@ $phrase_edit = $adminURL."/config/edit_label.php?env=".$env2; $submit_done = isset($_REQUEST['submit_done']) ? 1 : 0; // returns form submit status -$Cal = GetDateFormat(); -if(strpos($Cal,"y")) -{ - $Cal = str_replace("y","yy",$Cal); +$Cal = GetDateFormat(0, true); +if (strpos($Cal, 'y')) { + $Cal = str_replace('y','yy',$Cal); } -else - $Cal = str_replace("Y","y",$Cal); +else { + $Cal = str_replace('Y','y',$Cal); +} $Cal = str_replace("m","mm",$Cal); $Cal = str_replace("n","m",$Cal); $Cal = str_replace("d","dd",$Cal); -$format = GetStdFormat(GetDateFormat()); +$format = GetStdFormat(GetDateFormat(0, true)); $yearpos = (int)DateFieldOrder($format,"year"); $monthpos = (int)DateFieldOrder($format,"month"); $daypos = (int)DateFieldOrder($format,"day"); $ampm = is12HourMode() ? 'true' : 'false'; -$processable_formats = Array('m/d/y', 'm/d/Y'); - -$skip_date_validation = in_array(GetDateFormat(), $processable_formats) ? 'false' : 'true'; $SiteName = addslashes( strip_tags( $GLOBALS['objConfig']->Get('Site_Name') ) ); require_once($pathtoroot.$admin."/lv/js/js_lang.php"); @@ -109,7 +106,6 @@ var lang_MoveUp = "$lang_MoveUp"; var lang_MoveDn = "$lang_MoveDn"; var ampm = $ampm; -var skip_date_validation = $skip_date_validation; var listview_clear=1; var CalDateFormat = "$Cal"; @@ -306,9 +302,6 @@ function ValidDate(date_str) { var valid = true; - if (skip_date_validation) { - return valid; - } if( trim(date_str) == '' ) return true; // is valid in case if not entered parts = date_str.split(/\s*\D\s*/); Index: trunk/kernel/admin_templates/incs/form_blocks.tpl =================================================================== diff -u -N -r3580 -r3983 --- trunk/kernel/admin_templates/incs/form_blocks.tpl (.../form_blocks.tpl) (revision 3580) +++ trunk/kernel/admin_templates/incs/form_blocks.tpl (.../form_blocks.tpl) (revision 3983) @@ -105,11 +105,11 @@ "> - " id="" value="" tabindex="" size="" class="" datepickerIcon="admin/images/ddarrow.gif"> () + " id="" value="" tabindex="" size="" class="" datepickerIcon="admin/images/ddarrow.gif"> () - " id="" value=""> + " id="" value="">   @@ -125,12 +125,12 @@ - " id="" value="" tabindex="" size="" class="" datepickerIcon="admin/images/ddarrow.gif"> - () + " id="" value="" tabindex="" size="" class="" datepickerIcon="admin/images/ddarrow.gif"> + () -  " id="" value="" tabindex="" size="" class=""> () +  " id="" value="" tabindex="" size="" class=""> ()   Index: trunk/kernel/frontaction.php =================================================================== diff -u -N -r3873 -r3983 --- trunk/kernel/frontaction.php (.../frontaction.php) (revision 3873) +++ trunk/kernel/frontaction.php (.../frontaction.php) (revision 3983) @@ -451,19 +451,36 @@ if($Status>0) { - if($objConfig->Get("User_Password_Auto")) - { + if ($objConfig->Get("User_Password_Auto")) { $password = makepassword(); $objSession->Set("password", $password); } - else + else { $password = $_POST["password"]; - - $_POST["dob"] = $_POST["dob_month"]."/".$_POST["dob_day"]."/".$_POST["dob_year"]; - $dob = DateTimestamp($_POST["dob"],GetDateFormat()); + } + + $dob = adodb_mktime(0, 0, 0, $_POST['dob_month'], $_POST['dob_day'], $_POST['dob_year']); $ip = $_SERVER['REMOTE_ADDR']; - $u = &$objUsers->Add_User($_POST["username"], md5($password), $_POST["email"], $CreatedOn, $_POST["firstname"], $_POST["lastname"], $Status, $_POST["phone"], $_POST["street"], $_POST["city"], $_POST["state"], $_POST["zip"], $_POST["country"], $dob, $ip, TRUE); + $fields_hash = Array('Login' => $_POST['username'], + 'Password' => md5($password), + 'FirstName' => $_POST['firstname'], + 'LastName' => $_POST['lastname'], + 'Company' => $_POST['company'], + 'Email' => $_POST['email'], + 'Status' => $Status, + 'Phone' => $_POST['phone'], + 'Fax' => $_POST['fax'], + 'Street' => $_POST['street'], + 'Street2' => $_POST['street2'], + 'City' => $_POST['city'], + 'State' => $_POST['state'], + 'Zip' => $_POST['zip'], + 'Country' => $_POST['country'], + 'CreatedOn' => $CreatedOn, + 'dob' => $dob, + 'ip' => $ip); + $u =& $objUsers->Add_User_NEW($fields_hash, true); if(!is_object($u)) { @@ -602,19 +619,30 @@ /* save profile */ $u =& $objUsers->GetItem($UserId); $status = $u->Get("Status"); - $_POST["dob"] = $_POST["dob_month"]."/".$_POST["dob_day"]."/".$_POST["dob_year"]; - $dob = DateTimestamp($_POST["dob"], GetDateFormat()); - if(strlen($_POST["password"])>0) - { - $password = md5($_POST["password"]); - } - else - $password = ""; - $objUsers->Edit_User($UserId, $_POST["username"], $password, $_POST["email"], 0, - $_POST["firstname"], $_POST["lastname"], $status, $_POST["phone"], - $_POST["street"], $_POST["city"], $_POST["state"], $_POST["zip"], - $_POST["country"], $dob, $_POST['MinPwResetDelay']); + $dob = adodb_mktime(0, 0, 0, $_POST['dob_month'], $_POST['dob_day'], $_POST['dob_year']); + $password = strlen($_POST["password"]) > 0 ? md5($_POST["password"]) : ''; + $fields_hash = Array( 'Login' => $_POST['username'], + 'FirstName' => $_POST['firstname'], + 'LastName' => $_POST['lastname'], + 'Company' => $_POST['company'], + 'Email' => $_POST['email'], + 'Status' => $status, + 'Phone' => $_POST['phone'], + 'Fax' => $_POST['fax'], + 'Street' => $_POST['street'], + 'Street2' => $_POST['street2'], + 'City' => $_POST['city'], + 'State' => $_POST['state'], + 'Zip' => $_POST['zip'], + 'Country' => $_POST['country'], + 'dob' => $dob, + 'MinPwResetDelay' => $_POST['minpwresetdelay'], + + ); + + $user =& $objUsers->Edit_User_NEW($UserId, $fields_hash); + $ResourceId= $u->Get("ResourceId"); $objCustomDataList->LoadResource($ResourceId); $objCustomFields = new clsCustomFieldList(6); Index: trunk/kernel/include/modules.php =================================================================== diff -u -N -r3884 -r3983 --- trunk/kernel/include/modules.php (.../modules.php) (revision 3884) +++ trunk/kernel/include/modules.php (.../modules.php) (revision 3983) @@ -997,9 +997,9 @@ } } -/*if (strstr($_SERVER['SCRIPT_NAME'], 'install') && $objSession->Get("PortalUserId") == -2) { +if (strstr($_SERVER['SCRIPT_NAME'], 'install') && $objSession->Get("PortalUserId") == 0) { $objSession->Delete(); -}*/ +} if( !isset($SearchPerformed) ) $SearchPerformed = false; if($SearchPerformed == true) $objSearch->BuildIndexes(); Index: trunk/core/kernel/utility/formatters.php =================================================================== diff -u -N -r3698 -r3983 --- trunk/core/kernel/utility/formatters.php (.../formatters.php) (revision 3698) +++ trunk/core/kernel/utility/formatters.php (.../formatters.php) (revision 3983) @@ -256,18 +256,24 @@ if ($date_format === false) $date_format = $language->GetDBField('DateFormat'); if ($time_format === false) $time_format = $language->GetDBField('TimeFormat'); + $input_format['date'] = $language->GetDBField('InputDateFormat'); + $input_format['time'] = $language->GetDBField('InputTimeFormat'); + if (!isset($field_options['date_time_separator'])) $field_options['date_time_separator'] = ' '; $field_options['format'] = $date_format.$field_options['date_time_separator'].$time_format; + $field_options['input_format'] = $input_format['date'].$field_options['date_time_separator'].$input_format['time']; + $field_options['sub_fields'] = Array('date' => $field_name.'_date', 'time' => $field_name.'_time'); $add_fields = Array(); - $opts = Array('master_field' => $field_name, 'formatter'=>'kDateFormatter', 'format'=>$date_format); + $opts = Array('master_field' => $field_name, 'formatter'=>'kDateFormatter', 'format' => $date_format, 'input_format' => $input_format['date']); if ( isset($field_options['default']) ) $opts['default'] = $field_options['default']; if ( isset($field_options['required']) ) $opts['required'] = $field_options['required']; $add_fields[$field_name.'_date'] = $opts; $opts['format'] = $time_format; + $opts['input_format'] = $input_format['time']; $add_fields[$field_name.'_time'] = $opts; $filter_type = getArrayValue($field_options, 'filter_type'); @@ -316,7 +322,11 @@ if($empty_time === false) $empty_time = adodb_mktime(0,0,0); $object->SetDBField($sub_fields['time'], $empty_time); } - $object->SetField($field, $object->GetField($sub_fields['date']).$options['date_time_separator'].$object->GetField($sub_fields['time'])); + + $input_format['date'] = $object->Fields[ $sub_fields['date'] ]['input_format']; + $input_format['time'] = $object->Fields[ $sub_fields['time'] ]['input_format']; + + $object->SetField($field, $object->GetField($sub_fields['date'], $input_format['date']).$options['date_time_separator'].$object->GetField($sub_fields['time'], $input_format['time'])); } // when in one of sub_fields - call update for master_field to update its value from sub_fields [are you following ? :) ] elseif ($master_field = getArrayValue($options, 'master_field') ) { @@ -423,7 +433,7 @@ if($value == '') return NULL; //return strtotime($value); - $format = $options['format']; + $format = $options['input_format']; if($dt_separator) $format = trim($format, $dt_separator); $object->FieldErrors[$field_name]['params'] = Array( $this->HumanFormat($format), adodb_date($format) ); @@ -555,7 +565,7 @@ function GetSample($field, &$options, &$object) { - return $this->Format( adodb_mktime(), $field, $object); + return $this->Format( adodb_mktime(), $field, $object, $options['input_format']); } } Index: trunk/core/admin_templates/logs/visits/visits_list.tpl =================================================================== diff -u -N -r3664 -r3983 --- trunk/core/admin_templates/logs/visits/visits_list.tpl (.../visits_list.tpl) (revision 3664) +++ trunk/core/admin_templates/logs/visits/visits_list.tpl (.../visits_list.tpl) (revision 3983) @@ -64,10 +64,10 @@ : - " id="" value="" size="" datepickerIcon="admin/images/ddarrow.gif"> - () + " id="" value="" size="" datepickerIcon="admin/images/ddarrow.gif"> + () @@ -76,10 +76,10 @@ : - " id="" value="" size="" datepickerIcon="admin/images/ddarrow.gif"> - () + " id="" value="" size="" datepickerIcon="admin/images/ddarrow.gif"> + () Index: trunk/admin/install/inportal_data.sql =================================================================== diff -u -N -r3869 -r3983 --- trunk/admin/install/inportal_data.sql (.../inportal_data.sql) (revision 3869) +++ trunk/admin/install/inportal_data.sql (.../inportal_data.sql) (revision 3983) @@ -53,6 +53,7 @@ INSERT INTO ConfigurationAdmin VALUES ('ErrorTemplate', 'la_Text_Website', 'la_config_error_template', 'text', '', '', 16, 0); INSERT INTO ConfigurationAdmin VALUES ('UseJSRedirect', 'la_Text_Website', 'la_config_use_js_redirect', 'checkbox', '', '', 17, 0); INSERT INTO ConfigurationAdmin VALUES ('MaxImportCategoryLevels', 'la_Text_General', 'la_prompt_max_import_category_levels', 'text', '', '', 9, 1); +INSERT INTO ConfigurationAdmin VALUES ('UseCronForRegularEvent', 'la_Text_Website', 'la_UseCronForRegularEvent', 'checkbox', NULL, NULL, 18, 0); INSERT INTO ConfigurationValues VALUES ('Columns_Category', '2', 'In-Portal', 'Categories') INSERT INTO ConfigurationValues VALUES ('DomainSelect','1','In-Portal','in-portal:configure_general') @@ -182,6 +183,7 @@ INSERT INTO ConfigurationValues VALUES ('ErrorTemplate', 'error_notfound', 'In-Portal', 'in-portal:configure_general'); INSERT INTO ConfigurationValues VALUES ('UseJSRedirect', '0', 'In-Portal', 'in-portal:configure_general'); INSERT INTO ConfigurationValues VALUES ('MaxImportCategoryLevels', '10', 'In-Portal', 'in-portal:configure_categories'); +INSERT INTO ConfigurationValues VALUES ('UseCronForRegularEvent', '0', 'In-Portal', 'in-portal:configure_general'); INSERT INTO Events VALUES (30, 'USER.ADD', 1, 0, 'In-Portal:Users', 'la_event_user.add', 0) INSERT INTO Events VALUES (32, 'USER.ADD', 2, 0, 'In-Portal:Users', 'la_event_user.add', 1) Index: trunk/core/kernel/db/db_tag_processor.php =================================================================== diff -u -N -r3687 -r3983 --- trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 3687) +++ trunk/core/kernel/db/db_tag_processor.php (.../db_tag_processor.php) (revision 3983) @@ -704,6 +704,8 @@ $options = $object->GetFieldOptions($field); + $format = $options[ $this->SelectParam($params, 'input_format') ? 'input_format' : 'format' ]; + $formatter_class = getArrayValue($options,'formatter'); if($formatter_class) { @@ -717,12 +719,12 @@ } elseif($human_format || $edit_size) { - $format = $formatter->HumanFormat($options['format']); + $format = $formatter->HumanFormat($format); return $edit_size ? strlen($format) : $format; } } - return $options['format']; + return $format; } /** @@ -1387,6 +1389,8 @@ $options = $object->GetFieldOptions($field); + $format = $options[ $this->SelectParam($params, 'input_format') ? 'input_format' : 'format' ]; + $formatter_class = getArrayValue($options,'formatter'); if($formatter_class) { @@ -1400,12 +1404,12 @@ } elseif($human_format || $edit_size) { - $format = $formatter->HumanFormat($options['format']); + $format = $formatter->HumanFormat($format); return $edit_size ? strlen($format) : $format; } } - return $options['format']; + return $format; } /** @@ -1418,13 +1422,17 @@ { $field = $this->SelectParam($params, 'field,name'); + + $error_var_name = $this->getPrefixSpecial().'_'.$field.'_'.$params['type'].'_error'; $error_msg = $this->Application->RecallVar($error_var_name); if($error_msg) { $this->Application->StoreVar($error_var_name, ''); } - return $error_msg; + + $object =& $this->Application->recallObject($this->Prefix.'.'.$this->Special.'-item', null, Array('skip_autoload' => true)); + return $object->ErrorMsgs[$error_msg]; } /** Index: trunk/kernel/admin_templates/visits/visits_list.tpl =================================================================== diff -u -N -r3664 -r3983 --- trunk/kernel/admin_templates/visits/visits_list.tpl (.../visits_list.tpl) (revision 3664) +++ trunk/kernel/admin_templates/visits/visits_list.tpl (.../visits_list.tpl) (revision 3983) @@ -64,10 +64,10 @@ : - " id="" value="" size="" datepickerIcon="admin/images/ddarrow.gif"> - () + " id="" value="" size="" datepickerIcon="admin/images/ddarrow.gif"> + () @@ -76,10 +76,10 @@ : - " id="" value="" size="" datepickerIcon="admin/images/ddarrow.gif"> - () + " id="" value="" size="" datepickerIcon="admin/images/ddarrow.gif"> + () Index: trunk/core/units/custom_fields/custom_fields_event_handler.php =================================================================== diff -u -N -r2079 -r3983 --- trunk/core/units/custom_fields/custom_fields_event_handler.php (.../custom_fields_event_handler.php) (revision 2079) +++ trunk/core/units/custom_fields/custom_fields_event_handler.php (.../custom_fields_event_handler.php) (revision 3983) @@ -25,22 +25,17 @@ function OnBeforeItemCreate(&$event) { $object =& $event->getObject(); - $items_info = $this->Application->GetVar( $event->getPrefixSpecial(true) ); - $new_field_name=$items_info[0]['FieldName']; - - $table = $this->Application->getUnitOption($event->Prefix,'TableName'); - $found = $this->Conn->GetOne("SELECT count(*) FROM ".$table." WHERE FieldName='".$new_field_name."'"); + $live_table = $this->Application->getUnitOption($event->Prefix, 'TableName'); + $sql = 'SELECT COUNT(*) + FROM '.$live_table.' + WHERE FieldName = '.$this->Conn->qstr($object->GetDBField('FieldName')).' AND Type = '.$object->GetDBField('Type'); + $found = $this->Conn->GetOne($sql); - if($found){ - $event->status=erFAIL; - $object->FieldErrors['FieldName']['pseudo'] = $this->Application->Phrase('la_error_CustomExists'); + if ($found) { + $event->status = erFAIL; + $object->SetError('FieldName', 'duplicate', 'la_error_CustomExists'); } - else { - $item_type=$this->Application->GetVar('cf_type'); - - $object->SetDBField('Type', $this->Application->GetVar('cf_type')); - } } /** @@ -65,5 +60,20 @@ parent::OnMassDelete($event); $event->redirect_params = Array('opener' => 's'); } + + /** + * Prepare temp tables for creating new item + * but does not create it. Actual create is + * done in OnPreSaveCreated + * + * @param kEvent $event + */ + function OnPreCreate(&$event) + { + parent::OnPreCreate($event); + + $object =& $event->getObject(); + $object->SetDBField('Type', $this->Application->GetVar('cf_type')); + } } ?> \ No newline at end of file Index: trunk/core/units/languages/import_xml.php =================================================================== diff -u -N -r3605 -r3983 --- trunk/core/units/languages/import_xml.php (.../import_xml.php) (revision 3605) +++ trunk/core/units/languages/import_xml.php (.../import_xml.php) (revision 3983) @@ -219,11 +219,15 @@ $path = join (' ',$this->path); - $language_nodes = Array('DATEFORMAT','TIMEFORMAT','DECIMAL','THOUSANDS','CHARSET','UNITSYSTEM'); + $language_nodes = Array('DATEFORMAT','TIMEFORMAT','INPUTDATEFORMAT','INPUTTIMEFORMAT','DECIMAL','THOUSANDS','CHARSET','UNITSYSTEM'); $node_field_map = Array('LANGUAGES LANGUAGE DATEFORMAT' => 'DateFormat', 'LANGUAGES LANGUAGE TIMEFORMAT' => 'TimeFormat', + + 'LANGUAGES LANGUAGE INPUTDATEFORMAT'=> 'InputDateFormat', + 'LANGUAGES LANGUAGE INPUTTIMEFORMAT'=> 'InputTimeFormat', + 'LANGUAGES LANGUAGE DECIMAL' => 'DecimalPoint', 'LANGUAGES LANGUAGE THOUSANDS' => 'ThousandSep', 'LANGUAGES LANGUAGE CHARSET' => 'Charset', @@ -326,7 +330,8 @@ // languages $row = $this->Conn->GetRow( sprintf($sql, $lang_table, $language_id) ); $ret .= "\t".''.$row['DateFormat'].''; - $ret .= ''.$row['TimeFormat'].''.$row['DecimalPoint'].''; + $ret .= ''.$row['TimeFormat'].''.$row['InputDateFormat'].''; + $ret .= ''.$row['InputTimeFormat'].''.$row['DecimalPoint'].''; $ret .= ''.$row['ThousandSep'].''.$row['Charset'].''; $ret .= ''.$row['UnitSystem'].''."\n"; Index: trunk/kernel/include/itemreview.php =================================================================== diff -u -N -r3495 -r3983 --- trunk/kernel/include/itemreview.php (.../itemreview.php) (revision 3495) +++ trunk/kernel/include/itemreview.php (.../itemreview.php) (revision 3983) @@ -331,12 +331,14 @@ return $res; break; case "review_created_date": - return LangDate($this->Get("CreatedOn")); - break; + return LangDate($this->Get('CreatedOn'), 0, true); + break; + case "review_created_time": - if($this->Get("CreatedOn")<=0) - return ""; - return adodb_date($objConfig->TimeFormat(), $this->Get("CreatedOn")); + if ($this->Get('CreatedOn') <= 0) { + return ''; + } + return LangTime($this->Get('CreatedOn'), 0, true); break; case "review_created_date_month": Index: trunk/kernel/include/portalgroup.php =================================================================== diff -u -N -r2082 -r3983 --- trunk/kernel/include/portalgroup.php (.../portalgroup.php) (revision 2082) +++ trunk/kernel/include/portalgroup.php (.../portalgroup.php) (revision 3983) @@ -224,11 +224,11 @@ break; case 'membership_expires_date': - return $this->Get('MembershipExpires') <= 0 ? '' : LangDate( $this->Get('MembershipExpires') ); + return $this->Get('MembershipExpires') <= 0 ? '' : LangDate( $this->Get('MembershipExpires'), 0, true ); break; case 'membership_expires_time': - return $this->Get('MembershipExpires') <= 0 ? '' : LangTime( $this->Get('MembershipExpires') ); + return $this->Get('MembershipExpires') <= 0 ? '' : LangTime( $this->Get('MembershipExpires'), 0, true ); break; case "group_id": @@ -458,9 +458,9 @@ $edit_table = $objSession->GetEditTable($this->SourceTable); $sql = "SELECT * FROM $edit_table"; + $item_ids = Array(); $rs = $this->adodbConnection->Execute($sql); - while($rs && !$rs->EOF) - { + while ($rs && !$rs->EOF) { $data = $rs->fields; $c = new $this->classname; $c->SetFromArray($data); @@ -478,14 +478,15 @@ $sql = "UPDATE ".GetTablePrefix()."Permissions SET GroupId=".$c->Get("GroupId")." WHERE GroupId=$old_id"; $this->adodbConnection->Execute($sql); } - $c->Update(); + $item_ids[] = $c->UniqueId(); unset($c); unset($r); $rs->MoveNext(); } @$this->adodbConnection->Execute("DROP TABLE IF EXISTS $edit_table"); unset($GLOBALS['_CopyFromEditTable']); + return $item_ids; } function PurgeEditTable($idfield) Index: trunk/themes/default/my_account.tpl =================================================================== diff -u -N -r2946 -r3983 --- trunk/themes/default/my_account.tpl (.../my_account.tpl) (revision 2946) +++ trunk/themes/default/my_account.tpl (.../my_account.tpl) (revision 3983) @@ -230,6 +230,12 @@
+ + + +
+ +

Index: trunk/kernel/action.php =================================================================== diff -u -N -r3895 -r3983 --- trunk/kernel/action.php (.../action.php) (revision 3895) +++ trunk/kernel/action.php (.../action.php) (revision 3983) @@ -78,10 +78,10 @@ $dupe_user = ''; //$user_pending = (int)$_POST["user_pending"]; //$user_enabled = (int)$_POST["user_enabled"]; - $CreatedOn = DateTimestamp($_POST["user_date"],GetDateFormat()); + $CreatedOn = DateTimestamp($_POST["user_date"],GetDateFormat(0, true)); $CreatedOn += SecondsSinceMidnight($_POST["user_time"]); - $dob = DateTimestamp($_POST["user_dob"],GetDateFormat()); + $dob = DateTimestamp($_POST["user_dob"],GetDateFormat(0, true)); $objEditItems = new clsUserManager(); $objEditItems->SourceTable = $objSession->GetEditTable("PortalUser"); @@ -153,9 +153,9 @@ break; case "m_edit_user": - //$CreatedOn = DateTimestamp($_POST["user_date"],GetDateFormat()); + //$CreatedOn = DateTimestamp($_POST["user_date"],GetDateFormat(0, true)); //$CreatedOn += SecondsSinceMidnight($_POST["user_time"]); - $dob = DateTimestamp($_POST["user_dob"],GetDateFormat()); + $dob = DateTimestamp($_POST["user_dob"],GetDateFormat(0, true)); $objEditItems = new clsUserManager(); $objEditItems->SourceTable = $objSession->GetEditTable("PortalUser"); //$user_pending = (int)$_POST["user_pending"]; @@ -236,7 +236,7 @@ case 'm_group_edit': // when editing user membership in group - $membership_expires = DateTimestamp( $_POST['membership_expires_date'], GetDateFormat() ); + $membership_expires = DateTimestamp( $_POST['membership_expires_date'], GetDateFormat(0, true) ); $membership_expires += SecondsSinceMidnight( $_POST['membership_expires_time'] ); $objEditItems = new clsUserGroupList(); @@ -780,12 +780,12 @@ case "m_add_category": - if(ValidDate($_POST["cat_date"],GetDateFormat())) - { - $CreatedOn = DateTimestamp($_POST["cat_date"],GetDateFormat()); + if (ValidDate($_POST['cat_date'], GetDateFormat(0, true))) { + $CreatedOn = DateTimestamp($_POST['cat_date'],GetDateFormat(0, true)); } - else - $CreatedOn = adodb_mktime(); + else { + $CreatedOn = adodb_mktime(); + } $html = (int)$_POST["html_enable"]; $cat_pick = GetVar('cat_pick'); @@ -823,7 +823,7 @@ break; case "m_edit_category": - $CreatedOn = DateTimestamp($_POST["cat_date"],GetDateFormat()); + $CreatedOn = DateTimestamp($_POST["cat_date"],GetDateFormat(0, true)); $cat_pick = GetVar('cat_pick'); $Status = (int)$_POST["status"]; $Hot = false; //(int)$_POST["itemhot"]; @@ -1062,7 +1062,7 @@ $Pending = (int)$_POST["review_pending"]; $Enabled = (int)$_POST["review_enabled"]; $Status = (int)$_POST["status"]; - $CreatedOn = DateTimestamp($_POST["review_date"],GetDateFormat()); + $CreatedOn = DateTimestamp($_POST["review_date"],GetDateFormat(0, true)); $CreatedOn += SecondsSinceMidnight($_POST["review_time"]); $html = (int)$_POST["html_enable"]; $ReviewText = inp_escape($_POST["review_body"],1); @@ -1112,7 +1112,7 @@ $objReviews = new clsItemReviewList(); $objReviews->SourceTable = $objSession->GetEditTable("ItemReview"); $Status = (int)$_POST["status"]; - $CreatedOn = DateTimestamp($_POST["review_date"],GetDateFormat()); + $CreatedOn = DateTimestamp($_POST["review_date"],GetDateFormat(0, true)); $CreatedOn += SecondsSinceMidnight($_POST["review_time"]); $html = (int)$_POST["html_enable"]; $ReviewText = inp_escape($_POST["review_body"],1); @@ -2507,8 +2507,7 @@ $objUserGroupsList->CopyFromEditTable("PortalUserId"); $user_ids = $objUsers->CopyFromEditTable("PortalUserId"); - if($user_ids) - { + if ($user_ids) { $db =& GetADODBConnection(); $sql = 'SELECT ResourceId FROM '.$objUsers->SourceTable.' WHERE PortalUserId IN ('.implode(',', $user_ids).')'; $rids = $db->GetCol($sql); @@ -2533,8 +2532,15 @@ { $objUserGroupsList = new clsUserGroupList(); $objUserGroupsList->CopyFromEditTable("GroupId"); - $objGroups->CopyFromEditTable("GroupId"); - $objCustomDataList->CopyFromEditTable("CustomDataId"); + + $group_ids = $objGroups->CopyFromEditTable("GroupId"); + if ($group_ids) { + $db =& GetADODBConnection(); + $sql = 'SELECT ResourceId FROM '.$objGroups->SourceTable.' WHERE GroupId IN ('.implode(',', $group_ids).')'; + $rids = $db->GetCol($sql); + $objCustomDataList->CopyFromEditTable("CustomDataId", $rids); + } + $objGroups->Clear(); } if( GetVar('GroupEditStatus') == 2 ) Index: trunk/admin/include/tabs.js =================================================================== diff -u -N -r1566 -r3983 --- trunk/admin/include/tabs.js (.../tabs.js) (revision 1566) +++ trunk/admin/include/tabs.js (.../tabs.js) (revision 3983) @@ -7,7 +7,7 @@ var form_result = true; var field_result = true; var j = 0; - + for (var i = 0; i < f.elements.length; i++) { ValType = ''; Index: trunk/admin/head.php =================================================================== diff -u -N -r3907 -r3983 --- trunk/admin/head.php (.../head.php) (revision 3907) +++ trunk/admin/head.php (.../head.php) (revision 3983) @@ -1,7 +1,7 @@ recallObject('u'); $loginname = ($user->GetID() != -1) ? $user->GetDBField('Login') : 'root'; - + $logout = $application->HREF('', '', Array('logout' => 1, '__URLENCODE__' => 1), 'index.php'); $mainpage = $application->HREF('', '', Array('section' => 'in-portal:root', '__URLENCODE__' => 1), 'subitems.php'); $xmlhttp_url = $application->HREF('', '', Array('check_server' => 1, '__URLENCODE__' => 1)); - + $language =& $application->recallObject('lang.current'); - + $use_xml = $application->isDebugMode() && dbg_ConstOn('DBG_SHOW_EXPIRATION'); ?> @@ -40,7 +40,7 @@ if ($use_xml) { ?> ' : ' '; - ?> + ?> - + Phrase('la_Logged_in_as').' '.$loginname.' '; ?> - + - + @@ -122,11 +125,12 @@ ?>