mirror of
https://github.com/e107inc/e107.git
synced 2025-08-05 14:17:49 +02:00
New $sql method max() and Admin-UI auto-incrementing on order fields during record creation.
This commit is contained in:
@@ -2278,6 +2278,8 @@ class e_admin_controller
|
|||||||
//FIXME - move everything from e_admin_ui except model auto-create related code
|
//FIXME - move everything from e_admin_ui except model auto-create related code
|
||||||
class e_admin_controller_ui extends e_admin_controller
|
class e_admin_controller_ui extends e_admin_controller
|
||||||
{
|
{
|
||||||
|
|
||||||
|
protected $table;
|
||||||
/**
|
/**
|
||||||
* @var array UI field data
|
* @var array UI field data
|
||||||
*/
|
*/
|
||||||
@@ -3957,10 +3959,24 @@ class e_admin_controller_ui extends e_admin_controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// $model->addMessageDebug(print_a($_posted,true));
|
||||||
|
// $model->addMessageDebug(print_a($this,true));
|
||||||
|
|
||||||
|
// - Autoincrement sortField on 'Create'.
|
||||||
|
|
||||||
|
if(($_posted['etrigger_submit'] == 'Create') && !empty($this->sortField) && empty($this->sortParent) && empty($_posted[$this->sortField]) )
|
||||||
|
{
|
||||||
|
|
||||||
|
$incVal = e107::getDb()->max($this->table, $this->sortField) + 1;
|
||||||
|
$_posted[$this->sortField] = $incVal;
|
||||||
|
// $model->addMessageInfo(print_a($_posted,true));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Trigger Admin-ui event. 'pre'
|
// Trigger Admin-ui event. 'pre'
|
||||||
if($triggerName = $this->getEventTriggerName($_posted['etrigger_submit'])) // 'create' or 'update';
|
if($triggerName = $this->getEventTriggerName($_posted['etrigger_submit'])) // 'create' or 'update';
|
||||||
{
|
{
|
||||||
|
|
||||||
$eventData = array('newData'=>$_posted,'oldData'=>$old_data,'id'=> $id);
|
$eventData = array('newData'=>$_posted,'oldData'=>$old_data,'id'=> $id);
|
||||||
if(E107_DBG_ALLERRORS >0 )
|
if(E107_DBG_ALLERRORS >0 )
|
||||||
{
|
{
|
||||||
@@ -3976,7 +3992,7 @@ class e_admin_controller_ui extends e_admin_controller
|
|||||||
|
|
||||||
|
|
||||||
// Scenario I - use request owned POST data - toForm already executed
|
// Scenario I - use request owned POST data - toForm already executed
|
||||||
$model->setPostedData($_posted, null, false, false)
|
$model->setPostedData($_posted, null, false, false) // insert() or update() dbInsert();
|
||||||
->save(true);
|
->save(true);
|
||||||
|
|
||||||
|
|
||||||
|
@@ -1557,6 +1557,31 @@ class e_db_mysql
|
|||||||
return $list;
|
return $list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the maximum value for a given table/field
|
||||||
|
* @param $table (without the prefix)
|
||||||
|
* @param $field
|
||||||
|
* @param string $where (optional)
|
||||||
|
* @return bool|resource
|
||||||
|
*/
|
||||||
|
public function max($table, $field, $where='')
|
||||||
|
{
|
||||||
|
$qry = "SELECT MAX(".$field.") FROM `".$this->mySQLPrefix.$table."` ";
|
||||||
|
|
||||||
|
if(!empty($where))
|
||||||
|
{
|
||||||
|
$qry .= "WHERE ".$where;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->retrieve($qry);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return integer
|
* @return integer
|
||||||
* @desc returns total number of queries made so far
|
* @desc returns total number of queries made so far
|
||||||
|
@@ -222,7 +222,8 @@ class faq_main_ui extends e_admin_ui
|
|||||||
'submit_question' => array('title'=> LANA_FAQ_PREF_2, 'type'=>'userclass' ),
|
'submit_question' => array('title'=> LANA_FAQ_PREF_2, 'type'=>'userclass' ),
|
||||||
'submit_question_limit' => array('title'=> "'Ask a Question' limit per user", 'type'=>'number', 'data'=>'int', 'help'=>'0 = no limit'),
|
'submit_question_limit' => array('title'=> "'Ask a Question' limit per user", 'type'=>'number', 'data'=>'int', 'help'=>'0 = no limit'),
|
||||||
'classic_look' => array('title'=> LANA_FAQ_PREF_3, 'type'=>'boolean' ),
|
'classic_look' => array('title'=> LANA_FAQ_PREF_3, 'type'=>'boolean' ),
|
||||||
|
'list_type' => array('title'=> "List Type", 'type'=>'dropdown', 'writeParms'=>array('ul'=>'Unordered List', 'ol'=>'Ordered List') ),
|
||||||
|
'page_title' => array('title'=> "Page Title", 'type'=>'text', 'help'=>'Leave blank to use default' ),
|
||||||
);
|
);
|
||||||
|
|
||||||
protected $categories = array();
|
protected $categories = array();
|
||||||
|
Reference in New Issue
Block a user