mirror of
https://github.com/e107inc/e107.git
synced 2025-07-31 20:00:37 +02:00
More user extended tests, including {USER_EXTENDED} shortcode.
This commit is contained in:
@@ -8,11 +8,12 @@
|
|||||||
/**
|
/**
|
||||||
* @param $parm
|
* @param $parm
|
||||||
* @usage {USER_EXTENDED=<field_name>.[text|value|icon|text_value].<user_id>}
|
* @usage {USER_EXTENDED=<field_name>.[text|value|icon|text_value].<user_id>}
|
||||||
* @example {USER_EXTENDED=user_gender.value.5} will show the value of the extended field user_gender for user #5
|
* @example {USER_EXTENDED=gender.value.5} will show the value of the extended field user_gender for user #5
|
||||||
* @return bool|string
|
* @return bool|string
|
||||||
*/
|
*/
|
||||||
function user_extended_shortcode($parm)
|
function user_extended_shortcode($parm)
|
||||||
{
|
{
|
||||||
|
|
||||||
$currentUser = e107::user();
|
$currentUser = e107::user();
|
||||||
$tp = e107::getParser();
|
$tp = e107::getParser();
|
||||||
|
|
||||||
|
@@ -44,6 +44,7 @@ class e107_user_extended
|
|||||||
public $systemCount = 0; // Count of system fields - always zero ATM
|
public $systemCount = 0; // Count of system fields - always zero ATM
|
||||||
public $userCount = 0; // Count of non-system fields
|
public $userCount = 0; // Count of non-system fields
|
||||||
private $fieldAttributes = array(); // Field Permissionss with field name as key.
|
private $fieldAttributes = array(); // Field Permissionss with field name as key.
|
||||||
|
private $lastError;
|
||||||
|
|
||||||
public function __construct()
|
public function __construct()
|
||||||
{
|
{
|
||||||
@@ -206,9 +207,14 @@ class e107_user_extended
|
|||||||
$target['_FIELD_TYPES'] = array(); // We should always want to recreate the array, even if it exists
|
$target['_FIELD_TYPES'] = array(); // We should always want to recreate the array, even if it exists
|
||||||
foreach ($target['data'] as $k => $v)
|
foreach ($target['data'] as $k => $v)
|
||||||
{
|
{
|
||||||
if (isset($this->nameIndex[$k]))
|
|
||||||
{
|
// if (isset($this->nameIndex[$k]))
|
||||||
switch ($this->fieldDefinitions[$this->nameIndex[$k]]['user_extended_struct_type'])
|
// {
|
||||||
|
if($type = $this->getDbFieldType($k))
|
||||||
|
{
|
||||||
|
$target['_FIELD_TYPES'][$k] = $type;
|
||||||
|
}
|
||||||
|
/* switch ($this->fieldDefinitions[$this->nameIndex[$k]]['user_extended_struct_type'])
|
||||||
{
|
{
|
||||||
case EUF_TEXT :
|
case EUF_TEXT :
|
||||||
case EUF_DB_FIELD :
|
case EUF_DB_FIELD :
|
||||||
@@ -227,16 +233,62 @@ class e107_user_extended
|
|||||||
$target['_FIELD_TYPES'][$k] = 'array';
|
$target['_FIELD_TYPES'][$k] = 'array';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
case EUF_INTEGER :
|
case EUF_INTEGER :
|
||||||
$target['_FIELD_TYPES'][$k] = 'int';
|
$target['_FIELD_TYPES'][$k] = 'int';
|
||||||
break;
|
break;
|
||||||
}
|
}*/
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Given the field name, returns the database FIELD_TYPE
|
||||||
|
* @param $fieldname
|
||||||
|
* @return string|null
|
||||||
|
*/
|
||||||
|
public function getDBFieldType($fieldname)
|
||||||
|
{
|
||||||
|
if(strpos($fieldname, 'user_') !== 0)
|
||||||
|
{
|
||||||
|
// $fieldname = 'user_'. $fieldname;
|
||||||
|
var_dump($fieldname);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!isset($this->nameIndex[$fieldname]))
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
$ret = null;
|
||||||
|
|
||||||
|
$index = $this->nameIndex[$fieldname];
|
||||||
|
|
||||||
|
switch ($this->fieldDefinitions[$index]['user_extended_struct_type'])
|
||||||
|
{
|
||||||
|
case EUF_TEXT :
|
||||||
|
case EUF_DB_FIELD :
|
||||||
|
case EUF_TEXTAREA :
|
||||||
|
case EUF_RICHTEXTAREA :
|
||||||
|
case EUF_DROPDOWN :
|
||||||
|
case EUF_DATE :
|
||||||
|
case EUF_LANGUAGE :
|
||||||
|
case EUF_PREDEFINED :
|
||||||
|
case EUF_RADIO :
|
||||||
|
$ret = 'todb';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case EUF_CHECKBOX :
|
||||||
|
$ret = 'array';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case EUF_INTEGER :
|
||||||
|
$ret = 'int';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ret;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For all UEFs not in the target array, adds the default value
|
* For all UEFs not in the target array, adds the default value
|
||||||
@@ -743,6 +795,9 @@ class e107_user_extended
|
|||||||
return $this->user_extended_add($name, '_system_', $type, $source, '', $default, 0, 255, 255, 255, 0, 0);
|
return $this->user_extended_add($name, '_system_', $type, $source, '', $default, 0, 255, 255, 255, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function user_extended_add($name, $text='', $type='', $parms='', $values='', $default='', $required='', $read='', $write='', $applicable='', $order='', $parent='')
|
function user_extended_add($name, $text='', $type='', $parms='', $values='', $default='', $required='', $read='', $write='', $applicable='', $order='', $parent='')
|
||||||
{
|
{
|
||||||
|
|
||||||
@@ -798,28 +853,29 @@ class e107_user_extended
|
|||||||
$sql->gen('ALTER TABLE #user_extended ADD user_'.$tp -> toDB($name, true).' '.$field_info);
|
$sql->gen('ALTER TABLE #user_extended ADD user_'.$tp -> toDB($name, true).' '.$field_info);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* TODO
|
|
||||||
$extStructInsert = array(
|
$extStructInsert = array(
|
||||||
'user_extended_struct_id' => '_NULL_',
|
// 'user_extended_struct_id' => null,
|
||||||
'user_extended_struct_name' => '',
|
'user_extended_struct_name' => $tp -> toDB($name, true),
|
||||||
'user_extended_struct_text' => '',
|
'user_extended_struct_text' => (string) $tp -> toDB($text, true),
|
||||||
'user_extended_struct_type' => '',
|
'user_extended_struct_type' => (int) $type,
|
||||||
'user_extended_struct_parms' => '',
|
'user_extended_struct_parms' => (string) $tp -> toDB($parms, true),
|
||||||
'user_extended_struct_values' => '',
|
'user_extended_struct_values' => (string) $tp -> toDB($values, true),
|
||||||
'user_extended_struct_default' => '',
|
'user_extended_struct_default' => (string) $tp -> toDB($default, true),
|
||||||
'user_extended_struct_read' => '',
|
'user_extended_struct_read' => (int) $read,
|
||||||
'user_extended_struct_write' => '',
|
'user_extended_struct_write' => (int) $write,
|
||||||
'user_extended_struct_required' => '',
|
'user_extended_struct_required' => (int) $required,
|
||||||
'user_extended_struct_signup' => '',
|
'user_extended_struct_signup' => '0',
|
||||||
'user_extended_struct_applicable' => '',
|
'user_extended_struct_applicable' => (int) $applicable,
|
||||||
'user_extended_struct_order' => '',
|
'user_extended_struct_order' => (int) $order,
|
||||||
'user_extended_struct_parent' => ''
|
'user_extended_struct_parent' => (int) $parent
|
||||||
);
|
);
|
||||||
*/
|
|
||||||
|
|
||||||
if(!$this->user_extended_field_exist($name))
|
if(!$this->user_extended_field_exist($name))
|
||||||
{
|
{
|
||||||
$sql->insert('user_extended_struct',"null,'".$tp -> toDB($name, true)."','".$tp -> toDB($text, true)."','".intval($type)."','".$tp -> toDB($parms, true)."','".$tp -> toDB($values, true)."', '".$tp -> toDB($default, true)."', '".intval($read)."', '".intval($write)."', '".intval($required)."', '0', '".intval($applicable)."', '".intval($order)."', '".intval($parent)."'");
|
$sql->insert('user_extended_struct', $extStructInsert);
|
||||||
|
|
||||||
|
// $sql->insert('user_extended_struct',"null,'".$tp -> toDB($name, true)."','".$tp -> toDB($text, true)."','".intval($type)."','".$tp -> toDB($parms, true)."','".$tp -> toDB($values, true)."', '".$tp -> toDB($default, true)."', '".intval($read)."', '".intval($write)."', '".intval($required)."', '0', '".intval($applicable)."', '".intval($order)."', '".intval($parent)."'");
|
||||||
}
|
}
|
||||||
|
|
||||||
if($this->user_extended_field_exist($name))
|
if($this->user_extended_field_exist($name))
|
||||||
@@ -827,6 +883,8 @@ class e107_user_extended
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
echo $sql->getLastErrorText()."\n\n";
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1289,7 +1347,7 @@ class e107_user_extended
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Proxy Method to retrieve the value of an extended field
|
* Replacement Method for user_extended_getvalue(); Returns extended field data in the original posted format.
|
||||||
* @param int $uid
|
* @param int $uid
|
||||||
* @param string $field_name
|
* @param string $field_name
|
||||||
* @param mixed $ifnotset [optional]
|
* @param mixed $ifnotset [optional]
|
||||||
@@ -1297,7 +1355,39 @@ class e107_user_extended
|
|||||||
*/
|
*/
|
||||||
function get($uid, $field_name, $ifnotset=false)
|
function get($uid, $field_name, $ifnotset=false)
|
||||||
{
|
{
|
||||||
return $this->user_extended_getvalue($uid, $field_name, $ifnotset);
|
|
||||||
|
$uid = (int) $uid;
|
||||||
|
|
||||||
|
if(strpos($field_name, 'user_') !== 0)
|
||||||
|
{
|
||||||
|
$field_name = 'user_' . $field_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
$uinfo = e107::user($uid);
|
||||||
|
|
||||||
|
if(!isset($uinfo[$field_name]))
|
||||||
|
{
|
||||||
|
return $ifnotset;
|
||||||
|
}
|
||||||
|
|
||||||
|
$type = $this->getDbFieldType($field_name);
|
||||||
|
|
||||||
|
switch($type)
|
||||||
|
{
|
||||||
|
case "int":
|
||||||
|
$ret = (int) $uinfo[$field_name];
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "array":
|
||||||
|
$ret = e107::unserialize($uinfo[$field_name]); // code
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
$ret = $uinfo[$field_name];
|
||||||
|
// code to be executed if n is different from all labels;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1336,6 +1426,12 @@ class e107_user_extended
|
|||||||
$tp = e107::getParser();
|
$tp = e107::getParser();
|
||||||
|
|
||||||
$uid = (int)$uid;
|
$uid = (int)$uid;
|
||||||
|
|
||||||
|
$target = array('data' => array('user_'.$field_name => $newvalue));
|
||||||
|
$this->addFieldTypes($target);
|
||||||
|
|
||||||
|
$fieldType = isset($target['_FIELD_TYPES']['user_'.$field_name]) ? $target['_FIELD_TYPES']['user_'.$field_name] : $fieldType;
|
||||||
|
|
||||||
switch($fieldType)
|
switch($fieldType)
|
||||||
{
|
{
|
||||||
case 'int':
|
case 'int':
|
||||||
@@ -1346,20 +1442,43 @@ class e107_user_extended
|
|||||||
$newvalue = "'".$sql->escape($newvalue)."'";
|
$newvalue = "'".$sql->escape($newvalue)."'";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'array':
|
||||||
|
if(is_array($newvalue))
|
||||||
|
{
|
||||||
|
$newvalue = "'".e107::serialize($newvalue, true)."'";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$newvalue = "'". (string) $newvalue."'";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
$newvalue = "'".$tp->toDB($newvalue)."'";
|
$newvalue = "'".$tp->toDB($newvalue)."'";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(substr($field_name, 0, 5) != 'user_')
|
|
||||||
|
if(strpos($field_name, 'user_') !== 0)
|
||||||
{
|
{
|
||||||
$field_name = 'user_'.$field_name;
|
$field_name = 'user_'.$field_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$qry = "
|
$qry = "
|
||||||
INSERT INTO `#user_extended` (user_extended_id, {$field_name})
|
INSERT INTO `#user_extended` (user_extended_id, {$field_name})
|
||||||
VALUES ({$uid}, {$newvalue})
|
VALUES ({$uid}, {$newvalue})
|
||||||
ON DUPLICATE KEY UPDATE {$field_name} = {$newvalue}
|
ON DUPLICATE KEY UPDATE {$field_name} = {$newvalue}
|
||||||
";
|
";
|
||||||
return $sql->gen($qry);
|
|
||||||
|
if(!$result = $sql->gen($qry))
|
||||||
|
{
|
||||||
|
$this->lastError = $sql->getLastErrorText();
|
||||||
|
echo (ADMIN) ? $this->lastError : '';
|
||||||
|
}
|
||||||
|
|
||||||
|
e107::setRegistry('core/e107/user/'.$uid); // reset the registry since the values changed.
|
||||||
|
|
||||||
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1376,13 +1495,21 @@ class e107_user_extended
|
|||||||
*/
|
*/
|
||||||
function user_extended_getvalue($uid, $field_name, $ifnotset=false)
|
function user_extended_getvalue($uid, $field_name, $ifnotset=false)
|
||||||
{
|
{
|
||||||
$uid = intval($uid);
|
|
||||||
if(substr($field_name, 0, 5) != 'user_')
|
$uid = (int) $uid;
|
||||||
|
|
||||||
|
if(strpos($field_name, 'user_') !== 0)
|
||||||
{
|
{
|
||||||
$field_name = 'user_'.$field_name;
|
$field_name = 'user_' . $field_name;
|
||||||
}
|
}
|
||||||
|
|
||||||
$uinfo = e107::user($uid);
|
$uinfo = e107::user($uid);
|
||||||
if (!isset($uinfo[$field_name])) return $ifnotset;
|
|
||||||
|
if(!isset($uinfo[$field_name]))
|
||||||
|
{
|
||||||
|
return $ifnotset;
|
||||||
|
}
|
||||||
|
|
||||||
return $uinfo[$field_name];
|
return $uinfo[$field_name];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -29,15 +29,14 @@
|
|||||||
$this->assertTrue(false, "Couldn't load e107_user_extended object");
|
$this->assertTrue(false, "Couldn't load e107_user_extended object");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$this->ue->__construct();
|
$this->ue->__construct();
|
||||||
|
|
||||||
$this->typeArray = array(
|
$this->typeArray = array(
|
||||||
'text' => EUF_TEXT,
|
'text' => EUF_TEXT,
|
||||||
|
'homepage' => EUF_TEXT,
|
||||||
'radio' => EUF_RADIO,
|
'radio' => EUF_RADIO,
|
||||||
'dropdown' => EUF_DROPDOWN,
|
'dropdown' => EUF_DROPDOWN,
|
||||||
'db field' => EUF_DB_FIELD,
|
'dbfield' => EUF_DB_FIELD,
|
||||||
'textarea' => EUF_TEXTAREA,
|
'textarea' => EUF_TEXTAREA,
|
||||||
'integer' => EUF_INTEGER,
|
'integer' => EUF_INTEGER,
|
||||||
'date' => EUF_DATE,
|
'date' => EUF_DATE,
|
||||||
@@ -50,18 +49,205 @@
|
|||||||
'richtextarea' => EUF_RICHTEXTAREA,
|
'richtextarea' => EUF_RICHTEXTAREA,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$this->structValues = array(
|
||||||
|
'dropdown' => 'drop1,drop2,drop3',
|
||||||
|
'dbfield' => 'core_media_cat,media_cat_id,media_cat_title,media_cat_order',
|
||||||
|
'list' => 'timezones',
|
||||||
|
'radio' => 'M => UE_LAN_MALE,F => UE_LAN_FEMALE',
|
||||||
|
'checkbox' => 'check1,check2,check3'
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->structDefault = array(
|
||||||
|
'dropdown' => 'drop2',
|
||||||
|
'dbfield' => '3',
|
||||||
|
// 'list' => 'timezones',
|
||||||
|
'radio' => 'F',
|
||||||
|
'checkbox' => 'check2'
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
// Add a field of each type.
|
// Add a field of each type.
|
||||||
foreach($this->typeArray as $k=>$v)
|
foreach($this->typeArray as $k=>$v)
|
||||||
{
|
{
|
||||||
$this->ue->user_extended_add($k, ucfirst($k), $v );
|
$value = (isset($this->structValues[$k])) ? $this->structValues[$k] : null;
|
||||||
|
|
||||||
|
$insert = array(
|
||||||
|
'name' => $k,
|
||||||
|
'text' => ucfirst($k),
|
||||||
|
'type' => $v,
|
||||||
|
'parms' => null,
|
||||||
|
'values' => (isset($this->structValues[$k])) ? $this->structValues[$k] : null,
|
||||||
|
'default' => (isset($this->structDefault[$k])) ? $this->structDefault[$k] : null,
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->ue->user_extended_add($insert);
|
||||||
|
// $this->ue->user_extended_add($k, ucfirst($k), $v , null, $value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// As $_POSTED.
|
||||||
|
$this->userValues = array(
|
||||||
|
'text' => 'Some Text',
|
||||||
|
'homepage' => 'https://e107.org',
|
||||||
|
'radio' => 'M',
|
||||||
|
'dropdown' => 'drop3',
|
||||||
|
'dbfield' => '5',
|
||||||
|
'textarea' => 'Text area value',
|
||||||
|
'integer' => 21,
|
||||||
|
'date' => '2001-01-11',
|
||||||
|
'language' => 'English',
|
||||||
|
'list' => 'America/Aruba',
|
||||||
|
'checkbox' => array ( 0 => 'value2', 1 => 'value3'),
|
||||||
|
'predefined' => 'predefined', // Used in plugin installation routine.
|
||||||
|
// 'addon' => EUF_ADDON,
|
||||||
|
'country' => 'us',
|
||||||
|
'richtextarea' => '<b>Rich text</b>',
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$this->ue->init();
|
$this->ue->init();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testSetGet()
|
||||||
|
{
|
||||||
|
// set them all first.
|
||||||
|
foreach($this->userValues as $field => $value)
|
||||||
|
{
|
||||||
|
$this->ue->set(1, $field, $value); // set user extended value for user_id: 1.
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach($this->userValues as $field => $value)
|
||||||
|
{
|
||||||
|
$result = $this->ue->get(1, $field); // retrieve value for $field of user_id: 1.
|
||||||
|
$this->assertSame($this->userValues[$field], $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test the {USER_EXTENDED} shortcode.
|
||||||
|
*/
|
||||||
|
public function testUserExtendedShortcode()
|
||||||
|
{
|
||||||
|
foreach($this->userValues as $field => $value)
|
||||||
|
{
|
||||||
|
$this->ue->set(1, $field, $value); // set user extended value for user_id: 1.
|
||||||
|
}
|
||||||
|
|
||||||
|
$legacyExpectedValues = array (
|
||||||
|
'text' => 'Some Text',
|
||||||
|
'homepage' => 'https://e107.org',
|
||||||
|
'radio' => 'M',
|
||||||
|
'dropdown' => 'drop3',
|
||||||
|
'dbfield' => 'News',
|
||||||
|
'textarea' => 'Text area value',
|
||||||
|
'integer' => '21',
|
||||||
|
'date' => '2001-01-11',
|
||||||
|
'language' => 'English',
|
||||||
|
'list' => 'America/Aruba (-04:00)',
|
||||||
|
'checkbox' => 'value2, value3',
|
||||||
|
'predefined' => 'predefined',
|
||||||
|
'country' => 'United States',
|
||||||
|
'richtextarea' => '<b>Rich text</b>',
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
$tp = e107::getParser();
|
||||||
|
|
||||||
|
foreach($this->userValues as $field => $value)
|
||||||
|
{
|
||||||
|
$parm = $field.'.value.1';
|
||||||
|
$result = $tp->parseTemplate('{USER_EXTENDED='.$parm.'}', true); // retrieve value for $field of user_id: 1.
|
||||||
|
$this->assertEquals($legacyExpectedValues[$field], $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$legacyExpectedLabels = array (
|
||||||
|
'text' => 'Text',
|
||||||
|
'homepage' => 'Homepage',
|
||||||
|
'radio' => 'Radio',
|
||||||
|
'dropdown' => 'Dropdown',
|
||||||
|
'dbfield' => 'Dbfield',
|
||||||
|
'textarea' => 'Textarea',
|
||||||
|
'integer' => 'Integer',
|
||||||
|
'date' => 'Date',
|
||||||
|
'language' => 'Language',
|
||||||
|
'list' => 'List',
|
||||||
|
'checkbox' => 'Checkbox',
|
||||||
|
'predefined' => 'Predefined',
|
||||||
|
'country' => 'Country',
|
||||||
|
'richtextarea' => 'Richtextarea',
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach($this->userValues as $field => $value)
|
||||||
|
{
|
||||||
|
$parm = $field.'.text.1';
|
||||||
|
$result = $tp->parseTemplate('{USER_EXTENDED='.$parm.'}', true); // retrieve value for $field of user_id: 1.
|
||||||
|
$this->assertEquals($legacyExpectedLabels[$field], $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$legacyExpectedLabelValues = array (
|
||||||
|
'text' => 'Text: Some Text',
|
||||||
|
'homepage' => 'Homepage: https://e107.org',
|
||||||
|
'radio' => 'Radio: M',
|
||||||
|
'dropdown' => 'Dropdown: drop3',
|
||||||
|
'dbfield' => 'Dbfield: News',
|
||||||
|
'textarea' => 'Textarea: Text area value',
|
||||||
|
'integer' => 'Integer: 21',
|
||||||
|
'date' => 'Date: 2001-01-11',
|
||||||
|
'language' => 'Language: English',
|
||||||
|
'list' => 'List: America/Aruba (-04:00)',
|
||||||
|
'checkbox' => 'Checkbox: value2, value3',
|
||||||
|
'predefined' => 'Predefined: predefined',
|
||||||
|
'country' => 'Country: United States',
|
||||||
|
'richtextarea' => 'Richtextarea: <b>Rich text</b>',
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach($this->userValues as $field => $value)
|
||||||
|
{
|
||||||
|
$parm = $field.'.text_value.1';
|
||||||
|
$result = $tp->parseTemplate('{USER_EXTENDED='.$parm.'}', true); // retrieve value for $field of user_id: 1.
|
||||||
|
$this->assertEquals($legacyExpectedLabelValues[$field], $result);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$legacyExpectedIcons = array (
|
||||||
|
'text' => '',
|
||||||
|
'homepage' => 'e107_images/user_icons/user_homepage.png\' style=\'width:16px; height:16px\' alt=\'\' />',
|
||||||
|
'radio' => '',
|
||||||
|
'dropdown' => '',
|
||||||
|
'dbfield' => '',
|
||||||
|
'textarea' => '',
|
||||||
|
'integer' => '',
|
||||||
|
'date' => '',
|
||||||
|
'language' => '',
|
||||||
|
'list' => '',
|
||||||
|
'checkbox' => '',
|
||||||
|
'predefined' => '',
|
||||||
|
'country' => '',
|
||||||
|
'richtextarea' => '',
|
||||||
|
|
||||||
|
);
|
||||||
|
|
||||||
|
foreach($this->userValues as $field => $value)
|
||||||
|
{
|
||||||
|
$parm = $field.'.icon.1';
|
||||||
|
$result = $tp->parseTemplate('{USER_EXTENDED='.$parm.'}', true); // retrieve value for $field of user_id: 1.
|
||||||
|
$this->assertStringContainsString($legacyExpectedIcons[$field], $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public function testGetStructure()
|
public function testGetStructure()
|
||||||
{
|
{
|
||||||
e107::setRegistry('core/userextended/structure'); // clear the registry.
|
e107::setRegistry('core/userextended/structure'); // clear the registry.
|
||||||
@@ -133,7 +319,7 @@
|
|||||||
'user_text' => "Some text",
|
'user_text' => "Some text",
|
||||||
'user_radio' => "1",
|
'user_radio' => "1",
|
||||||
'user_dropdown' => "drop-value-1",
|
'user_dropdown' => "drop-value-1",
|
||||||
'user_db field' => "extra",
|
'user_dbfield' => "extra",
|
||||||
'user_textarea' => "Some text",
|
'user_textarea' => "Some text",
|
||||||
'user_integer' => "3",
|
'user_integer' => "3",
|
||||||
'user_date' => "2000-01-03",
|
'user_date' => "2000-01-03",
|
||||||
@@ -152,7 +338,7 @@
|
|||||||
'user_text' => 'Some text',
|
'user_text' => 'Some text',
|
||||||
'user_radio' => '1',
|
'user_radio' => '1',
|
||||||
'user_dropdown' => 'drop-value-1',
|
'user_dropdown' => 'drop-value-1',
|
||||||
'user_db field' => 'extra',
|
'user_dbfield' => 'extra',
|
||||||
'user_textarea' => 'Some text',
|
'user_textarea' => 'Some text',
|
||||||
'user_integer' => 3,
|
'user_integer' => 3,
|
||||||
'user_date' => '2000-01-03',
|
'user_date' => '2000-01-03',
|
||||||
@@ -236,12 +422,39 @@
|
|||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
public function testAddFieldTypes()
|
public function testAddFieldTypes()
|
||||||
{
|
{
|
||||||
|
$data = array();
|
||||||
|
foreach($this->userValues as $k=>$v)
|
||||||
|
{
|
||||||
|
$data['user_'.$k] = $v;
|
||||||
|
}
|
||||||
|
|
||||||
|
$target = array('data'=>$data);
|
||||||
|
$this->ue->addFieldTypes($target);
|
||||||
|
|
||||||
|
$this->assertNotEmpty($target['_FIELD_TYPES']);
|
||||||
|
|
||||||
|
$expected = array (
|
||||||
|
'user_text' => 'todb',
|
||||||
|
'user_homepage' => 'todb',
|
||||||
|
'user_radio' => 'todb',
|
||||||
|
'user_dropdown' => 'todb',
|
||||||
|
'user_dbfield' => 'todb',
|
||||||
|
'user_textarea' => 'todb',
|
||||||
|
'user_integer' => 'int',
|
||||||
|
'user_date' => 'todb',
|
||||||
|
'user_language' => 'todb',
|
||||||
|
'user_list' => 'todb',
|
||||||
|
'user_checkbox' => 'array',
|
||||||
|
'user_richtextarea' => 'todb',
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->assertSame($expected, $target['_FIELD_TYPES']);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
public function testUser_extended_setvalue()
|
public function testUser_extended_setvalue()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user