Index: trunk/admin/listview/listview.php =================================================================== diff -u -N -r13 -r104 --- trunk/admin/listview/listview.php (.../listview.php) (revision 13) +++ trunk/admin/listview/listview.php (.../listview.php) (revision 104) @@ -359,7 +359,8 @@ function PrintPageLinks() { - global $imagesURL,$objSession,$lvErrorString; + global $imagesURL, $objSession, $lvErrorString; + if(strlen($this->PageLinks)>0) { return $this->PageLinks; @@ -377,6 +378,7 @@ } $cols = $this->ColumnHeaders->Count(); $o = "\n"; + if(strlen($lvErrorString)) { $o .= ""; Index: trunk/admin/users/adduser_custom.php =================================================================== diff -u -N -r13 -r104 --- trunk/admin/users/adduser_custom.php (.../adduser_custom.php) (revision 13) +++ trunk/admin/users/adduser_custom.php (.../adduser_custom.php) (revision 104) @@ -230,9 +230,5 @@ - - + Index: trunk/admin/users/adduser.php =================================================================== diff -u -N -r100 -r104 --- trunk/admin/users/adduser.php (.../adduser.php) (revision 100) +++ trunk/admin/users/adduser.php (.../adduser.php) (revision 104) @@ -190,7 +190,8 @@ > Index: trunk/admin/include/tabs.js =================================================================== diff -u -N -r36 -r104 --- trunk/admin/include/tabs.js (.../tabs.js) (revision 36) +++ trunk/admin/include/tabs.js (.../tabs.js) (revision 104) @@ -141,7 +141,7 @@ if(full_env.substr(0,3)!="env") full_env = 'env='+full_env; - + f = document.getElementById(formname); Index: trunk/kernel/action.php =================================================================== diff -u -N -r93 -r104 --- trunk/kernel/action.php (.../action.php) (revision 93) +++ trunk/kernel/action.php (.../action.php) (revision 104) @@ -7,63 +7,63 @@ print_pre($_REQUEST); } - switch($Action) - { - case "m_add_user": - $user_pending = (int)$_POST["user_pending"]; - $user_enabled = (int)$_POST["user_enabled"]; - $CreatedOn = DateTimestamp($_POST["user_date"],GetDateFormat()); - $dob = DateTimestamp($_POST["user_dob"],GetDateFormat()); + switch($Action) + { + case "m_add_user": + $dupe_user = ''; + $user_pending = (int)$_POST["user_pending"]; + $user_enabled = (int)$_POST["user_enabled"]; + $CreatedOn = DateTimestamp($_POST["user_date"],GetDateFormat()); + $dob = DateTimestamp($_POST["user_dob"],GetDateFormat()); + + $objEditItems = new clsUserManager(); + $objEditItems->SourceTable = $objSession->GetEditTable("PortalUser"); - $objEditItems = new clsUserManager(); - $objEditItems->SourceTable = $objSession->GetEditTable("PortalUser"); - - if(strlen($_POST["user_login"])) - { - $id = $objUsers->GetUserId($_POST["user_login"]); - } - else - $dob = 0; - $dob = 0; - if($id) - { - $lvErrorString = "la_error_duplicate_username"; - } - else - { - $password = md5($_POST["password"]); - $u = $objEditItems->Add_User($_POST["user_login"], $password, - $_POST["user_email"], $CreatedOn, $_POST["user_firstname"], - $_POST["user_lastname"], $_POST["status"], - $_POST["user_phone"], - $_POST["user_street"], $_POST["user_city"], - $_POST["user_state"], $_POST["user_zip"], $_POST["user_country"], $dob); - $objCustomEdit = new clsCustomDataList(); //$objSession->GetEditTable("CustomMetaData")); - $objCustomEdit->SetTable('edit'); - $objCustomEdit->LoadResource($u->Get("ResourceId")); - $CustomFields = new clsCustomFieldList(6); - $DataChanged = FALSE; - foreach($_POST as $key=>$value) - { - if(substr($key,0,1)=="_") + if(strlen($_POST["user_login"])) + $id = $objUsers->GetUserId($_POST["user_login"]); + else + $dob = 0; + + if($id) + { + $lvErrorString = "la_error_duplicate_username"; + $dupe_user = $_POST["user_login"]; + $_POST["user_login"] = ''; + } + + $password = md5($_POST["password"]); + $u = $objEditItems->Add_User($_POST["user_login"], $password, + $_POST["user_email"], $CreatedOn, $_POST["user_firstname"], + $_POST["user_lastname"], $_POST["status"], + $_POST["user_phone"], + $_POST["user_street"], $_POST["user_city"], + $_POST["user_state"], $_POST["user_zip"], $_POST["user_country"], $dob); + + $objCustomEdit = new clsCustomDataList(); //$objSession->GetEditTable("CustomMetaData")); + $objCustomEdit->SetTable('edit'); + $objCustomEdit->LoadResource($u->Get("ResourceId")); + $CustomFields = new clsCustomFieldList(6); + $DataChanged = FALSE; + foreach($_POST as $key=>$value) { - $field = substr($key,1); - $cvalue = $CustomFields->GetItemByField("FieldName",$field,FALSE); - - if(is_object($cvalue)) + if(substr($key,0,1)=="_") { - $objCustomEdit->SetFieldValue($cvalue->Get("CustomFieldId"),$u->Get("ResourceId"),$value); - $DataChanged = TRUE; + $field = substr($key,1); + $cvalue = $CustomFields->GetItemByField("FieldName",$field,FALSE); + + if(is_object($cvalue)) + { + $objCustomEdit->SetFieldValue($cvalue->Get("CustomFieldId"),$u->Get("ResourceId"),$value); + $DataChanged = TRUE; + } } - } - } - if($DataChanged) - $objCustomEdit->SaveData(); - $objCustomEdit->SetTable('live'); - } - break; + } + if($DataChanged) $objCustomEdit->SaveData(); + $objCustomEdit->SetTable('live'); + + + break; case "m_edit_user": - //phpinfo(INFO_VARIABLES); $CreatedOn = DateTimestamp($_POST["user_date"],GetDateFormat()); $dob = DateTimestamp($_POST["user_dob"],GetDateFormat()); $objEditItems = new clsUserManager(); @@ -92,8 +92,6 @@ $objCustomEdit->SetTable('edit'); $DataChanged = false; - echo "Loading CF by USER_RID: ".$u->Get("ResourceId")."
"; - $objCustomEdit->LoadResource($u->Get("ResourceId")); $CustomFields = new clsCustomFieldList(6); @@ -106,7 +104,7 @@ if(is_object($cvalue)) { - echo "Saving Value of CF [CF_ID: ".$cvalue->Get("CustomFieldId")."; RID: ".$u->Get("ResourceId")."; NEW_VAL: ".$value."]
"; + //echo "Saving CF: (".$cvalue->Get("CustomFieldId")." ; ".$u->Get("ResourceId")." ; $value)
"; $objCustomEdit->SetFieldValue($cvalue->Get("CustomFieldId"),$u->Get("ResourceId"),$value); $DataChanged = TRUE; } @@ -713,7 +711,7 @@ $objEditData = new clsCustomDataList(); //$objSession->GetEditTable("CustomMetaData")); $objEditData->SetTable('edit'); $ado = GetADODBConnection(); - $ado->debug = 1; + if($id && is_array($_POST["CustomData"])) { foreach($_POST["CustomData"] as $FieldId => $Value) Index: trunk/kernel/include/custommetadata.php =================================================================== diff -u -N -r13 -r104 --- trunk/kernel/include/custommetadata.php (.../custommetadata.php) (revision 13) +++ trunk/kernel/include/custommetadata.php (.../custommetadata.php) (revision 104) @@ -90,7 +90,7 @@ $this->classname = "clsCustomMetaData"; if(!strlen($table)) $table = GetTablePrefix()."CustomMetaData"; - $this->SourceTable = $table; + $this->SetTable('live', $table); } function LoadResource($ResourceId) @@ -108,7 +108,16 @@ function &SetFieldValue($FieldId,$ResourceId,$Value) { - $d =& $this->GetDataItem($FieldId); + // so strange construction used, because in normal + // way it doesn't work at all (gets item copy not + // pointer) + $index = $this->GetDataItem($FieldId, true); + + if($index !== false) + $d =& $this->Items[$index]; + else + $d = null; + if(is_object($d)) { $d->Set("Value",$Value); @@ -137,13 +146,17 @@ array_push($this->Items,$d); } } + $this->ShowItems(); return $d; } - function &GetDataItem($id) + function &GetDataItem($id, $return_index = false) { + // $id - custom field id to find + // $return_index - return index to items, not her. $found = false; - for($i=0;$i<$this->NumItems();$i++) + $index = false; + for($i = 0; $i < $this->NumItems(); $i++) { $d =& $this->GetItemRefByIndex($i); if($d->Get("CustomFieldId")==$id) @@ -152,7 +165,7 @@ break; } } - return ($found) ? $d : false; + return $found ? ($return_index ? $i : $d) : false; } function SaveData() Index: trunk/kernel/include/customfield.php =================================================================== diff -u -N -r13 -r104 --- trunk/kernel/include/customfield.php (.../customfield.php) (revision 13) +++ trunk/kernel/include/customfield.php (.../customfield.php) (revision 104) @@ -83,9 +83,10 @@ { $this->Clear(); $sql = "SELECT * FROM ".$this->SourceTable." WHERE Type=".$this->Type; - if((int)$GLOBALS["debuglevel"]) - echo $sql."
\n"; - $rs = $this->adodbConnection->Execute($sql); + if($this->debuglevel > 1) + echo $sql."
\n"; + $rs = $this->adodbConnection->Execute($sql); + while($rs && !$rs->EOF) { $data = $rs->fields;
$lvErrorString
- "> + "> +