mirror of
https://github.com/e107inc/e107.git
synced 2025-07-30 11:20:25 +02:00
#1775 - Added Rich Textarea (WYSIYWG) for EUF
Initial commit. Needs testing as saving linebreaks is not working properly yet. Perhaps due to filter in /usersettings.php.
This commit is contained in:
@@ -196,6 +196,9 @@
|
||||
case EUF_PREDEFINED : // Predefined field - have to look up display string in relevant file
|
||||
$ret_data = e107::getUserExt()->user_extended_display_text($ueStruct['user_'.$parms[0]]['user_extended_struct_values'],$uVal);
|
||||
break;
|
||||
case EUF_RICHTEXTAREA :
|
||||
$ret_data = e107::getParser()->toHTML($uVal);
|
||||
break;
|
||||
default :
|
||||
$ret_data = $uVal;
|
||||
}
|
||||
|
@@ -8,18 +8,11 @@
|
||||
*
|
||||
* Extended user field handler
|
||||
*
|
||||
* $URL$
|
||||
* $Id$
|
||||
*
|
||||
*/
|
||||
|
||||
if (!defined('e107_INIT')) { exit; }
|
||||
|
||||
/**
|
||||
* @package e107
|
||||
* @subpackage e107_handlers
|
||||
* @version $Id$;
|
||||
*
|
||||
* Extended user field handler
|
||||
*
|
||||
* @todo: - change some routines to access the cached variables rather than DB
|
||||
@@ -42,7 +35,7 @@ e107::coreLan('user_extended');
|
||||
class e107_user_extended
|
||||
{
|
||||
public $user_extended_types; // Text description corresponding to each field type
|
||||
private $extended_xml = FALSE;
|
||||
private $extended_xml = FALSE;
|
||||
public $typeArray; // Cross-reference between names of field types, and numeric ID (must be public)
|
||||
private $reserved_names; // List of field names used in main user DB - not allowed in extended DB
|
||||
public $fieldDefinitions = array(); // Array initialised from DB by constructor - currently all fields
|
||||
@@ -50,7 +43,7 @@ class e107_user_extended
|
||||
private $nameIndex = array(); // Array for field name lookup - initialised by constructor
|
||||
public $systemCount = 0; // Count of system fields - always zero ATM
|
||||
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.
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
@@ -68,6 +61,7 @@ class e107_user_extended
|
||||
define('EUF_PREFIELD',11); // should be EUF_PREDEFINED, useful when creating fields from e.g. plugin XML
|
||||
define('EUF_ADDON', 12); // defined within e_user.php addon @todo
|
||||
define('EUF_COUNTRY', 13); // $frm->country()
|
||||
define('EUF_RICHTEXTAREA', 14); // $frm->bbarea()
|
||||
|
||||
$this->typeArray = array(
|
||||
'text' => EUF_TEXT,
|
||||
@@ -83,21 +77,24 @@ class e107_user_extended
|
||||
'predefined' => EUF_PREFIELD, // DON'T USE IT IN PREDEFINED FIELD XML!!! Used in plugin installation routine.
|
||||
'addon' => EUF_ADDON,
|
||||
'country' => EUF_COUNTRY,
|
||||
'richtextarea' => EUF_RICHTEXTAREA,
|
||||
);
|
||||
|
||||
$this->user_extended_types = array(
|
||||
1 => UE_LAN_1,
|
||||
2 => UE_LAN_2,
|
||||
3 => UE_LAN_3,
|
||||
4 => UE_LAN_4,
|
||||
5 => UE_LAN_5,
|
||||
6 => UE_LAN_6,
|
||||
7 => LAN_DATE,
|
||||
8 => UE_LAN_8,
|
||||
9 => UE_LAN_9,
|
||||
10=> UE_LAN_10,
|
||||
13=> UE_LAN_13
|
||||
1 => UE_LAN_1,
|
||||
2 => UE_LAN_2,
|
||||
3 => UE_LAN_3,
|
||||
4 => UE_LAN_4,
|
||||
5 => UE_LAN_5,
|
||||
14 => UE_LAN_14,
|
||||
6 => UE_LAN_6,
|
||||
7 => LAN_DATE,
|
||||
8 => UE_LAN_8,
|
||||
9 => UE_LAN_9,
|
||||
10 => UE_LAN_10,
|
||||
13 => UE_LAN_13,
|
||||
// 12=> UE_LAN_10
|
||||
|
||||
);
|
||||
|
||||
//load array with field names from main user table, so we can disallow these
|
||||
@@ -193,6 +190,7 @@ class e107_user_extended
|
||||
case EUF_TEXT :
|
||||
case EUF_DB_FIELD :
|
||||
case EUF_TEXTAREA :
|
||||
case EUF_RICHTEXTAREA :
|
||||
case EUF_DROPDOWN :
|
||||
case EUF_DATE :
|
||||
case EUF_LANGUAGE :
|
||||
@@ -236,6 +234,7 @@ class e107_user_extended
|
||||
case EUF_TEXT :
|
||||
case EUF_DB_FIELD :
|
||||
case EUF_TEXTAREA :
|
||||
case EUF_RICHTEXTAREA :
|
||||
case EUF_DROPDOWN :
|
||||
case EUF_DATE :
|
||||
case EUF_LANGUAGE :
|
||||
@@ -551,6 +550,7 @@ class e107_user_extended
|
||||
break;
|
||||
|
||||
case EUF_TEXTAREA:
|
||||
case EUF_RICHTEXTAREA :
|
||||
case EUF_CHECKBOX :
|
||||
$db_type = 'TEXT';
|
||||
break;
|
||||
@@ -561,7 +561,6 @@ class e107_user_extended
|
||||
case EUF_DB_FIELD :
|
||||
case EUF_LANGUAGE :
|
||||
case EUF_PREDEFINED :
|
||||
|
||||
$db_type = 'VARCHAR(255)';
|
||||
break;
|
||||
|
||||
@@ -579,7 +578,7 @@ class e107_user_extended
|
||||
break;
|
||||
|
||||
}
|
||||
if($type != EUF_DB_FIELD && ($type != EUF_TEXTAREA) && ($type != EUF_CHECKBOX) && !empty($default))
|
||||
if($type != EUF_DB_FIELD && ($type != EUF_TEXTAREA) && ($type != EUF_RICHTEXTAREA) && ($type != EUF_CHECKBOX) && !empty($default))
|
||||
{
|
||||
$default_text = " DEFAULT '".$tp -> toDB($default, true)."'";
|
||||
}
|
||||
@@ -590,8 +589,6 @@ class e107_user_extended
|
||||
|
||||
|
||||
return $db_type.$default_text;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -956,6 +953,9 @@ class e107_user_extended
|
||||
return "<textarea id='{$fid}' {$include} name='{$fname}' {$required} {$title}>{$curval}</textarea>";
|
||||
break;
|
||||
|
||||
case EUF_RICHTEXTAREA : // rich textarea (using WYSIWYG editor)
|
||||
return e107::getForm()->bbarea($fname, $curval);
|
||||
|
||||
case EUF_DATE : //date
|
||||
|
||||
if($curval == '0000-00-00') // Quick datepicker fix.
|
||||
@@ -1247,6 +1247,9 @@ class e107_user_extended
|
||||
return $value;
|
||||
break;
|
||||
|
||||
case EUF_RICHTEXTAREA:
|
||||
return e107::getParser()->toHTML($value);
|
||||
break;
|
||||
|
||||
default:
|
||||
return $value;
|
||||
|
@@ -22,6 +22,8 @@ define("UE_LAN_9", "Predefined list");
|
||||
define("UE_LAN_10", "Checkboxes");
|
||||
//v2.1.5
|
||||
define("UE_LAN_13", "Country");
|
||||
//v2.2.2
|
||||
define("UE_LAN_14", "Rich Textarea (WYSIWYG)");
|
||||
|
||||
// Leave a gap to allow for more field types
|
||||
define("UE_LAN_21", "Name");
|
||||
|
Reference in New Issue
Block a user