mirror of
https://github.com/e107inc/e107.git
synced 2025-06-10 13:11:48 +02:00
admin UI / model improvements and bugfixes
This commit is contained in:
parent
e4b25a27e6
commit
ddb01846f6
@ -1955,11 +1955,29 @@ class e_admin_controller_ui extends e_admin_controller
|
|||||||
*/
|
*/
|
||||||
protected $pluginName;
|
protected $pluginName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $defaultOrderField = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $defaultOrder = 'asc';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var string SQL order, false to disable order, null is default order
|
||||||
|
*/
|
||||||
|
protected $listOrder = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @var boolean
|
||||||
|
*/
|
||||||
protected $batchDelete = true;
|
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
|
||||||
*/
|
*/
|
||||||
protected $pluginTitle;
|
protected $pluginTitle;
|
||||||
@ -2112,6 +2130,17 @@ class e_admin_controller_ui extends e_admin_controller
|
|||||||
return $this->getModel()->getFieldIdName();
|
return $this->getModel()->getFieldIdName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function getDefaultOrderField()
|
||||||
|
{
|
||||||
|
return ($this->defaultOrder ? $this->defaultOrderField : $this->getPrimaryName());
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getDefaultOrder()
|
||||||
|
{
|
||||||
|
return ($this->defaultOrder ? $this->defaultOrder : 'asc');
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get column preference array
|
* Get column preference array
|
||||||
* @return array
|
* @return array
|
||||||
@ -2837,13 +2866,20 @@ class e_admin_controller_ui extends e_admin_controller
|
|||||||
$qry .= " WHERE ".implode(" AND ", $searchQry);
|
$qry .= " WHERE ".implode(" AND ", $searchQry);
|
||||||
}
|
}
|
||||||
|
|
||||||
$orderField = $request->getQuery('field', $this->getPrimaryName());
|
if(null !== $this->listOrder && $this->listOrder)
|
||||||
if(isset($this->fields[$orderField]) && strpos($this->listQry,'ORDER BY')==FALSE) //override ORDER using listQry (admin->sitelinks)
|
|
||||||
{
|
{
|
||||||
// no need of sanitize - it's found in field array
|
$qry .= ' ORDER BY '.$this->listOrder;
|
||||||
$qry .= ' ORDER BY '.$this->fields[$orderField]['__tableField'].' '.($request->getQuery('asc') == 'desc' ? 'DESC' : 'ASC');
|
}
|
||||||
|
elseif(false !== $this->listOrder)
|
||||||
|
{
|
||||||
|
$orderField = $request->getQuery('field', $this->getDefaultOrderField());
|
||||||
|
$orderDef = (null === $request->getQuery('asc', null) ? $this->getDefaultOrder() : $request->getQuery('asc'));
|
||||||
|
if(isset($this->fields[$orderField]) && strpos($this->listQry,'ORDER BY')==FALSE) //override ORDER using listQry (admin->sitelinks)
|
||||||
|
{
|
||||||
|
// no need of sanitize - it's found in field array
|
||||||
|
$qry .= ' ORDER BY '.$this->fields[$orderField]['__tableField'].' '.(strtolower($orderDef) == 'desc' ? 'DESC' : 'ASC');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if($this->getPerPage() || false !== $forceTo)
|
if($this->getPerPage() || false !== $forceTo)
|
||||||
{
|
{
|
||||||
$from = false === $forceFrom ? intval($request->getQuery('from', 0)) : intval($forceFrom);
|
$from = false === $forceFrom ? intval($request->getQuery('from', 0)) : intval($forceFrom);
|
||||||
|
@ -9,9 +9,9 @@
|
|||||||
* 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.102 $
|
* $Revision: 1.103 $
|
||||||
* $Date: 2009-12-23 10:04:38 $
|
* $Date: 2009-12-23 15:12:13 $
|
||||||
* $Author: e107coders $
|
* $Author: secretr $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -124,6 +124,7 @@ class e_form
|
|||||||
// Temporary Fix for using Media-Manager data
|
// Temporary Fix for using Media-Manager data
|
||||||
|
|
||||||
$sql = e107::getDb();
|
$sql = e107::getDb();
|
||||||
|
|
||||||
if($sql->db_Select('core_media','*',"media_userclass IN (".USERCLASS_LIST.") ORDER BY media_name"))
|
if($sql->db_Select('core_media','*',"media_userclass IN (".USERCLASS_LIST.") ORDER BY media_name"))
|
||||||
{
|
{
|
||||||
while($row = $sql->db_Fetch())
|
while($row = $sql->db_Fetch())
|
||||||
@ -134,7 +135,6 @@ class e_form
|
|||||||
asort($opts);
|
asort($opts);
|
||||||
return $this->selectbox($name,$opts,$default, array('default'=>' '));
|
return $this->selectbox($name,$opts,$default, array('default'=>' '));
|
||||||
}
|
}
|
||||||
|
|
||||||
// ----------------
|
// ----------------
|
||||||
|
|
||||||
if(is_string($sc_parameters)) parse_str($sc_parameters, $sc_parameters);
|
if(is_string($sc_parameters)) parse_str($sc_parameters, $sc_parameters);
|
||||||
@ -446,6 +446,8 @@ class e_form
|
|||||||
*/
|
*/
|
||||||
function selectbox($name, $option_array, $selected = false, $options = array())
|
function selectbox($name, $option_array, $selected = false, $options = array())
|
||||||
{
|
{
|
||||||
|
if(!is_array($options)) parse_str($options, $options);
|
||||||
|
|
||||||
if($option_array == 'yesno')
|
if($option_array == 'yesno')
|
||||||
{
|
{
|
||||||
$option_array = array(1=>LAN_YES,0=>LAN_NO);
|
$option_array = array(1=>LAN_YES,0=>LAN_NO);
|
||||||
@ -1247,6 +1249,7 @@ class e_form
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'bool':
|
||||||
case 'boolean':
|
case 'boolean':
|
||||||
$value = $value ? ADMIN_TRUE_ICON : ADMIN_FALSE_ICON;
|
$value = $value ? ADMIN_TRUE_ICON : ADMIN_FALSE_ICON;
|
||||||
break;
|
break;
|
||||||
@ -1326,7 +1329,6 @@ class e_form
|
|||||||
case 'url':
|
case 'url':
|
||||||
case 'email':
|
case 'email':
|
||||||
case 'text':
|
case 'text':
|
||||||
|
|
||||||
$maxlength = vartrue($parms['maxlength'], 255);
|
$maxlength = vartrue($parms['maxlength'], 255);
|
||||||
unset($parms['maxlength']);
|
unset($parms['maxlength']);
|
||||||
return vartrue($parms['pre']).$this->text($key, $value, $maxlength, vartrue($parms['__options'])).vartrue($parms['post']);
|
return vartrue($parms['pre']).$this->text($key, $value, $maxlength, vartrue($parms['__options'])).vartrue($parms['post']);
|
||||||
@ -1468,6 +1470,7 @@ class e_form
|
|||||||
return $this->userpicker(vartrue($parms['nameField'], $key.'_usersearch'), $key, $uname, $value, vartrue($parms['__options']));
|
return $this->userpicker(vartrue($parms['nameField'], $key.'_usersearch'), $key, $uname, $value, vartrue($parms['__options']));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'bool':
|
||||||
case 'boolean':
|
case 'boolean':
|
||||||
$lenabled = vartrue($parms['enabled'], 'LAN_ENABLED');
|
$lenabled = vartrue($parms['enabled'], 'LAN_ENABLED');
|
||||||
$ldisabled = vartrue($parms['disabled'], 'LAN_DISABLED');
|
$ldisabled = vartrue($parms['disabled'], 'LAN_DISABLED');
|
||||||
|
@ -9,9 +9,9 @@
|
|||||||
* 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.49 $
|
* $Revision: 1.50 $
|
||||||
* $Date: 2009-12-13 21:52:32 $
|
* $Date: 2009-12-23 15:12:12 $
|
||||||
* $Author: e107steved $
|
* $Author: secretr $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (!defined('e107_INIT')) { exit; }
|
if (!defined('e107_INIT')) { exit; }
|
||||||
@ -2057,10 +2057,10 @@ class e_tree_model extends e_model
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set array of models
|
* Get array of models
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
function getTree($force = false)
|
function getTree()
|
||||||
{
|
{
|
||||||
return $this->get('__tree', array());
|
return $this->get('__tree', array());
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user