mirror of
https://github.com/e107inc/e107.git
synced 2025-06-08 20:21:13 +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;
|
||||
|
||||
/**
|
||||
* @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;
|
||||
|
||||
/**
|
||||
* Could be LAN constant (mulit-language support)
|
||||
*
|
||||
* @var string plugin name
|
||||
*/
|
||||
protected $pluginTitle;
|
||||
@ -2112,6 +2130,17 @@ class e_admin_controller_ui extends e_admin_controller
|
||||
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
|
||||
* @return array
|
||||
@ -2837,13 +2866,20 @@ class e_admin_controller_ui extends e_admin_controller
|
||||
$qry .= " WHERE ".implode(" AND ", $searchQry);
|
||||
}
|
||||
|
||||
$orderField = $request->getQuery('field', $this->getPrimaryName());
|
||||
if(null !== $this->listOrder && $this->listOrder)
|
||||
{
|
||||
$qry .= ' ORDER BY '.$this->listOrder;
|
||||
}
|
||||
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'].' '.($request->getQuery('asc') == 'desc' ? 'DESC' : 'ASC');
|
||||
$qry .= ' ORDER BY '.$this->fields[$orderField]['__tableField'].' '.(strtolower($orderDef) == 'desc' ? 'DESC' : 'ASC');
|
||||
}
|
||||
}
|
||||
|
||||
if($this->getPerPage() || false !== $forceTo)
|
||||
{
|
||||
$from = false === $forceFrom ? intval($request->getQuery('from', 0)) : intval($forceFrom);
|
||||
|
@ -9,9 +9,9 @@
|
||||
* Form Handler
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_handlers/form_handler.php,v $
|
||||
* $Revision: 1.102 $
|
||||
* $Date: 2009-12-23 10:04:38 $
|
||||
* $Author: e107coders $
|
||||
* $Revision: 1.103 $
|
||||
* $Date: 2009-12-23 15:12:13 $
|
||||
* $Author: secretr $
|
||||
*
|
||||
*/
|
||||
|
||||
@ -124,6 +124,7 @@ class e_form
|
||||
// Temporary Fix for using Media-Manager data
|
||||
|
||||
$sql = e107::getDb();
|
||||
|
||||
if($sql->db_Select('core_media','*',"media_userclass IN (".USERCLASS_LIST.") ORDER BY media_name"))
|
||||
{
|
||||
while($row = $sql->db_Fetch())
|
||||
@ -134,7 +135,6 @@ class e_form
|
||||
asort($opts);
|
||||
return $this->selectbox($name,$opts,$default, array('default'=>' '));
|
||||
}
|
||||
|
||||
// ----------------
|
||||
|
||||
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())
|
||||
{
|
||||
if(!is_array($options)) parse_str($options, $options);
|
||||
|
||||
if($option_array == 'yesno')
|
||||
{
|
||||
$option_array = array(1=>LAN_YES,0=>LAN_NO);
|
||||
@ -1247,6 +1249,7 @@ class e_form
|
||||
}
|
||||
break;
|
||||
|
||||
case 'bool':
|
||||
case 'boolean':
|
||||
$value = $value ? ADMIN_TRUE_ICON : ADMIN_FALSE_ICON;
|
||||
break;
|
||||
@ -1326,7 +1329,6 @@ class e_form
|
||||
case 'url':
|
||||
case 'email':
|
||||
case 'text':
|
||||
|
||||
$maxlength = vartrue($parms['maxlength'], 255);
|
||||
unset($parms['maxlength']);
|
||||
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']));
|
||||
break;
|
||||
|
||||
case 'bool':
|
||||
case 'boolean':
|
||||
$lenabled = vartrue($parms['enabled'], 'LAN_ENABLED');
|
||||
$ldisabled = vartrue($parms['disabled'], 'LAN_DISABLED');
|
||||
|
@ -9,9 +9,9 @@
|
||||
* e107 Base Model
|
||||
*
|
||||
* $Source: /cvs_backup/e107_0.8/e107_handlers/model_class.php,v $
|
||||
* $Revision: 1.49 $
|
||||
* $Date: 2009-12-13 21:52:32 $
|
||||
* $Author: e107steved $
|
||||
* $Revision: 1.50 $
|
||||
* $Date: 2009-12-23 15:12:12 $
|
||||
* $Author: secretr $
|
||||
*/
|
||||
|
||||
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
|
||||
*/
|
||||
function getTree($force = false)
|
||||
function getTree()
|
||||
{
|
||||
return $this->get('__tree', array());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user