mirror of
https://github.com/e107inc/e107.git
synced 2025-07-31 20:00:37 +02:00
admin UI: more improvements and bugfixes
This commit is contained in:
@@ -9,9 +9,9 @@
|
|||||||
* Image Administration Area
|
* Image Administration Area
|
||||||
*
|
*
|
||||||
* $Source: /cvs_backup/e107_0.8/e107_admin/image.php,v $
|
* $Source: /cvs_backup/e107_0.8/e107_admin/image.php,v $
|
||||||
* $Revision: 1.31 $
|
* $Revision: 1.32 $
|
||||||
* $Date: 2009-11-17 09:17:08 $
|
* $Date: 2009-11-17 15:23:01 $
|
||||||
* $Author: marj_nl_fr $
|
* $Author: secretr $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
require_once("../class2.php");
|
require_once("../class2.php");
|
||||||
@@ -162,7 +162,7 @@ class media_admin_ui extends e_admin_ui
|
|||||||
* Invoked just before item create event
|
* Invoked just before item create event
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function beforeCreate()
|
public function beforeCreate($new_data)
|
||||||
{
|
{
|
||||||
// return data to be merged with posted model data
|
// return data to be merged with posted model data
|
||||||
return $this->observeUploaded();
|
return $this->observeUploaded();
|
||||||
@@ -172,7 +172,7 @@ class media_admin_ui extends e_admin_ui
|
|||||||
* Same as beforeCreate() but invoked on edit
|
* Same as beforeCreate() but invoked on edit
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public function beforeUpdate()
|
public function beforeUpdate($new_data, $old_data, $id)
|
||||||
{
|
{
|
||||||
// return data to be merged with posted model data
|
// return data to be merged with posted model data
|
||||||
return $this->observeUploaded();
|
return $this->observeUploaded();
|
||||||
@@ -266,12 +266,12 @@ class media_admin_ui extends e_admin_ui
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function beforeDelete($id) // call before 'delete' is executed. - return false to prevent delete execution (e.g. some dependencies check)
|
function beforeDelete($data, $id) // call before 'delete' is executed. - return false to prevent delete execution (e.g. some dependencies check)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function afterDelete($deleted_data) // call after 'delete' is successfully executed. - delete the file with the db record (optional pref)
|
function afterDelete($deleted_data, $id) // call after 'delete' is successfully executed. - delete the file with the db record (optional pref)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@@ -9,8 +9,8 @@
|
|||||||
* Administration UI handlers, admin helper functions
|
* Administration UI handlers, admin helper functions
|
||||||
*
|
*
|
||||||
* $Source: /cvs_backup/e107_0.8/e107_handlers/admin_handler.php,v $
|
* $Source: /cvs_backup/e107_0.8/e107_handlers/admin_handler.php,v $
|
||||||
* $Revision: 1.28 $
|
* $Revision: 1.29 $
|
||||||
* $Date: 2009-11-16 12:23:07 $
|
* $Date: 2009-11-17 15:23:00 $
|
||||||
* $Author: secretr $
|
* $Author: secretr $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -2027,6 +2027,9 @@ class e_admin_controller_ui extends e_admin_controller
|
|||||||
*/
|
*/
|
||||||
protected $pluginName;
|
protected $pluginName;
|
||||||
|
|
||||||
|
|
||||||
|
protected $batchDelete = true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Could be LAN constant (mulit-language support)
|
* Could be LAN constant (mulit-language support)
|
||||||
* @var string plugin name
|
* @var string plugin name
|
||||||
@@ -2059,6 +2062,11 @@ class e_admin_controller_ui extends e_admin_controller
|
|||||||
*/
|
*/
|
||||||
protected $_pref = null;
|
protected $_pref = null;
|
||||||
|
|
||||||
|
public function getBatchDelete()
|
||||||
|
{
|
||||||
|
return $this->batchDelete;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
@@ -2503,14 +2511,14 @@ class e_admin_controller_ui extends e_admin_controller
|
|||||||
case 'datestamp':
|
case 'datestamp':
|
||||||
if(!is_numeric($data[$key]))
|
if(!is_numeric($data[$key]))
|
||||||
{
|
{
|
||||||
$data[$key] = e107::getDateConvert()->toTime($data[$key], 'input');
|
$data[$key] = trim($data[$key]) ? e107::getDateConvert()->toTime($data[$key], 'input') : 0;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'ip': // TODO - ask Steve if this check is required
|
case 'ip': // TODO - ask Steve if this check is required
|
||||||
if(strpos($data[$key], '.') !== FALSE)
|
if(strpos($data[$key], '.') !== FALSE)
|
||||||
{
|
{
|
||||||
$data[$key] = e107::getInstance()->ipEncode($data[$key]);
|
$data[$key] = trim($data[$key]) ? e107::getInstance()->ipEncode($data[$key]) : '';
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -2833,30 +2841,52 @@ class e_admin_controller_ui extends e_admin_controller
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Manage submit item
|
* Manage submit item
|
||||||
* @param array $posted [optional] additional model data
|
* Note: $callbackBefore will break submission if returns false
|
||||||
|
*
|
||||||
|
* @param string $callbackBefore existing method from $this scope to be called before submit
|
||||||
|
* @param string $callbackAfter existing method from $this scope to be called after successfull submit
|
||||||
|
* @param string $noredirectAction passed to doAfterSubmit()
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
protected function _manageSubmit($posted = array(), $noredirectAction = '')
|
protected function _manageSubmit($callbackBefore = '', $callbackAfter = '', $noredirectAction = '')
|
||||||
{
|
{
|
||||||
// Scenario I - use request owned POST data - toForm already exeuted
|
$model = $this->getModel();
|
||||||
|
$old_data = $model->getData();
|
||||||
|
|
||||||
$_posted = $this->getPosted();
|
$_posted = $this->getPosted();
|
||||||
$this->convertToData($_posted);
|
$this->convertToData($_posted);
|
||||||
if($posted && is_array($posted))
|
|
||||||
|
if($callbackBefore && method_exists($this, $callbackBefore))
|
||||||
{
|
{
|
||||||
$_posted = array_merge($_posted, $posted);
|
$data = $this->$callbackBefore($_posted, $old_data, $model->getId());
|
||||||
|
if(false === $data)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if($data && is_array($data))
|
||||||
|
{
|
||||||
|
$_posted = array_merge($_posted, $data);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$this->getModel()->setPostedData($_posted, null, false, false)
|
|
||||||
|
// Scenario I - use request owned POST data - toForm already executed
|
||||||
|
$model->setPostedData($_posted, null, false, false)
|
||||||
->save(true);
|
->save(true);
|
||||||
// Scenario II - inner model sanitize
|
// Scenario II - inner model sanitize
|
||||||
//$this->getModel()->setPosted($this->convertToData($_POST(, null, false, true);
|
//$this->getModel()->setPosted($this->convertToData($_POST, null, false, true);
|
||||||
|
|
||||||
// Copy model messages to the default message stack
|
// Copy model messages to the default message stack
|
||||||
$this->getModel()->setMessages();
|
$model->setMessages();
|
||||||
|
|
||||||
// Take action based on use choice after success
|
// Take action based on use choice after success
|
||||||
if(!$this->getModel()->hasError())
|
if(!$this->getModel()->hasError())
|
||||||
{
|
{
|
||||||
$this->doAfterSubmit($this->getModel()->getId(), $noredirectAction);
|
// callback (if any)
|
||||||
|
if($callbackAfter && method_exists($this, $callbackAfter))
|
||||||
|
{
|
||||||
|
$this->$callbackAfter($model->getData(), $old_data, $model->getId());
|
||||||
|
}
|
||||||
|
$this->doAfterSubmit($model->getId(), $noredirectAction);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -2874,8 +2904,6 @@ class e_admin_ui extends e_admin_controller_ui
|
|||||||
protected $pid;
|
protected $pid;
|
||||||
protected $listQry;
|
protected $listQry;
|
||||||
protected $editQry;
|
protected $editQry;
|
||||||
|
|
||||||
protected $batchDelete = true;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
@@ -3020,17 +3048,17 @@ class e_admin_ui extends e_admin_controller_ui
|
|||||||
{
|
{
|
||||||
$this->triggersEnabled(false);
|
$this->triggersEnabled(false);
|
||||||
$id = intval(array_shift($posted));
|
$id = intval(array_shift($posted));
|
||||||
if($this->beforeDelete($id))
|
$data = array();
|
||||||
|
$model = $this->getTreeModel()->getNode($id);
|
||||||
|
if($model)
|
||||||
|
{
|
||||||
|
$data = $model->getData();
|
||||||
|
}
|
||||||
|
if($this->beforeDelete($data, $id))
|
||||||
{
|
{
|
||||||
$data = array();
|
|
||||||
$model = $this->getTreeModel()->getNode($id);
|
|
||||||
if($model)
|
|
||||||
{
|
|
||||||
$data = $model->getData();
|
|
||||||
}
|
|
||||||
if($this->getTreeModel()->delete($id))
|
if($this->getTreeModel()->delete($id))
|
||||||
{
|
{
|
||||||
$this->afterDelete($data);
|
$this->afterDelete($data, $id);
|
||||||
}
|
}
|
||||||
$this->getTreeModel()->setMessages();
|
$this->getTreeModel()->setMessages();
|
||||||
}
|
}
|
||||||
@@ -3039,7 +3067,7 @@ class e_admin_ui extends e_admin_controller_ui
|
|||||||
/**
|
/**
|
||||||
* User defined pre-delete logic
|
* User defined pre-delete logic
|
||||||
*/
|
*/
|
||||||
public function beforeDelete($id)
|
public function beforeDelete($data, $id)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -3047,7 +3075,7 @@ class e_admin_ui extends e_admin_controller_ui
|
|||||||
/**
|
/**
|
||||||
* User defined after-create logic
|
* User defined after-create logic
|
||||||
*/
|
*/
|
||||||
public function afterDelete($deleted_data)
|
public function afterDelete($deleted_data, $id)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3129,10 +3157,7 @@ class e_admin_ui extends e_admin_controller_ui
|
|||||||
*/
|
*/
|
||||||
public function EditSubmitTrigger()
|
public function EditSubmitTrigger()
|
||||||
{
|
{
|
||||||
if($this->_manageSubmit($this->beforeUpdate(), 'edit'))
|
$this->_manageSubmit('beforeUpdate', 'afterUpdate', 'edit');
|
||||||
{
|
|
||||||
$this->afterUpdate();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3177,37 +3202,34 @@ class e_admin_ui extends e_admin_controller_ui
|
|||||||
*/
|
*/
|
||||||
public function CreateSubmitTrigger()
|
public function CreateSubmitTrigger()
|
||||||
{
|
{
|
||||||
if($this->_manageSubmit($this->beforeCreate(), ''))
|
$this->_manageSubmit('beforeCreate', 'afterCreate');
|
||||||
{
|
|
||||||
$this->afterCreate();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* User defined pre-create logic
|
* User defined pre-create logic
|
||||||
*/
|
*/
|
||||||
public function beforeCreate()
|
public function beforeCreate($new_data, $old_data)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* User defined after-create logic
|
* User defined after-create logic
|
||||||
*/
|
*/
|
||||||
public function afterCreate()
|
public function afterCreate($new_data, $old_data, $id)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* User defined pre-update logic
|
* User defined pre-update logic
|
||||||
*/
|
*/
|
||||||
public function beforeUpdate()
|
public function beforeUpdate($new_data, $old_data, $id)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* User defined after-update logic
|
* User defined after-update logic
|
||||||
*/
|
*/
|
||||||
public function afterUpdate()
|
public function afterUpdate($new_data, $old_data, $id)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3282,11 +3304,6 @@ class e_admin_ui extends e_admin_controller_ui
|
|||||||
return ($prefix ? '#' : '').$this->table;
|
return ($prefix ? '#' : '').$this->table;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getBatchDelete()
|
|
||||||
{
|
|
||||||
return $this->batchDelete;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validation rules retrieved from controller object
|
* Validation rules retrieved from controller object
|
||||||
* @return array
|
* @return array
|
||||||
@@ -3901,7 +3918,7 @@ class e_admin_icons
|
|||||||
* @param string $extension without leading dot, default 'png'
|
* @param string $extension without leading dot, default 'png'
|
||||||
* @return string icon url without domain
|
* @return string icon url without domain
|
||||||
*/
|
*/
|
||||||
function ___I($name, $size = 16, $extension = 'png')
|
function _I($name, $size = 16, $extension = 'png')
|
||||||
{
|
{
|
||||||
return e107::getSingleton('e_admin_icons')->url($name, $size, $extension);
|
return e107::getSingleton('e_admin_icons')->url($name, $size, $extension);
|
||||||
}
|
}
|
||||||
@@ -3918,7 +3935,7 @@ function ___I($name, $size = 16, $extension = 'png')
|
|||||||
* @param string $extension default 'png'
|
* @param string $extension default 'png'
|
||||||
* @return string img tag
|
* @return string img tag
|
||||||
*/
|
*/
|
||||||
function ___ITAG($name, $size = 16, $class = '', $alt = '', $extension = 'png')
|
function _ITAG($name, $size = 16, $class = '', $alt = '', $extension = 'png')
|
||||||
{
|
{
|
||||||
return e107::getSingleton('e_admin_icons')->tag($name, $size, $class, $alt, $extension);
|
return e107::getSingleton('e_admin_icons')->tag($name, $size, $class, $alt, $extension);
|
||||||
}
|
}
|
||||||
@@ -3939,7 +3956,7 @@ function ___ITAG($name, $size = 16, $class = '', $alt = '', $extension = 'png')
|
|||||||
* @param string $extension without leading dot, default 'png'
|
* @param string $extension without leading dot, default 'png'
|
||||||
* @return string icon relative server path
|
* @return string icon relative server path
|
||||||
*/
|
*/
|
||||||
function ___IPATH($name, $size = 16, $extension = 'png')
|
function _IPATH($name, $size = 16, $extension = 'png')
|
||||||
{
|
{
|
||||||
return e107::getSingleton('e_admin_icons')->path($name, $size, $extension);
|
return e107::getSingleton('e_admin_icons')->path($name, $size, $extension);
|
||||||
}
|
}
|
||||||
@@ -3948,7 +3965,7 @@ include_once(e107::coreTemplatePath('admin_icons'));
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* TODO:
|
* TODO:
|
||||||
* 1. move abstract peaces of code to the proper classes
|
* 1. [DONE - a good start] move abstract peaces of code to the proper classes
|
||||||
* 2. [DONE - at least for alpha release] remove duplicated code (e_form & e_admin_form_ui), refactoring
|
* 2. [DONE - at least for alpha release] remove duplicated code (e_form & e_admin_form_ui), refactoring
|
||||||
* 3. make JS Manager handle Styles (.css files and inline CSS)
|
* 3. make JS Manager handle Styles (.css files and inline CSS)
|
||||||
* 4. [DONE] e_form is missing some methods used in e_admin_form_ui
|
* 4. [DONE] e_form is missing some methods used in e_admin_form_ui
|
||||||
|
@@ -9,8 +9,8 @@
|
|||||||
* Form Handler
|
* Form Handler
|
||||||
*
|
*
|
||||||
* $Source: /cvs_backup/e107_0.8/e107_handlers/form_handler.php,v $
|
* $Source: /cvs_backup/e107_0.8/e107_handlers/form_handler.php,v $
|
||||||
* $Revision: 1.81 $
|
* $Revision: 1.82 $
|
||||||
* $Date: 2009-11-15 20:24:55 $
|
* $Date: 2009-11-17 15:23:00 $
|
||||||
* $Author: secretr $
|
* $Author: secretr $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@@ -123,13 +123,15 @@ class e_form
|
|||||||
if(is_string($sc_parameters)) parse_str($sc_parameters, $sc_parameters);
|
if(is_string($sc_parameters)) parse_str($sc_parameters, $sc_parameters);
|
||||||
if(!$label) $label = LAN_SELECT;
|
if(!$label) $label = LAN_SELECT;
|
||||||
$parms = "name={$name}";
|
$parms = "name={$name}";
|
||||||
$parms .= "&path=".urlencode(e107::getParser()->replaceConstants(vartrue($sc_parameters['path'], '{e_FILE}images/')));
|
$parms .= "&path=".rawurlencode(e107::getParser()->replaceConstants(vartrue($sc_parameters['path'], '{e_FILE}images/')));
|
||||||
$parms .= "&filter=0";
|
$parms .= "&filter=0";
|
||||||
$parms .= "&fullpath=1";
|
$parms .= "&fullpath=1";
|
||||||
$parms .= "&default=".$default;
|
$parms .= "&default=".rawurlencode($default);
|
||||||
$parms .= "&multiple=FALSE";
|
$parms .= "&multiple=FALSE";
|
||||||
$parms .= "&label=-- ".$label." --";
|
$parms .= "&label=-- ".$label." --";
|
||||||
$parms .= "&subdirs=0";
|
$parms .= "&subdirs=0";
|
||||||
|
$parms .= '&width='.vartrue($sc_parameters['width'], 150).'px';
|
||||||
|
if(vartrue($sc_parameters['height'])) $parms .= '&height='.$sc_parameters['height'].'px';
|
||||||
//$parms .= "&tabindex=".$this->getNext();
|
//$parms .= "&tabindex=".$this->getNext();
|
||||||
//$parms .= "&click_target=data";
|
//$parms .= "&click_target=data";
|
||||||
//$parms .= "&click_prefix=[img][[e_IMAGE]]newspost_images/";
|
//$parms .= "&click_prefix=[img][[e_IMAGE]]newspost_images/";
|
||||||
@@ -165,7 +167,7 @@ class e_form
|
|||||||
$cal_attrib['name'] = $name;
|
$cal_attrib['name'] = $name;
|
||||||
if ($datestamp)
|
if ($datestamp)
|
||||||
{
|
{
|
||||||
$cal_attrib['value'] = e107::getDateConvert()->convert_date($datestamp, 'input'); //date("d/m/Y H:i:s", $datestamp);
|
$cal_attrib['value'] = is_numeric($datestamp) ? e107::getDateConvert()->convert_date($datestamp, 'input') : $datestamp; //date("d/m/Y H:i:s", $datestamp);
|
||||||
// var_dump('date picker', $datestamp, $cal_attrib['value'], e107::getDateConvert()->toTime($cal_attrib['value']), e107::getDateConvert()->convert_date(e107::getDateConvert()->toTime($cal_attrib['value']), 'input'));
|
// var_dump('date picker', $datestamp, $cal_attrib['value'], e107::getDateConvert()->toTime($cal_attrib['value']), e107::getDateConvert()->convert_date(e107::getDateConvert()->toTime($cal_attrib['value']), 'input'));
|
||||||
}
|
}
|
||||||
//JS manager to send JS/CSS to header if possible, if not - footer
|
//JS manager to send JS/CSS to header if possible, if not - footer
|
||||||
@@ -456,7 +458,7 @@ class e_form
|
|||||||
return $this->option($prefix.$this->_uc->uc_get_classname($classnum), $classnum, in_array($classnum, $tmp), array("style"=>"{$style}"))."\n";
|
return $this->option($prefix.$this->_uc->uc_get_classname($classnum), $classnum, in_array($classnum, $tmp), array("style"=>"{$style}"))."\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
function optgroup_open($label, $disabled)
|
function optgroup_open($label, $disabled = false)
|
||||||
{
|
{
|
||||||
return "<optgroup class='optgroup' label='{$label}'".($disabled ? " disabled='disabled'" : '').">";
|
return "<optgroup class='optgroup' label='{$label}'".($disabled ? " disabled='disabled'" : '').">";
|
||||||
}
|
}
|
||||||
@@ -927,7 +929,6 @@ class e_form
|
|||||||
|
|
||||||
foreach ($fieldarray as $field => $data)
|
foreach ($fieldarray as $field => $data)
|
||||||
{
|
{
|
||||||
|
|
||||||
//Not found
|
//Not found
|
||||||
if((!varset($data['forced']) && !in_array($field, $currentlist)) || varset($data['nolist']))
|
if((!varset($data['forced']) && !in_array($field, $currentlist)) || varset($data['nolist']))
|
||||||
{
|
{
|
||||||
@@ -1092,12 +1093,17 @@ class e_form
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'image': //TODO - thumb, js tooltip...
|
case 'image': //TODO - thumb, js tooltip...
|
||||||
$ttl = vartrue($parms['title'], 'LAN_PREVIEW');
|
if($value)
|
||||||
$value = '<a href="'.$tp->replaceConstants(vartrue($parms['pre']).$value, 'abs').'" title="'.basename($value).'">'.defset($ttl, $ttl).'</a>';
|
{
|
||||||
|
$src = $tp->replaceConstants(vartrue($parms['pre']).$value, 'abs');
|
||||||
|
$alt = $src; //basename($value);
|
||||||
|
$ttl = vartrue($parms['thumb']) ? '<img src="'.$src.'" alt="'.$alt.'" style="width: '.(is_numeric($parms['thumb']) ? $parms['thumb'] : 80).'px" />' : vartrue($parms['title'], 'LAN_PREVIEW');
|
||||||
|
$value = '<a href="'.$src.'" class="e-image-preview" title="'.$alt.'" rel="external">'.defset($ttl, $ttl).'</a>';
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'datestamp':
|
case 'datestamp':
|
||||||
$value = e107::getDateConvert()->convert_date($value, vartrue($parms['mask'], 'short'));
|
$value = $value ? e107::getDateConvert()->convert_date($value, vartrue($parms['mask'], 'short')) : '';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'userclass':
|
case 'userclass':
|
||||||
@@ -1133,9 +1139,29 @@ class e_form
|
|||||||
}
|
}
|
||||||
}*/
|
}*/
|
||||||
// Dirty, but the only way for now
|
// Dirty, but the only way for now
|
||||||
if(vartrue($parms['__idval']) && vartrue($parms['link']))
|
$id = 0;
|
||||||
|
$ttl = '';
|
||||||
|
if(vartrue($parms['link']))
|
||||||
{
|
{
|
||||||
$value = '<a href="'.e107::getUrl()->createCoreUser('func=profile&id='.intval($parms['__idval'])).'" title="Go to user profile">'.$value.'</a>';
|
$id = vartrue($parms['__idval']);
|
||||||
|
if($value && !is_numeric($value))
|
||||||
|
{
|
||||||
|
$id = vartrue($parms['__idval']);
|
||||||
|
$ttl = $value;
|
||||||
|
}
|
||||||
|
elseif($value && is_numeric($value))
|
||||||
|
{
|
||||||
|
$id = $value;
|
||||||
|
$ttl = vartrue($parms['__titleval']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if($id && $ttl && is_numeric($id))
|
||||||
|
{
|
||||||
|
$value = '<a href="'.e107::getUrl()->createCoreUser('func=profile&id='.intval($id)).'" title="Go to user profile">'.$ttl.'</a>';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$value = $ttl;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -1157,6 +1183,10 @@ class e_form
|
|||||||
$value = call_user_func_array(array($this, $method), array($value, 'read', $parms));
|
$value = call_user_func_array(array($this, $method), array($value, 'read', $parms));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'hidden':
|
||||||
|
return (vartrue($parms['show']) ? ($value ? $value : vartrue($parms['empty'])) : '');
|
||||||
|
break;
|
||||||
|
|
||||||
//TODO - order
|
//TODO - order
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@@ -1203,11 +1233,11 @@ class e_form
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 'textarea':
|
case 'textarea':
|
||||||
return $this->textarea($key, $value, vartrue($parms['rows'], 5), vartrue($parms['cols'], 40), vartrue($parms['__options']), vartrue($parms['counter'], false));
|
return $this->textarea($key, $value, vartrue($parms['rows'], 5), vartrue($parms['cols'], 40), vartrue($parms['__options']), varset($parms['counter'], false));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'bbarea':
|
case 'bbarea':
|
||||||
return $this->bbarea($key, $value, vartrue($parms['help']), vartrue($parms['helptag']), vartrue($parms['size'], 'medium'), vartrue($parms['counter'], false));
|
return $this->bbarea($key, $value, vartrue($parms['help']), vartrue($parms['helptag']), vartrue($parms['size'], 'medium'), varset($parms['counter'], false));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'image': //TODO - thumb, image list shortcode, js tooltip...
|
case 'image': //TODO - thumb, image list shortcode, js tooltip...
|
||||||
@@ -1287,9 +1317,14 @@ class e_form
|
|||||||
return call_user_func_array(array($this, $key), array($value, 'write', $parms));
|
return call_user_func_array(array($this, $key), array($value, 'write', $parms));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'upload':
|
case 'upload': //TODO - from method
|
||||||
return $tp->parseTemplate("{UPLOADFILE=".e_UPLOAD."}");
|
return $tp->parseTemplate("{UPLOADFILE=".e_UPLOAD."}");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'hidden':
|
||||||
|
$ret = (vartrue($parms['show']) ? ($value ? $value : vartrue($parms['empty'])) : '');
|
||||||
|
return $ret.$this->hidden($key, $value);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return $value;
|
return $value;
|
||||||
@@ -1370,6 +1405,7 @@ class e_form
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
foreach($tree as $model)
|
foreach($tree as $model)
|
||||||
{
|
{
|
||||||
$text .= $this->renderTableRow($fields, $current_fields, $model->getData(), $options['pid']);
|
$text .= $this->renderTableRow($fields, $current_fields, $model->getData(), $options['pid']);
|
||||||
|
@@ -9,8 +9,8 @@
|
|||||||
* e107 Base Model
|
* e107 Base Model
|
||||||
*
|
*
|
||||||
* $Source: /cvs_backup/e107_0.8/e107_handlers/model_class.php,v $
|
* $Source: /cvs_backup/e107_0.8/e107_handlers/model_class.php,v $
|
||||||
* $Revision: 1.37 $
|
* $Revision: 1.38 $
|
||||||
* $Date: 2009-11-16 12:23:07 $
|
* $Date: 2009-11-17 15:23:01 $
|
||||||
* $Author: secretr $
|
* $Author: secretr $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -1578,6 +1578,22 @@ class e_admin_model extends e_model
|
|||||||
return !empty($this->_db_errno);
|
return !empty($this->_db_errno);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return integer last mysql error number
|
||||||
|
*/
|
||||||
|
public function getSqlErrorNumber()
|
||||||
|
{
|
||||||
|
return $this->_db_errno;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return string last mysql error message
|
||||||
|
*/
|
||||||
|
public function getSqlError()
|
||||||
|
{
|
||||||
|
return e107::getDb()->getLastErrorText();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return boolean
|
* @return boolean
|
||||||
*/
|
*/
|
||||||
@@ -1656,7 +1672,7 @@ class e_admin_model extends e_model
|
|||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
$res = e107::getDb()->db_Insert($this->getModelTable(), $this->toSqlQuery('create'));
|
$res = e107::getDb()->db_Insert($this->getModelTable(), $this->toSqlQuery('create'));
|
||||||
if(!$res)
|
if(!$res)
|
||||||
{
|
{
|
||||||
|
@@ -9,9 +9,9 @@
|
|||||||
* Handler - general purpose validation functions
|
* Handler - general purpose validation functions
|
||||||
*
|
*
|
||||||
* $Source: /cvs_backup/e107_0.8/e107_handlers/validator_class.php,v $
|
* $Source: /cvs_backup/e107_0.8/e107_handlers/validator_class.php,v $
|
||||||
* $Revision: 1.15 $
|
* $Revision: 1.16 $
|
||||||
* $Date: 2009-11-17 14:50:26 $
|
* $Date: 2009-11-17 15:23:00 $
|
||||||
* $Author: marj_nl_fr $
|
* $Author: secretr $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -702,9 +702,9 @@ class e_validator
|
|||||||
* @param mixed $default
|
* @param mixed $default
|
||||||
* @return integer error code
|
* @return integer error code
|
||||||
*/
|
*/
|
||||||
function getErrorCode($field, $default)
|
function getErrorCode($field, $default = -1)
|
||||||
{
|
{
|
||||||
return (isset($this->_validation_results[$field]) ? $this->_validation_results[$field] : -1);
|
return (isset($this->_validation_results[$field]) ? $this->_validation_results[$field] : $default);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user