Page Menu
Home
In-Portal Phabricator
Search
Configure Global Search
Log In
Files
F1248410
in-portal
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Fri, Nov 21, 9:30 PM
Size
51 KB
Mime Type
text/x-diff
Expires
Sun, Nov 23, 9:30 PM (1 d, 4 h)
Engine
blob
Format
Raw Data
Handle
811004
Attached To
rINP In-Portal
in-portal
View Options
Index: branches/unlabeled/unlabeled-1.27.2/kernel/include/config.php
===================================================================
--- branches/unlabeled/unlabeled-1.27.2/kernel/include/config.php (revision 8307)
+++ branches/unlabeled/unlabeled-1.27.2/kernel/include/config.php (revision 8308)
@@ -1,480 +1,482 @@
<?php
class clsConfig
{
var $config;
var $m_dirty_session;
var $m_IsDirty;
var $m_DirtyFields;
var $m_VarType;
var $adodbConnection;
function clsConfig()
{
$this->m_IsDirty=false;
$this->adodbConnection = &GetADODBConnection();
$this->config = array();
$this->m_IsDefault = array();
$this->VarType = array();
}
function SetDebugLevel($value)
{
}
function Load()
{
if(is_object($this->adodbConnection))
{
LogEntry("Config Load Start\n");
$sql = "select VariableName, VariableValue from ".GetTablePrefix()."ConfigurationValues";
$rs = $this->adodbConnection->Execute($sql);
unset($this->config);
#this->config=array();
$count=0;
while($rs && !$rs->EOF)
{
$this->config[$rs->fields["VariableName"]] = $rs->fields["VariableValue"];
$this->m_VarType[$rs->fields["VariableName"]] = 0;
// $this->Set($rs->fields["VariableName"],$rs->fields["VariableValue"],0);
if( defined('ADODB_EXTENSION') && constant('ADODB_EXTENSION') > 0 )
{
adodb_movenext($rs);
}
else
$rs->MoveNext();
$count++;
}
LogEntry("Config Load End - $count Variables\n");
}
unset($this->m_DirtyFields);
$this->m_IsDirty=false;
if (defined('DBG_SITE_PATH')) {
$this->config['Site_Path'] = DBG_SITE_PATH;
}
}
function Get($property)
{
if( isset($this->config[$property]) )
{
return $this->config[$property];
}
elseif( isset($this->config[ strtolower($property)] ) )
{
return $this->config[ strtolower($property) ];
}
else
{
return '';
}
}
function Set($property, $value,$type=0,$force=FALSE)
{
if(is_array($this->config) && strlen($property)>0)
{
if(array_key_exists($property,$this->config))
{
$current = $this->config[$property];
$changed = ($current != $value);
}
else
$changed = true;
}
else
$changed = false;
$this->config[$property]=$value;
$this->m_IsDirty = ($this->m_IsDirty or $changed or $force);
if($changed || $force)
{
$this->m_DirtyFields[$property] = $value;
}
$this->m_VarType[$property] = $type;
}
function Save()
{
if($this->m_IsDirty==TRUE)
{
foreach($this->m_DirtyFields as $field=>$value)
{
if($this->m_VarType[$field]==0)
{
// $sql = sprintf("UPDATE ".GetTablePrefix()."ConfigurationValues SET VariableValue=%s WHERE VariableName=%s", $this->adodbConnection->qstr($value), $this->adodbConnection->qstr($field));
$sql = 'UPDATE '.GetTablePrefix().'ConfigurationValues SET VariableValue="'.addslashes($value).'" WHERE VariableName="'.addslashes($field).'"';
// echo $sql."<br>\n";
$rs = $this->adodbConnection->execute($sql);
}
}
}
$this->m_IsDirty=FALSE;
unset($this->m_DirtyFields);
}
function TimeFormat()
{
return is12HourMode() ? 'g:i:s A' : 'H:i:s';
}
/* vartype should be either 1 or 2, 1 = perstant data, 2 = session data */
function GetDirtySessionValues($VarType)
{
$result = array();
if(is_array($this->m_DirtyFields))
{
foreach($this->m_DirtyFields as $property=>$values)
{
if($this->m_VarType[$property]==$VarType)
$result[$property] = $values;
}
}
return $result;
}
function GetConfigValues($postfix = '')
{
// return only varibles, that match specified criteria
if(!$postfix) return $this->config;
$result = Array();
$postfix_len = $postfix ? strlen($postfix) : 0;
foreach($this->config as $config_var => $var_value)
{
if( substr($config_var, - $postfix_len) == $postfix )
$result[$config_var] = $var_value;
}
return $result;
}
}/* clsConfig */
/*
To create the configuration forms in the admin section, populate the table ConfigurationAdmin and
ConfigurationValues.
The tables are fairly straight-forward. The fields of concern in the ConfigurationValues table is
ModuleOwner and Section. ModuleOwner should either be the module name or In-Portal for kernel related stuff.
(Items which should appear under 'System Configuration').
The Section field determines the NavMenu section the value is associated with. For example,
in-portal:configure_general refers to items listed under System Configuration->General.
In the ConfigurationAdmin table, ensure the VariableName field is the same as the one in ConfigurationValues
(this is the field that creates the natural join.) The prompt field is the text displayed to the left of the form element
in the table. This should contain LANGUAGE ELEMENT IDENTIFIERS that are plugged into the Language function.
The element_type field describes the type of form element is associated with this item. Possible values are:
- text : textbox
- checkbox : a simple checkbox
- select : creates a dropdown box. In this case, the ValueList field should be populated with a comma-separated list
in name=value,name=value format (each element is translated to:
<option VALUE="[value]">[name]</option>
To add dynamic data to this list, enclose an SQL statement with <SQL></SQL> tags for example:
<SQL>SELECT FieldLabel as OptionName, FieldName as OptionValue FROM <prefix>CustomField WHERE <prefix>.CustomFieldType=3></SQL>
note the specific field labels OptionName and OptionValue. They are required by the parser.
use the <prefix> tag to insert the system's table prefix into the sql statement as appropriate
*/
class clsConfigAdminItem
{
var $name;
var $heading;
var $prompt;
var $ElementType;
var $ValueList; /* comma-separated list in name=value pair format*/
var $ValidationRules;
var $default_value;
var $adodbConnection;
var $NextItem=NULL;
var $Section;
var $DisplayOrder = null;
var $TabIndex = 0;
/**
* Application instance
*
* @var kApplication
*/
var $Application = null;
function clsConfigAdminItem($config_name=NULL)
{
$this->Application =& kApplication::Instance();
$this->adodbConnection = &GetADODBConnection();
if ($config_name) {
$this->LoadSetting($config_name);
}
}
function LoadSetting($config_name)
{
$sql = "SELECT * FROM ".GetTablePrefix()."ConfigurationAdmin INNER JOIN ".GetTablePrefix()."ConfigurationValues Using(VariableName) WHERE ".GetTablePrefix()."ConfigurationAdmin.VariableName='".$config_name."'";
$rs = $this->adodbConnection->Execute($sql);
if($rs && !$rs->EOF)
{
$this->name = $rs->fields["VariableName"];
$this->heading = $rs->fields["heading"];
$this->prompt = $rs->fields["prompt"];
$this->ElementType = $rs->fields["element_type"];
$this->ValidationRules=$rs->fields["validation"];
$this->default_value = $rs->fields["VariableValue"];
$this->ValueList=$rs->fields["ValueList"];
$this->Section = $rs->fields["Section"];
$this->DisplayOrder = $rs->fields['DisplayOrder'];
}
}
function GetValues($string)
{
$cf_helper =& $this->Application->recallObject('InpCustomFieldsHelper');
/* @var $cf_helper InpCustomFieldsHelper */
return $cf_helper->GetValuesHash($string);
}
function ItemFormElement($StartFrom=1)
{
global $objConfig;
if(!$this->TabIndex) $this->TabIndex = $StartFrom;
$o = '';
if( $objConfig->Get($this->name) != '' )
{
$this->default_value = $objConfig->Get($this->name);
}
$this->default_value = inp_htmlize($this->default_value);
+ $validation_rule = $this->ValidationRules ? ' ValidationType="'.$this->ValidationRules.'" ' : '';
+
switch($this->ElementType)
{
case 'text':
$o .= '<input type="text" tabindex="'.($this->TabIndex++).'" name="'.$this->name.'" ';
- $o .= 'value="'.$this->default_value.'">';
+ $o .= 'value="'.$this->default_value.'"'.$validation_rule.'>';
break;
case 'checkbox':
- $o .= '<input type="checkbox" name="'.$this->name.'" tabindex="'.($this->TabIndex++).'"';
+ $o .= '<input type="checkbox" name="'.$this->name.'" tabindex="'.($this->TabIndex++).'"'.$validation_rule;
$o .= $this->default_value ? ' checked>' : '>';
break;
case 'password':
/* To exclude config form from populating with Root (md5) password */
if( $this->Section == 'in-portal:configure_users' ) $this->default_value = '';
$o .= '<input type="password" tabindex="'.($this->TabIndex++).'" name="'.$this->name.'" ';
$o .= 'value="'.$this->default_value.'">';
break;
case 'textarea':
- $o .= '<textarea tabindex="'.($this->TabIndex++).'" '.$this->ValueList.' name="'.$this->name.'">'.$this->default_value.'</textarea>';
+ $o .= '<textarea tabindex="'.($this->TabIndex++).'" '.$this->ValueList.' name="'.$this->name.'"'.$validation_rule.'>'.$this->default_value.'</textarea>';
break;
case 'label':
if ($this->default_value) {
$tag_params = clsHtmlTag::ParseAttributes($this->ValueList);
if (isset($tag_params['cut_first'])) {
$cut_first = $tag_params['cut_first'];
if (strlen($this->default_value) > $cut_first) {
$o .= substr($this->default_value, 0, $cut_first).' ...';
}
else {
$o .= $this->default_value;
}
}
else {
$o .= $this->default_value;
}
}
break;
case 'radio':
$radioname = $this->name;
$this->TabIndex++;
$values = $this->GetValues($this->ValueList);
foreach ($values as $option_id => $option_name) {
- $o .= '<input type="radio" tabindex="'.$this->TabIndex.'" name="'.$this->name.'" value="'.$option_id.'"';
+ $o .= '<input type="radio" tabindex="'.$this->TabIndex.'" name="'.$this->name.'" value="'.$option_id.'"'.$validation_rule;
$o .= ($this->default_value == $option_id) ? ' checked>' : '>';
$o .= $option_name;
}
$this->TabIndex++;
break;
case 'select':
- $o .= '<select name="'.$this->name.'" tabindex="'.($this->TabIndex++).'">';
+ $o .= '<select name="'.$this->name.'" tabindex="'.($this->TabIndex++).'"'.$validation_rule.'>';
$values = $this->GetValues($this->ValueList);
foreach ($values as $option_id => $option_name) {
$selected = $this->default_value == $option_id ? ' selected' : '';
$o .= '<option value="'.$option_id.'" '.$selected.'>'.$option_name.'</option>';
}
$o .= '</select>';
break;
case 'multiselect':
$o .= '<select id="'.$this->name.'_select" tabindex="'.($this->TabIndex++).'" onchange="update_multiple_options(\''.$this->name.'\');" multiple>';
$values = $this->GetValues($this->ValueList);
$selected_values = explode('|', substr($this->default_value, 1, -1) );
foreach ($values as $option_id => $option_name) {
$selected = in_array($option_id, $selected_values) ? ' selected' : '';
$o .= '<option value="'.$option_id.'" '.$selected.'>'.$option_name.'</option>';
}
- $o .= '</select><input type="hidden" id="'.$this->name.'" name="'.$this->name.'" value="'.$this->default_value.'"/>';
+ $o .= '</select><input type="hidden" id="'.$this->name.'" name="'.$this->name.'"'.$validation_rule.'value="'.$this->default_value.'"/>';
break;
}
return $o;
}
function GetPrompt()
{
$ret = prompt_language($this->prompt);
return $ret;
}
}
class clsConfigAdmin
{
var $module;
var $section;
var $Items;
function clsConfigAdmin($module="",$section="",$Inst=FALSE)
{
$this->module = $module;
$this->section = $section;
$this->Items= array();
if(strlen($module) && strlen($section))
$this->LoadItems(TRUE,$Inst);
}
function Clear()
{
unset($this->Items);
$this->Items = array();
}
function NumItems()
{
if(is_array($this->Items))
{
return count($this->Items);
}
else
return 0;
}
function LoadItems($CheckNextItems=TRUE, $inst=FALSE)
{
$this->Clear();
if(!$inst)
{
$sql = "SELECT * FROM ".GetTablePrefix()."ConfigurationAdmin INNER JOIN ".GetTablePrefix()."ConfigurationValues Using(VariableName)
WHERE ModuleOwner='".$this->module."' AND Section='".$this->section."' ORDER BY DisplayOrder ASC";
}
else
{
$sql = "SELECT * FROM ".GetTablePrefix()."ConfigurationAdmin INNER JOIN ".GetTablePrefix()."ConfigurationValues Using(VariableName)
WHERE ModuleOwner='".$this->module."' AND Section='".$this->section."' AND Install=1 ORDER BY DisplayOrder ASC";
}
if( $GLOBALS['debuglevel'] ) echo $sql."<br>\n";
$adodbConnection = &GetADODBConnection();
$rs = $adodbConnection->Execute($sql);
$i = null;
$last = '';
while($rs && !$rs->EOF)
{
$data = $rs->fields;
if(is_object($i) && $CheckNextItems)
{
$last = $i->prompt;
unset($i);
}
$i = new clsConfigAdminItem(NULL);
$i->name = $data["VariableName"];
$i->default_value = $data["VariableValue"];
$i->heading = $data["heading"];
$i->prompt = $data["prompt"];
$i->ElementType = $data["element_type"];
$i->ValueList = $data["ValueList"];
$i->ValidationRules = isset($data['validaton']) ? $data['validaton'] : '';
$i->Section = $data["Section"];
$i->DisplayOrder = $data['DisplayOrder'];
if(strlen($last)>0)
{
if($i->prompt==$last)
{
$this->Items[count($this->Items)-1]->NextItem=$i;
}
else
{
$i->NextItem=NULL;
array_push($this->Items,$i);
}
}
else
{
$i->NextItem=NULL;
array_push($this->Items,$i);
}
//unset($i);
$rs->MoveNext();
}
}
function SaveItems($POSTVARS, $force=FALSE)
{
global $objConfig;
foreach($this->Items as $i)
{
if($i->ElementType != "label")
{
if($i->ElementType != "checkbox")
{
$objConfig->Set($i->name,stripslashes($POSTVARS[$i->name]));
}
else
{
if($POSTVARS[$i->name]=="on")
{
$value=1;
}
else
$value = (int)$POSTVARS[$i->name];
$objConfig->Set($i->name,stripslashes($value),0,$force);
}
}
}
$objConfig->Save();
}
function GetHeadingList()
{
$res = array();
foreach($this->Items as $i)
{
$res[$i->heading]=1;
}
reset($res);
return array_keys($res);
}
function GetHeadingItems($heading)
{
$res = array();
foreach($this->Items as $i)
{
if($i->heading==$heading)
array_push($res,$i);
}
return $res;
}
}
?>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.27.2/kernel/include/config.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.27
\ No newline at end of property
+1.27.2.1
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.28.2/admin/users/adduser.php
===================================================================
--- branches/unlabeled/unlabeled-1.28.2/admin/users/adduser.php (revision 8307)
+++ branches/unlabeled/unlabeled-1.28.2/admin/users/adduser.php (revision 8308)
@@ -1,399 +1,399 @@
<?php
##############################################################
##In-portal ##
##############################################################
## In-portal ##
## Intechnic Corporation ##
## All Rights Reserved, 1998-2002 ##
## ##
## No portion of this code may be copied, reproduced or ##
## otherwise redistributed without proper written ##
## consent of Intechnic Corporation. Violation will ##
## result in revocation of the license and support ##
## privileges along maximum prosecution allowed by law. ##
##############################################################
// new startup: begin
define('REL_PATH', 'admin/users');
$relation_level = count( explode('/', REL_PATH) );
define('FULL_PATH', realpath(dirname(__FILE__) . str_repeat('/..', $relation_level) ) );
require_once FULL_PATH.'/kernel/startup.php';
// new startup: end
checkViewPermission('in-portal:user_list');
require_once ($pathtoroot.$admin."/include/elements.php");
require_once ($pathtoroot."kernel/admin/include/navmenu.php");
//require_once ($pathtolocal."admin/include/navmenu.php");
require_once($pathtoroot.$admin."/toolbar.php");
unset($objEditItems);
$objEditItems = new clsUserManager();
$objEditItems->SourceTable = $objSession->GetEditTable("PortalUser");
$objEditItems->EnablePaging = FALSE;
$application->SetVar('u_mode', 't');
$objCustomFields = new clsCustomFieldList(6);
$objRelList = new clsRelationshipList();
$objImages = new clsImageList();
$objUserGroupsList = new clsUserGroupList();
//Multiedit init
if ( GetVar('new') == 1)
{
$c = new clsPortalUser(NULL);
$c->Set("CreatedOn", adodb_mktime());
$c->Set("Status", 2);
$en = 0;
$action = "m_add_user";
$objUsers->CreateEmptyEditTable("PortalUserId");
$objRelList->CreateEmptyEditTable("RelationshipId");
$objCustomDataList->CreateEmptyEditTable('u');
$objImages->CreateEmptyEditTable("ResourceId");
$objUserGroupsList->CreateEmptyEditTable("PortalUserId");
$objItemTypes->BuildUserItemTable(-1, 1); // 0 - user_id, 1 - clear table
}
else
{
$direct_id = GetVar('direct_id');
if($direct_id) $_POST['itemlist'] = Array($direct_id);
$en = GetVar('en');
if (isset($_POST["itemlist"]))
{
$objUsers->CopyToEditTable("ResourceId",$_POST["itemlist"]);
}
$objEditItems->Query_Item("SELECT * FROM ".$objEditItems->SourceTable);
$first=1;
foreach($objEditItems->Items as $u)
{
$objItemTypes->BuildUserItemTable($u->Get("PortalUserId"),$first);
$first=0;
}
if(isset($_POST["itemlist"]))
{
/* make a copy of the relationship records */
$user_ids = Array();
$user_ids[] = $u->Get("PortalUserId");
$ids = $objEditItems->GetResourceIDList();
$objRelList->CopyToEditTable("SourceId",$ids);
$objCustomDataList->CopyToEditTable('u', $ids);
$objImages->CopyToEditTable("ResourceId",$ids);
$objUserGroupsList->CopyToEditTable("PortalUserId", $user_ids);
}
$itemcount=$objEditItems->NumItems();
$c = $objEditItems->GetItemByIndex($en);
if($itemcount>1)
{
if ($en+1 == $itemcount)
$en_next = -1;
else
$en_next = $en+1;
if ($en == 0)
$en_prev = -1;
else
$en_prev = $en-1;
}
$action = "m_edit_user";
}
$envar = "env=" . BuildEnv() . "&en=$en";
$section = 'in-portal:edituser_general';
if (strlen($c->Get("Login")))
$editing_title = "'".$c->Get("Login")."' ";
else
$editing_title = "";
$title = GetTitle("la_Text_User", "la_Text_General", $c->Get('PortalUserId'), $c->Get('Login'));
$c->Data=inp_htmlize($c->Data);
$saveURL = $admin."/".$objSession->GetVariable('ReturnScript');
//Display header
$sec = $objSections->GetSection($section);
$objCatToolBar = new clsToolBar();
$objCatToolBar->Add("img_save", "la_Save","#","swap('img_save','toolbar/tool_select_f2.gif');", "swap('img_save', 'toolbar/tool_select.gif');","edit_submit('edituser','UserEditStatus','".$saveURL."',1);","tool_select.gif");
$objCatToolBar->Add("img_cancel", "la_Cancel","#","swap('img_cancel','toolbar/tool_cancel_f2.gif');", "swap('img_cancel', 'toolbar/tool_cancel.gif');","edit_submit('edituser','UserEditStatus','".$saveURL."',2);","tool_cancel.gif");
if ( isset($en_prev) || isset($en_next) )
{
$url = $RootUrl.$admin."/users/adduser.php";
$StatusField = "UserEditStatus";
$form = "edituser";
MultiEditButtons($objCatToolBar,$en_next,$en_prev,$form,$StatusField,$url,$sec->Get("OnClick"),'','la_PrevUser','la_NextUser');
}
int_header($objCatToolBar,NULL,$title);
if ($objSession->GetVariable("HasChanges") == 1) {
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="toolbar">
<tr>
<td valign="top">
<?php int_hint_red(admin_language("la_Warning_Save_Item")); ?>
</td>
</tr>
</table>
<?php } ?>
<table width="100%" border="0" cellspacing="0" cellpadding="4" class="tableborder">
<form ID="edituser" name="edituser" action="" method=POST>
<?php int_subsection_title(prompt_language("la_Text_User")); ?>
<tr <?php int_table_color(); ?>>
<td valign="top"><span id="prompt_user_login" class="text"><?php echo prompt_language("la_prompt_Usermame"); ?></span></td>
<td>
<input type="text" tabindex="1" name="user_login" ID="user_login" class="text" ValidationType="exists" size="20" value="<?php echo isset($dupe_user) && $dupe_user ? $dupe_user : $c->parsetag("user_login"); ?>">
<span class="validation_error"><?php if( isset($dupe_user) && $dupe_user ) echo admin_language($lvErrorString); ?></span>
</td>
<td></td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top"><span ID="prompt_password" class="text"><?php echo prompt_language("la_prompt_Password"); ?></span></td>
<td>
<input autocomplete="off" type="password" id="password" tabindex="2" name="password" class="text" ValidationType="password" size="20" value="">
<?php if( !GetVar('new') ) echo prompt_language("la_password_info"); ?>
</td>
<td></td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top"><span ID="prompt_password_verify" class="text"><?php echo prompt_language("la_prompt_PasswordRepeat"); ?></span></td>
<td>
<input type="password" id="password_verify" tabindex="4" name="password_verify" class="text" size="20" value="">
</td>
<td></td>
</tr>
<?php int_subsection_title(prompt_language("la_prompt_PersonalInfo")); ?>
<tr <?php int_table_color(); ?>>
<td valign="top"><span id="prompt_user_firstname" class="text"><?php echo prompt_language("la_prompt_FirstName"); ?></span></td>
<td>
<input type="text" name="user_firstname" class="text" tabindex="5" size="30" value="<?php echo $c->parsetag("user_firstname"); ?>">
</td>
<td></td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top">
<span id="prompt_user_lastname" class="text"><?php echo prompt_language("la_prompt_LastName"); ?></span>
</td>
<td>
<input type="text" name="user_lastname" class="text" tabindex="6" size="30" value="<?php echo $c->parsetag("user_lastname"); ?>">
</td>
<td></td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top">
<span id="prompt_user_company" class="text"><?php echo prompt_language("la_fld_Company"); ?></span>
</td>
<td>
<input type="text" name="user_company" class="text" tabindex="7" size="30" value="<?php echo inp_htmlize($c->Get('Company')); ?>">
</td>
<td></td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top"><span ID="prompt_user_email" class="text"><?php echo prompt_language("la_prompt_Email"); ?></span></td>
<td>
<input type="text" ValidationType="exists" name="user_email" tabindex="8" ID="user_email" class="text" size="30" value="<?php echo $c->parsetag("user_email"); ?>">
</td>
<td><span class="text"> </span></td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top"><SPAN id="prompt_user_dob" class="text"><?php echo prompt_language("la_prompt_birthday"); ?></SPAN></td>
<td>
<input type="text" ValidationType="date,exists" tabindex="9" name="user_dob" id="user_dob_selector" datepickerIcon="<?php echo $adminURL; ?>/images/ddarrow.gif" class="text" size="20" value="<?php echo $c->parsetag("user_dob"); ?>">
<span class="small"><?php echo prompt_language("la_prompt_DateFormat"); ?></span></td>
<td></td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top"><span id="prompt_user_phone" class="text"><?php echo prompt_language("la_prompt_Phone"); ?></span></td>
<td>
<input type="text" name="user_phone" tabindex="10" class="text" size="30" value="<?php echo inp_htmlize($c->Get('Phone')); ?>">
</td>
<td><span class="text"> </span></td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top">
<span id="prompt_user_fax" class="text"><?php echo prompt_language("la_fld_Fax"); ?></span>
</td>
<td>
<input type="text" name="user_fax" tabindex="11" class="text" size="30" value="<?php echo inp_htmlize($c->Get('Fax')); ?>">
</td>
<td>
<span class="text"> </span>
</td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top">
<span id="prompt_user_street" class="text"><?php echo prompt_language("la_fld_AddressLine"); ?> 1</span>
</td>
<td>
<input type="text" name="user_street" tabindex="12" class="text" size="40" value="<?php echo inp_htmlize($c->Get('Street')); ?>">
</td>
<td>
<span class="text"> </span>
</td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top">
<span id="prompt_user_street2" class="text"><?php echo prompt_language("la_fld_AddressLine"); ?> 2</span>
</td>
<td>
<input type="text" name="user_street2" tabindex="13" class="text" size="40" value="<?php echo inp_htmlize($c->Get('Street2')); ?>">
</td>
<td>
<span class="text"> </span>
</td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top"><span id="prompt_user_city" class="text"><?php echo prompt_language("la_prompt_City"); ?></span></td>
<td>
<input type="text" name="user_city" class="text" tabindex="14" size="30" value="<?php echo $c->parsetag("user_city"); ?>">
</td>
<td><span class="text"> </span></td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top"><span id="prompt_user_state" class="text"><?php echo prompt_language("la_prompt_State"); ?></span></td>
<td>
<input type="text" name="user_state" class="text" tabindex="15" size="20" value="<?php echo $c->parsetag("user_state"); ?>">
</td>
<td><span class="text"> </span></td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top"><span id="prompt_user_zip" class="text"><?php echo prompt_language("la_prompt_Zip"); ?></span></td>
<td>
<input type="text" name="user_zip" class="text" size="6" tabindex="16" value="<?php echo $c->parsetag("user_zip"); ?>">
</td>
<td><span class="text"> </span></td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top"><span id="prompt_user_country" class="text"><?php echo prompt_language("la_prompt_Country"); ?></span></td>
<td>
<input type="text" name="user_country" class="text" tabindex="17" size="30" value="<?php echo $c->parsetag("user_country"); ?>">
</td>
<td><span class="text"> </span></td>
</tr>
<?php int_subsection_title(prompt_language("la_prompt_Properties")); ?>
<tr <?php int_table_color(); ?>>
<td valign="top"><span id="prompt_status" class="text"><?php echo prompt_language("la_prompt_Status"); ?></span></td>
<td>
<input type="radio" name="status" class="text" tabindex="18" value="1" <?php if($c->Get("Status") == 1) echo "checked"; ?>><?php echo prompt_language("la_val_Active"); ?>
<input type="radio" name="status" class="text" tabindex="18" value="2" <?php if($c->Get("Status") == 2) echo "checked"; ?>><?php echo prompt_language("la_val_Pending"); ?>
<input type="radio" name="status" class="text" tabindex="18" value="0" <?php if($c->Get("Status") == 0) echo "checked"; ?>><?php echo prompt_language("la_val_Disabled"); ?>
</td>
<td class="text"> </td>
</tr>
<!-- User: CreatedOn: begin -->
<tr <?php int_table_color(); ?>>
<td valign="top"><SPAN id="prompt_user_date" class="text"><?php echo prompt_language("la_prompt_CreatedOn"); ?></SPAN></td>
<td>
<input type="text" name="user_date" id="user_date_selector" tabindex="19" datepickerIcon="<?php echo $adminURL; ?>/images/ddarrow.gif" class="text" size="20" value="<?php echo $c->parsetag("user_date"); ?>">
<span class="small"><?php echo prompt_language("la_prompt_DateFormat"); ?></span></td>
<td></td>
</tr>
<tr <?php int_table_color(); ?>>
<td valign="top"><SPAN id="prompt_user_time" class="text"><?php echo prompt_language("la_prompt_CreatedOn_Time"); ?></SPAN></td>
<td>
<input type="text" name="user_time" tabindex="20" class="text" size="20" value="<?php echo $c->parsetag("user_time"); ?>">
<span class="small"><?php echo prompt_language("la_prompt_TimeFormat"); ?></span></td>
<td></td>
</tr>
<!-- User: CreatedOn: end -->
<?php
$CustomFieldUI = $objCustomFields->GetFieldUIList(TRUE); // get custom fields to show on general tab
if($CustomFieldUI->NumItems()>0)
{
$objCustomDataList->SetTable('edit');
if((int)$c->Get("ResourceId")>0)
$objCustomDataList->LoadResource($c->Get("ResourceId"));
$headings = $CustomFieldUI->GetHeadingList();
// draw headings
for($i = 0; $i < count($headings); $i++)
{
$h = $headings[$i];
if(strlen($h))
{
int_subsection_title(prompt_language($h));
$Items = $CustomFieldUI->GetHeadingItems($h);
foreach($Items as $f)
{
$n = substr($f->name,1); // TabIndex
$cfield = $objCustomFields->GetItemByField('FieldName',$n,FALSE);
if (is_object($cfield)) {
$f->default_value = $c->GetCustomFieldValue($n, '', 0, true);
}
print "<tr ".int_table_color_ret().">\n";
- print " <td valign=\"top\"><span class=\"text\">".$f->GetPrompt()."</span></td>\n";
+ print ' <td valign="top"><span id="prompt_'.$f->name.'" class="text">'.$f->GetPrompt().'</span></td>'."\n";
print " <td nowrap>".$f->ItemFormElement(17)."</TD>";
if (is_object($f->NextItem)) {
$n = $f->NextItem;
print " <td>".$n->ItemFormElement(17)."</TD>";
}
else {
print " <td><span class=\"text\"> </span></td>\n";
}
print "</tr>\n";
}
}
}
$objCustomDataList->SetTable('live');
}
?>
</table>
<input type="hidden" name="Action" value="<?php echo $action; ?>">
<input type="hidden" name="user_id" value="<?php echo $c->Get("PortalUserId"); ?>">
<input type="hidden" name="UserEditStatus" VALUE="0">
</form>
<script src="<?php echo $adminURL; ?>/include/calendar.js"></script>
<SCRIPT language="JavaScript">
initCalendar("user_date_selector", CalDateFormat);
initCalendar("user_dob_selector", CalDateFormat);
function addLoadEvent(func, wnd) {
if (!wnd) wnd = window
var oldonload = wnd.onload;
if (typeof wnd.onload != 'function') {
wnd.onload = func;
} else {
wnd.onload = function() {
if (oldonload) {
oldonload();
}
func();
}
}
}
addLoadEvent(function() {
document.getElementById('password').value = '';
}
);
</SCRIPT>
<?php
MarkFields('edituser');
int_footer();
?>
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.28.2/admin/users/adduser.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.28
\ No newline at end of property
+1.28.2.1
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.12.2/admin/include/tabs.js
===================================================================
--- branches/unlabeled/unlabeled-1.12.2/admin/include/tabs.js (revision 8307)
+++ branches/unlabeled/unlabeled-1.12.2/admin/include/tabs.js (revision 8308)
@@ -1,285 +1,297 @@
//parses input tags looking for validation attributes
function DataIsValid(f)
{
var ValType = '';
var span_id = '';
var form_result = true;
var field_result = true;
var j = 0;
for (var i = 0; i < f.elements.length; i++)
{
ValType = '';
Field = f.elements[i];
ValType = Field.getAttribute('ValidationType');
if(ValType)
{
ValType = TransformValidationType(ValType); // for capability with old forms
span_id = 'prompt_' + Field.name;
span = document.getElementById(span_id);
if(span)
{
field_result = true;
ValType = ValType.split(',');
j = 0;
while(j < ValType.length)
{
//alert('Validating ['+Field.name+'] as ['+ValType[j]+']');
if(ValType[j] == 'password')
{
var repasswd = document.getElementById(Field.name + '_verify');
if(repasswd)
{
field_result &= ValidateField(Field.value, ValType[j], repasswd.value);
document.getElementById('prompt_' + Field.name + '_verify').className = field_result ? 'text' : 'validation_error';
}
}
else
- field_result &= ValidateField(Field.value, ValType[j]);
+ field_result &= ValidateField(Field.value, ValType[j], Field);
j++;
}
span.className = field_result ? 'text' : 'validation_error';
form_result &= field_result;
}
}
}
return form_result;
}
function TransformValidationType(OldType)
{
// replace old validation types with new
// on the fly in case if we have some forms
// that still use old validation types
var NewType = '';
switch(OldType)
{
case 'optional_date':
NewType = 'date';
break;
default:
NewType = OldType;
break;
}
return NewType;
}
function ValidateField(FieldValue, ValidateAs, RePasswdValue)
{
// validate FieldValue based on ValidateAs rule specified;
// in case if password field compare it with RePasswdValue
var result = true;
switch(ValidateAs)
{
case 'exists': // field is required
- if(FieldValue.length == 0) result = false;
+ var $Field = RePasswdValue;
+ switch ($Field.type) {
+ case 'radio':
+ result = false;
+ var $radio = document.getElementsByName($Field.name);
+ for (var $i = 0; $i < $radio.length; $i++) {
+ if ($radio[$i].checked) {
+ result = true;
+ break;
+ }
+ }
+ break;
+ default:
+ if(FieldValue.length == 0) result = false;
+ break;
+ }
break;
case 'integer': // field must be integer number
result = ValidateNumber(FieldValue, ValidateAs);
break;
case 'password': // validate as password field
result = (FieldValue == RePasswdValue) || (FieldValue.length == 0);
break;
case 'date': // text must be a formatted date
result = ValidDate(FieldValue);
break;
case 'time': // text must be a formatted time
result = ValidTime(FieldValue);
break;
case 'custom_name':
result = ValidCustomName(FieldValue);
break;
case 'theme_name':
result = ValidThemeName(FieldValue);
break;
}
return result;
}
function MarkAsRequired(f)
{
var ValType = '';
var span_id = '';
var result = true;
- for (var i = 0; i < f.elements.length; i++)
- {
+ for (var i = 0; i < f.elements.length; i++) {
ValType = '';
Field = f.elements[i];
ValType = Field.getAttribute('ValidationType');
- if(ValType)
- {
+ if (ValType) {
ValType = ValType.split(',');
- if( InArray(ValType,'exists') !== false )
- {
+ if ((InArray(ValType,'exists') !== false) && (span_id != 'prompt_' + Field.name)) {
span_id = 'prompt_' + Field.name;
span = document.getElementById(span_id);
- span.innerHTML = span.innerHTML + '<span class="error">*</span>';
+ span.innerHTML += '<span class="error">*</span>';
}
}
}
}
function InArray(aArray, aValue)
{
// checks if element in array
var k = 0;
while(k < aArray.length)
{
if(aArray[k] == aValue) return k;
k++;
}
return false;
}
//Used to submit the form when a tab is clicked on
function edit_submit(formname, status_field, targetURL, save_value, env_str, new_target)
{
var full_env = env;
if( HasParam(env_str) ) full_env += env_str;
if(full_env.substr(0,3) != "env") full_env = 'env=' + full_env;
f = document.getElementById(formname);
if(f)
{
var valid = false;
if(save_value != 2 && save_value !=-1)
{
valid = DataIsValid(f);
}
else
{
var a = f.Action;
if(a)
{
a.value='';
}
}
if(valid || save_value==2 || save_value==-1)
{
var URLPrefix = '';
if( targetURL.substring(0, rootURL.length) != rootURL ) URLPrefix = rootURL;
f.action = URLPrefix + targetURL;
if( !f.action.match('(.*)?env=(.*)') ) f.action += '?' + full_env;
if(status_field.length > 0)
{
f.elements[status_field].value = save_value; //0= stay in temp, 1=save to perm, 2 = purge no save
}
if(new_target != null && typeof(new_target) != 'undefined') f.target = new_target;
f.submit();
}
else
if(!valid) alert(ErrorMsg);
}
else
{
alert('Form '+formname+' was not found.');
}
}
//Used when the save or cancel buttin is hit
function do_edit_save(formname, status_field, targetURL, save_value, env_str)
{
var full_env = env;
if( HasParam(env_str) ) full_env += env_str;
if(full_env.substr(0,3)!="env")
full_env = 'env='+full_env;
f = document.getElementById(formname);
if(f)
{
f.action = rootURL + targetURL;
if( !f.action.match('(.*)?env=(.*)') ) f.action += '?' + full_env;
//alert(f.action);
if(status_field.length>0)
{
f.elements[status_field].value = save_value; //0= stay in temp, 1=save to perm, 2 = purge no save
}
f.submit();
}
else
alert('Form '+formname+' was not found.');
}
function jump_to_url(targetURL, env_str)
{
var full_env = env;
if( HasParam(env_str) ) full_env += env_str;
if(full_env.substr(0,3)!="env")
full_env = 'env='+full_env;
document.location = rootURL + targetURL + '?' + full_env;
}
// -------------------------------------------------------------------------------------------------------------
function submit_form(formname, status_field, targetURL, save_value, env_str)
{
// by Alex, submits form.
var full_env = env;
if( HasParam(env_str) ) full_env += env_str;
if(full_env.substr(0,3)!="env")
full_env = 'env='+full_env;
f = document.getElementById(formname);
if(f)
{
var valid = false;
if(save_value != 2 && save_value !=-1)
{
valid = DataIsValid(f);
}
else
{
var a = f.Action;
if(a)
{
a.value='';
}
}
if(valid || save_value==2 || save_value==-1)
{
f.action = rootURL + targetURL + '?' + full_env;
if(status_field.length>0)
{
f.elements[status_field].value = save_value; //0= stay in temp, 1=save to perm, 2 = purge no save
}
f.submit();
}
else
if(!valid)
alert(ErrorMsg);
}
else
alert('Form '+formname+' was not found.');
}
function HasParam(param)
{
// checks of parameter is passed to function (cross-browser)
return typeof(param) == 'undefined' ? false : true;
}
function SetBackground(element_id, img_url)
{
// set background image of element specified by id
var el = document.getElementById(element_id);
el.style.backgroundImage = 'url('+img_url+')';
}
\ No newline at end of file
Property changes on: branches/unlabeled/unlabeled-1.12.2/admin/include/tabs.js
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.12
\ No newline at end of property
+1.12.2.1
\ No newline at end of property
Index: branches/unlabeled/unlabeled-1.16.2/kernel/include/customfield.php
===================================================================
--- branches/unlabeled/unlabeled-1.16.2/kernel/include/customfield.php (revision 8307)
+++ branches/unlabeled/unlabeled-1.16.2/kernel/include/customfield.php (revision 8308)
@@ -1,290 +1,311 @@
<?php
class clsCustomField extends clsItem
{
function clsCustomField($CustomFieldId=-1)
{
$this->clsItem();
$this->tablename=GetTablePrefix()."CustomField";
$this->type=10;
$this->BasePermission="";
$this->id_field = "CustomFieldId";
$this->NoResourceId=1; //set this to avoid using a resource ID
$this->debuglevel=0;
if($CustomFieldId>-1)
$this->LoadFromDatabase($CustomFieldId);
}
function GetAdminUI()
{
$a = new clsConfigAdminItem();
$a->name = "_".$this->Get("FieldName");
$a->heading = $this->Get("Heading");
$a->prompt = $this->Get("Prompt");
$a->ElementType = $this->Get("ElementType");
- $a->ValidationRules="";
+
+ $main_prefix = $this->getMainPrefix($this->Get('Type'));
+ $fields = $this->Application->getUnitOption($main_prefix, 'Fields');
+ if (isset($fields['cust'.$a->name]['required']) && $fields['cust'.$a->name]['required']) {
+ $a->ValidationRules = 'exists';
+ }
+ else {
+ $a->ValidationRules = '';
+ }
+
$a->default_value = "";
$a->ValueList=$this->Get("ValueList");
if(!strlen($a->ElementType))
$a->ElementType="text";
if(!strlen($a->prompt))
$a->prompt = "lu_fieldcustom__".strtolower($this->Get("FieldName"));
return $a;
}
+ function getMainPrefix($item_type)
+ {
+ static $main_prefixes = null;
+ if (!isset($main_prefixes)) {
+ $sql = 'SELECT Prefix, ItemType
+ FROM '.TABLE_PREFIX.'ItemTypes';
+ $main_prefixes = $this->Conn->GetCol($sql, 'ItemType');
+ }
+
+ return $main_prefixes[$item_type];
+ }
+
function parsetag($tag)
{
if(is_object($tag))
{
$tagname = $tag->name;
}
else
$tagname = $tag;
switch($tagname)
{
case "fieldlabel":
return $this->Get("FieldLabel");
break;
case "fieldname":
return $this->Get("FieldName");
break;
case "customfieldid":
return $this->Get("CustomFieldId");
default:
return "Undefined:$tagname";
break;
}
}
}
class clsCustomFieldList extends clsItemCollection
{
var $Type;
function clsCustomFieldList($type = -1, $table = 'CustomField')
{
$this->clsItemCollection();
$this->Type = $type;
$this->classname = 'clsCustomField';
if ($table == 'CustomField') {
$table = GetTablePrefix().$table;
}
$this->SourceTable = $table;
if ($this->Type > 0) {
$this->LoadFields();
}
}
function LoadFields()
{
$this->Clear();
$sql = 'SELECT *
FROM '.$this->SourceTable.'
WHERE Type = '.$this->Type.' AND (IsSystem = 0 OR OnGeneralTab = 1)
ORDER BY DisplayOrder DESC, CustomFieldId ASC';
if($this->debuglevel > 1)
echo $sql."<br>\n";
$rs = $this->adodbConnection->Execute($sql);
while($rs && !$rs->EOF)
{
$data = $rs->fields;
$this->AddItemFromArray($data);
$rs->MoveNext();
}
}
function LoadFieldsAndValues($ResourceId, $main_prefix, $temp_table = false)
{
$this->Clear();
$this->Application->getUnitOption($main_prefix, 'TableName');
$table = $this->Application->getUnitOption($main_prefix.'-cdata', 'TableName');
if ($temp_table) {
$table = $this->Application->GetTempName($table, 'prefix:'.$main_prefix);
}
$sql = 'SELECT *
FROM '.$table.'
WHERE ResourceId = '.$ResourceId;
$custom_data = $this->adodbConnection->GetRow($sql);
$sql = 'SELECT *
FROM '.TABLE_PREFIX.'CustomField
WHERE Type = '.$this->Application->getUnitOption($main_prefix, 'ItemType');
$custom_fields = $this->Conn->Query($sql, 'CustomFieldId');
$ml_formatter =& $this->Application->recallObject('kMultiLanguage');
foreach ($custom_fields as $custom_id => $custom_info) {
$custom_name = $ml_formatter->LangFieldName('cust_'.$custom_id);
$custom_info['Value'] = $custom_data[$custom_name];
$custom_info['CustomDataId'] = 0;
$this->AddItemFromArray($custom_info);
}
}
function GetFieldUIList($GeneralTab=FALSE)
{
$ret = new clsConfigAdmin();
if ($this->NumItems() > 0) {
foreach ($this->Items as $field) {
if ($GeneralTab == true && $field->Get('OnGeneralTab') == 1 || !$GeneralTab) {
$ui = $field->GetAdminUI();
array_push($ret->Items,$ui);
}
}
}
return $ret;
}
function GetFieldNames()
{
$res = array();
foreach($this->Items as $f)
$res[] = $f->Get("FieldName");
return $res;
}
function SaveFields()
{
foreach($this->Items as $i)
{
if($i->Get("CustomFieldId"))
{
$i->Update();
}
else
$i->Create();
}
}
function Query_CustomField($where=NULL,$orderby=NULL,$limit=NULL)
{
$this->Clear();
$sql = "SELECT * FROM ".$this->SourceTable;
if(isset($where))
$sql = sprintf('%s WHERE %s',$sql,$where);
if(isset($orderby) && strlen(trim($orderby))>0)
$sql = sprintf('%s ORDER BY %s',$sql,$orderby);
if(isset($limit) && strlen(trim($limit)))
$sql .= " ".$limit;
// $sql."<br>";
$this->Query_Item($sql);
return $this->Items;
}
function AddField($Type,$FieldName,$FieldLabel,$ShowGeneral=0,$Heading="", $Prompt="",
$ElementType="",$ValueList="")
{
global $objItemTypes,$objSearchConfig,$objLanguages;
//if(!is_numeric($Type))
// {
$f = new clsCustomField();
$f->tablename = $this->SourceTable;
$f->Set(array("Type","FieldName","FieldLabel","OnGeneralTab","Heading","Prompt",
"ElementType","ValueList"),
array($Type,$FieldName,$FieldLabel,$ShowGeneral,$Heading,$Prompt,
$ElementType,$ValueList));
$f->Create();
$Item = $objItemTypes->GetItem($Type);
if(is_object($Item))
{
//$Table = $Item->Get("SourceTable");
$Table = 'CustomField';
$Header = "la_text_".strtolower($Item->Get("ItemName"));
$Module = $Item->Get("Module");
// $Desc = $FieldLabel;
if(!is_object($objSearchConfig))
{
$objSearchConfig = new clsSearchConfigList();
}
$NextOrder = $objSearchConfig->GetNextDisplayOrder($Module);
$desc = "lu_fieldcustom__".strtolower($FieldName);
if(!strlen($FieldLabel))
{
$FieldLabel = $FieldName;
}
$l = $objLanguages->GetPrimary();
$phrases = new clsPhraseList();
$phrases->AddPhrase($desc,$l,$FieldLabel,2, $Item->Get('Module') );
$dtable = GetTablePrefix()."CustomMetaData";
$Join = "($dtable.ResourceId={Table}.ResourceId)";
$objSearchConfig->AddSearchField($Table,$FieldName,$Module,$Type == 6 ? -1 : 0,0,
$FieldLabel,$desc,$Header,$NextOrder,0,
$ElementType, NULL, NULL, NULL, NULL, NULL,
$f->Get("CustomFieldId"), NULL);
}
return $f;
//}
//else
// return FALSE;
}
function EditField($FieldId,$Type,$FieldName,$FieldLabel,$ShowGeneral=0,$Heading="", $Prompt="",$ElementType="",$ValueList="")
{
global $objSearchConfig;
$f = $this->GetItem($FieldId);
$f->Set(array("Type","FieldName","FieldLabel","OnGeneralTab","Heading","Prompt","ElementType","ValueList"),
array($Type,$FieldName,$FieldLabel,$ShowGeneral,$Heading,$Prompt,$ElementType,$ValueList));
$f->Update();
$db =& $this->adodbConnection;
if (!$FieldLabel) $FieldLabel = $FieldName;
$sql = 'UPDATE '.GetTablePrefix().'SearchConfig
SET FieldType = '.$db->qstr($ElementType).',
DisplayName = '.$db->qstr('lu_fieldcustom__'.strtolower($FieldName)).',
FieldName = '.$db->qstr($FieldName).',
Description = '.$db->qstr($FieldLabel).'
WHERE CustomFieldId = '.$FieldId;
$this->adodbConnection->Execute($sql);
return $f;
}
function DeleteField($FieldId)
{
global $objItemTypes, $objSearchConfig;
//echo "<pre>"; print_r($objSearchConfig); echo "</pre>";
$f = $this->GetItem($FieldId);
$Type = $f->Get("Type");
$Item = $objItemTypes->GetItem($Type);
$Module = $Item->Get("Module");
if(is_object($Item))
{
//$table = $Item->Get("TableName");
$table = GetTablePrefix()."CustomField";
if(!is_object($objSearchConfig))
{
$objSearchConfig = new clsSearchConfigList($Module);
}
$sql = 'DELETE FROM '.$objSearchConfig->SourceTable.' WHERE CustomFieldId = '.$FieldId;
$this->adodbConnection->Execute($sql);
$phrase_name = 'lu_fieldcustom__'.strtolower($f->Get('FieldName'));
$sql = 'DELETE FROM '.GetTablePrefix().'Phrase WHERE Phrase = '.$this->adodbConnection->qstr($phrase_name);
$this->adodbConnection->Execute($sql);
}
$f->Delete();
}
}/*clsCustomFieldList*/
?>
Property changes on: branches/unlabeled/unlabeled-1.16.2/kernel/include/customfield.php
___________________________________________________________________
Modified: cvs2svn:cvs-rev
## -1 +1 ##
-1.16.2.1
\ No newline at end of property
+1.16.2.2
\ No newline at end of property
Event Timeline
Log In to Comment