1
0
mirror of https://github.com/e107inc/e107.git synced 2025-06-05 02:15:13 +02:00

Admin-ui - Support for link-targets (modal, dialog or blank) and batch site-link creation. ( Issue #8 )

This commit is contained in:
Cameron 2013-02-26 16:08:08 -08:00
parent 2f6f844cb2
commit a01e9933e4
7 changed files with 218 additions and 69 deletions

View File

@ -182,12 +182,12 @@ class menu_admin_ui extends e_admin_ui
protected $batchCopy = true;
// protected $sortField = 'page_order';
protected $orderStep = 10;
protected $itemRoute = 'page/view?page_id=page_id&page_sef=page_sef';
protected $url = 'page/view';
protected $fields = array(
'checkboxes' => array('title'=> '', 'type' => null, 'width' =>'5%', 'forced'=> TRUE, 'thclass'=>'center', 'class'=>'center'),
'page_id' => array('title'=> 'ID', 'tab' => 0, 'width'=>'5%', 'forced'=> TRUE),
'page_id' => array('title'=> 'ID', 'type'=>'text', 'tab' => 0, 'width'=>'5%', 'readParms'=>'link=sef&dialog=1','forced'=> TRUE),
'page_theme' => array('title'=> "Menu Name", 'tab' => 0, 'type' => 'text', 'width' => 'auto','nolist'=>true),
'page_title' => array('title'=> LAN_TITLE, 'tab' => 0, 'type' => 'text', 'width'=>'25%','readParms'=>'link={e_BASE}page.php?[id]&dialog=1'),
@ -229,11 +229,11 @@ class menu_form_ui extends e_admin_form_ui
// MAIN Pages.
class page_admin_ui extends e_admin_ui
{
protected $pluginTitle = ADLAN_42;
protected $pluginName = 'core';
protected $table = "page";
protected $pluginTitle = ADLAN_42;
protected $pluginName = 'core';
protected $table = "page";
protected $listQry = "SELECT p.*,u.user_id,u.user_name FROM #page AS p LEFT JOIN #user AS u ON p.page_author = u.user_id WHERE p.page_theme = '' "; // without any Order or Limit.
protected $listQry = "SELECT p.*,u.user_id,u.user_name FROM #page AS p LEFT JOIN #user AS u ON p.page_author = u.user_id WHERE p.page_theme = '' "; // without any Order or Limit.
//protected $editQry = "SELECT * FROM #comments WHERE comment_id = {ID}";
protected $pid = "page_id";
@ -241,18 +241,19 @@ class page_admin_ui extends e_admin_ui
protected $perPage = 10;
protected $batchDelete = true;
protected $batchCopy = true;
protected $batchLink = true;
protected $sortField = 'page_order';
protected $orderStep = 10;
protected $itemRoute = 'page/view?page_id=page_id&page_sef=page_sef';
protected $url = array('profile'=>'page/view', 'name' => 'page_title', 'description' => '', 'link'=>'{e_BASE}page.php?id=[id]'); // 'link' only needed if profile not provided.
protected $tabs = array("Main","Advanced");
// protected $listSorting = true;
protected $fields = array(
'checkboxes' => array('title'=> '', 'type' => null, 'width' =>'5%', 'forced'=> TRUE, 'thclass'=>'center', 'class'=>'center'),
'page_id' => array('title'=> LAN_ID, 'tab' => 0, 'width'=>'5%', 'forced'=> TRUE),
'page_id' => array('title'=> LAN_ID, 'type' => 'text', 'tab' => 0, 'width'=>'5%', 'forced'=> TRUE, 'readParms'=>'link=sef&target=dialog'),
'page_chapter' => array('title'=> 'Book/Chapter', 'tab' => 0, 'type' => 'dropdown', 'width' => '20%', 'filter' => true, 'batch'=>true, 'inline'=>true),
'page_title' => array('title'=> LAN_TITLE, 'tab' => 0, 'type' => 'text', 'width'=>'25%','readParms'=>'link={e_BASE}page.php?[id]&dialog=1'),
'page_title' => array('title'=> LAN_TITLE, 'tab' => 0, 'type' => 'text', 'inline'=>true, 'width'=>'25%'),
'page_theme' => array('title'=> LAN_TYPE, 'tab' => 0, 'type' => 'text', 'width' => 'auto','nolist'=>true, 'noedit'=>true),
'page_template' => array('title'=> LAN_TEMPLATE, 'tab' => 0, 'type' => 'dropdown', 'width' => 'auto','filter' => true, 'batch'=>true, 'inline'=>true, 'writeParms'=>''),
@ -260,7 +261,7 @@ class page_admin_ui extends e_admin_ui
'page_text' => array('title'=> CUSLAN_9, 'tab' => 0, 'type' => 'bbarea', 'data'=>'str', 'width' => '30%', 'readParms' => 'expand=...&truncate=50&bb=1', 'writeParms'=>'media=page'),
'page_datestamp' => array('title'=> LAN_DATE, 'tab' => 1, 'type' => 'datestamp', 'data'=>'int', 'width' => 'auto','writeParms'=>'auto=1'),
'page_class' => array('title'=> LAN_USERCLASS, 'tab' => 1, 'type' => 'userclass', 'data'=>'int', 'width' => 'auto', 'filter' => true, 'batch' => true),
'page_class' => array('title'=> LAN_USERCLASS, 'tab' => 1, 'type' => 'userclass', 'data'=>'int', 'inline'=>true, 'width' => 'auto', 'filter' => true, 'batch' => true),
'page_rating_flag' => array('title'=> LAN_RATING, 'tab' => 1, 'type' => 'boolean', 'data'=>'int', 'width' => '5%', 'thclass' => 'center', 'class' => 'center' ),
'page_comment_flag' => array('title'=> ADLAN_114, 'tab' => 1, 'type' => 'boolean', 'data'=>'int', 'width' => '5%', 'thclass' => 'center', 'class' => 'center' ),
// 'page_password' => array('title'=> LXAN_USER_05, 'type' => 'text', 'width' => 'auto'),

View File

@ -80,12 +80,13 @@ class links_admin_ui extends e_admin_ui
'link_button' => array('title'=> LAN_ICON, 'type'=>'icon', 'width'=>'5%', 'thclass' => 'center', 'class'=>'center'),
'link_id' => array('title'=> LAN_ID, 'noedit'=>TRUE),
'link_name' => array('title'=> LCLAN_15, 'width'=>'auto','type'=>'text', 'inline'=>true, 'required' => true, 'validate' => true),
'link_parent' => array('title'=> 'Sublink of', 'type' => 'method', 'width' => 'auto', 'batch'=>true, 'filter'=>true, 'thclass' => 'left first'),
'link_category' => array('title'=> LAN_TEMPLATE, 'type' => 'dropdown', 'inline'=>true, 'batch'=>true, 'filter'=>true, 'width' => 'auto'),
'link_parent' => array('title'=> 'Sublink of', 'type' => 'method', 'width' => 'auto', 'batch'=>true, 'filter'=>true, 'thclass' => 'left first'),
'link_url' => array('title'=> LAN_URL, 'width'=>'auto', 'type'=>'text', 'inline'=>true, 'required'=>true,'validate' => true),
'link_sefurl' => array('title'=> LAN_SEFURL, 'type' => 'text', 'inline'=>true, 'width' => 'auto'),
// 'link_sefurl' => array('title'=> LAN_SEFURL, 'type' => 'text', 'inline'=>true, 'width' => 'auto'),
'link_class' => array('title'=> LAN_USERCLASS, 'type' => 'userclass','inline'=>true, 'writeParms' => 'classlist=public,guest,nobody,member,classes,admin,main', 'batch'=>true, 'filter'=>true, 'width' => 'auto'),
'link_description' => array('title'=> LAN_DESCRIPTION, 'type' => 'textarea', 'width' => 'auto'), // 'method'=>'tinymce_plugins', ?
'link_category' => array('title'=> LAN_TEMPLATE, 'type' => 'dropdown', 'inline'=>true, 'batch'=>true, 'filter'=>true, 'width' => 'auto'),
'link_order' => array('title'=> LAN_ORDER, 'type' => 'number', 'width' => 'auto', 'nolist'=>true),
'link_open' => array('title'=> LCLAN_19, 'type' => 'dropdown', 'inline'=>true, 'width' => 'auto', 'batch'=>true, 'filter'=>true, 'thclass' => 'left first'),
'link_function' => array('title'=> 'Function', 'type' => 'method', 'data'=>'str', 'width' => 'auto', 'thclass' => 'left first'),
@ -115,11 +116,12 @@ class links_admin_ui extends e_admin_ui
3 => "3 - Footer",
4 => "4 - Alt",
5 => "5 - Alt",
// 6 => "6 - Alt", // If more than 5 are required, then something is not right with the themeing method.
6 => "6 - Alt", // If more than 6 are required, then something is not right with the themeing method.
// 7 => "7 - Alt",
// 8 => "8 - Alt",
// 9 => "9 - Alt",
// 10 => "10 - Alt"
255 => "(Unassigned)",
);
$this->fields['link_open']['writeParms'] = array(

View File

@ -349,16 +349,19 @@ class news_admin_ui extends e_admin_ui
protected $perPage = 10; //no limit
protected $batchDelete = true;
protected $batchCopy = true;
protected $batchLink = true;
protected $listOrder = "news_id desc";
protected $url = array('profile'=>'news/view/item', 'name' => 'news_title', 'description' => 'news_summary', 'link'=>'{e_BASE}news.php?extend.[id]'); // 'link' only needed if profile not provided.
protected $listQry = "SELECT n.*,u.user_id,u.user_name FROM #news AS n LEFT JOIN #user AS u ON n.news_author = u.user_id "; // without any Order or Limit.
protected $fields = array(
'checkboxes' => array('title' => '', 'type' => null, 'width' => '3%', 'thclass' => 'center first', 'class' => 'center', 'nosort' => true, 'toggle' => 'news_selected', 'forced' => TRUE),
'news_id' => array('title' => LAN_NEWS_45, 'type' => 'number', 'width' => '5%', 'thclass' => 'center', 'class' => 'center', 'nosort' => false),
'news_id' => array('title' => LAN_NEWS_45, 'type' => 'text', 'width' => '5%', 'thclass' => 'center', 'class' => 'center', 'nosort' => false, 'readParms'=>'link=sef&target=blank'),
'news_thumbnail' => array('title' => NWSLAN_67, 'type' => 'method', 'width' => '110px', 'thclass' => 'center', 'class' => "center", 'nosort' => false, 'readParms'=>'thumb=60&thumb_urlraw=0&thumb_aw=60','readonly'=>false),
'news_title' => array('title' => LAN_TITLE, 'type' => 'method', 'width' => 'auto', 'thclass' => '', 'class' => null, 'nosort' => false, 'readParms'=>'link={e_BASE}news.php?extend.[id]&dialog=1'),
'news_title' => array('title' => LAN_TITLE, 'type' => 'text', 'inline'=>true, 'width' => 'auto', 'thclass' => '', 'class' => null, 'nosort' => false),
'news_summary' => array('title' => LAN_NEWS_27, 'type' => 'text', 'width' => 'auto', 'thclass' => '', 'class' => null, 'nosort' => false),
'news_meta_keywords' => array('title' => LAN_KEYWORDS, 'type' => 'text', 'width' => 'auto', 'thclass' => '', 'class' => null, 'nosort' => false),

View File

@ -2285,7 +2285,10 @@ class e_admin_controller_ui extends e_admin_controller
*/
protected $batchCopy = false;
/**
* @var boolean
*/
protected $batchLink = false;
/**
* Could be LAN constant (mulit-language support)
*
@ -2339,6 +2342,12 @@ class e_admin_controller_ui extends e_admin_controller
{
return $this->batchCopy;
}
public function getBatchLink()
{
return $this->batchLink;
}
/**
* @return string
@ -2365,6 +2374,16 @@ class e_admin_controller_ui extends e_admin_controller
{
return $this->tabs;
}
/**
* Get URL profile
* @return array
*/
public function getUrl()
{
return $this->url;
}
/**
@ -3905,7 +3924,19 @@ class e_admin_ui extends e_admin_controller_ui
$this->redirect();
}
/** TODO
* Batch copy trigger
* @param array $selected
* @return void
*/
protected function handleListUrlBatch($selected)
{
// Batch Copy
$set_messages = true;
$this->getTreeModel()->url($selected);
if($set_messages) $this->getTreeModel()->setMessages();
$this->redirect();
}
/**
* Batch boolean trigger
* @param array $selected
@ -4646,6 +4677,7 @@ class e_admin_ui extends e_admin_controller_ui
$this->_model = new e_admin_model();
$this->_model->setModelTable($this->table)
->setFieldIdName($this->pid)
->setUrl($this->url)
->setValidationRules($this->validationRules)
->setDbTypes($this->fieldTypes)
->setDataFields($this->dataFields)
@ -4665,6 +4697,7 @@ class e_admin_ui extends e_admin_controller_ui
$this->_tree_model = new e_admin_tree_model();
$this->_tree_model->setModelTable($this->table)
->setFieldIdName($this->pid)
->setUrl($this->url)
->setMessageStackName('admin_ui_tree_'.$this->table)
->setParams(array('model_class' => 'e_admin_model', 'model_message_stack' => 'admin_ui_model_'.$this->table ,'db_query' => $this->listQry));
@ -4828,7 +4861,7 @@ class e_admin_form_ui extends e_form
public function getModal($caption = '', $type='')
{
return '
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true">
<div id="uiModal" class="modal hide fade" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
&nbsp;
@ -4876,8 +4909,8 @@ class e_admin_form_ui extends e_form
'form_post' => '', // markup to be added after closing form element
'fields' => $controller->getFields(), // see e_admin_ui::$fields
'fieldpref' => $controller->getFieldPref(), // see e_admin_ui::$fieldpref
'table_pre' => '', // $this->getModal(), // markup to be added before opening table element
'table_post' => !$tree[$id]->isEmpty() ? $this->renderBatch($controller->getBatchDelete(),$controller->getBatchCopy()) : '',
'table_pre' => $this->getModal(), //'' , // markup to be added before opening table element
'table_post' => !$tree[$id]->isEmpty() ? $this->renderBatch($controller->getBatchDelete(),$controller->getBatchCopy(),$controller->getBatchLink()) : '',
'fieldset_pre' => '', // markup to be added before opening fieldset element
'fieldset_post' => '', // markup to be added after closing fieldset element
'perPage' => $controller->getPerPage(), // if 0 - no next/prev navigation
@ -5101,7 +5134,7 @@ class e_admin_form_ui extends e_form
}
// FIXME - use e_form::batchoptions(), nice way of buildig batch dropdown - news administration show_batch_options()
function renderBatch($allow_delete = false,$allow_copy= false)
function renderBatch($allow_delete = false,$allow_copy= false, $allow_url=false)
{
// $allow_copy = TRUE;
@ -5122,6 +5155,7 @@ class e_admin_form_ui extends e_form
".$this->option(LAN_BATCH_LABEL_SELECTED, '')."
".($allow_copy ? $this->option(LAN_COPY, 'copy', false, array('class' => 'ui-batch-option class', 'other' => 'style="padding-left: 15px"')) : '')."
".($allow_delete ? $this->option(LAN_DELETE, 'delete', false, array('class' => 'ui-batch-option class', 'other' => 'style="padding-left: 15px"')) : '')."
".($allow_url ? $this->option(LAN_UI_BATCH_CREATELINK, 'url', false, array('class' => 'ui-batch-option class', 'other' => 'style="padding-left: 15px"')) : '')."
".$this->renderBatchFilter('batch')."
".$this->select_close()."
".$this->admin_button('e__execute_batch', 'e__execute_batch', 'batch e-hide-if-js', 'Execute', array('id' => false))."

View File

@ -1953,7 +1953,6 @@ class e_form
*/
function renderValue($field, $value, $attributes, $id = 0)
{
$parms = array();
if(isset($attributes['readParms']))
{
@ -1963,7 +1962,7 @@ class e_form
if(vartrue($attributes['inline'])) $parms['editable'] = true; // attribute alias
if(vartrue($attributes['sort'])) $parms['sort'] = true; // attribute alias
$tp = e107::getParser();
switch($field) // special fields
{
@ -2166,10 +2165,21 @@ class e_form
}
if(vartrue($parms['link']) && $id && is_numeric($id))
{
$link = str_replace('[id]',$id,$parms['link']);
$link = $tp->replaceConstants($link); // SEF URL is not important since we're in admin.
$dialog = vartrue($parms['dialog']) ? " e-dialog" : "";
$value = "<a class='e-tip{$dialog}' href='".$link."' title='Quick View'>".$value."</a>";
$link = str_replace('[id]',$id,$parms['link']);
$link = $tp->replaceConstants($link); // SEF URL is not important since we're in admin.
$dialog = vartrue($parms['target']) =='dialog' ? " e-dialog" : ""; // iframe
$ext = vartrue($parms['target']) =='blank' ? " rel='external' " : ""; // new window
$modal = vartrue($parms['target']) =='modal' ? " data-toggle='modal' data-cache='false' data-target='#uiModal' " : "";
if($parms['link'] == 'sef') //XXX @Miro - Thoughts?
{
$data = $this->getController()->getListModel()->toArray();
$urlData = $this->getController()->getUrl();
$link = e107::getUrl()->create($urlData['profile'], $data);
}
$value = "<a class='e-tip{$dialog}' {$ext} href='".$link."' {$modal} title='Quick View'>".$value."</a>";
}
if(!vartrue($attributes['noedit']) && vartrue($parms['editable']) && !vartrue($parms['link'])) // avoid bad markup, better solution coming up
@ -2180,6 +2190,8 @@ class e_form
$value = vartrue($parms['pre']).$value.vartrue($parms['post']);
break;
case 'bbarea':
case 'textarea':

View File

@ -521,6 +521,12 @@ class e_model extends e_object
* @var string
*/
protected $_db_table;
/**
* Current url Profile
* @var string
*/
protected $_url;
/**
* Runtime cache of parsed from {@link _getData()} keys
@ -581,6 +587,28 @@ class e_model extends e_object
return $this;
}
/**
* Set model Url Profile
* @param string $table
* @return e_model
*/
public function setUrl($url)
{
$this->_url = $url;
return $this;
}
/**
* Get url profile
* @return array
*/
public function getUrl()
{
return $this->_url;
}
/**
* Get data fields array
* @return array
@ -3416,5 +3444,71 @@ class e_admin_tree_model extends e_front_tree_model
$this->_db_errmsg = $sql->getLastErrorText();
return $res;
}
/**
* Batch Url Creation Table Rows.
*/
public function url($ids)
{
$tp = e107::getParser();
$ids = array_map(array($tp, 'toDB'), $ids);
$idstr = implode(', ', $ids);
$sql = e107::getDb();
$allData = $this->toArray();
$urlData = $this->getUrl();
$this->addMessageDebug('Using Url Profile:'.$urlData['profile']);
foreach($ids as $id)
{
$data = vartrue($allData[$id]);
$name = $urlData['name'];
$desc = $urlData['description'];
$link = vartrue($urlData['profile']) ? e107::getUrl()->create($urlData['profile'], $data) : str_replace("[id]", $id, $urlData['link']);
$link = str_replace(e_HTTP,"",$link); // work-around fix.
$linkArray = array(
'link_name' => $tp->toDB($data[$name]),
'link_url' => $link,
'link_description' => $tp->toDB($desc),
'link_button' => '',
'link_category' => 255, // Using an unassigned template rather than inactive link-class, since other inactive links may already exist.
'link_order' => 0,
'link_parent' => 0,
'link_open' => '',
'link_class' => 0
);
$res = $sql->insert('links',$linkArray);
if($res !== FALSE)
{
$this->addMessageSuccess('Created Sitelink: <b>'.$data[$name]."</b>");
}
else
{
if($sql->getLastErrorNumber())
{
$this->addMessageError('SQL Link Creation Error', $session_messages); //TODO - Lan
$this->addMessageDebug('SQL Link Creation Error #'.$sql->getLastErrorNumber().': '.$sql->getLastErrorText());
}
$this->_db_errno = $sql->getLastErrorNumber();
$this->_db_errmsg = $sql->getLastErrorText();
}
}
if($res !== FALSE)
{
$this->addMessageSuccess("<br />New sitelinks are currently unassigned. You should now modify these links to your liking.<br /><br /><a class='btn btn-small btn-primary' href='".e_ADMIN."links.php?searchquery=&filter_options=link_category__255'>Modify Links</a>");
}
return true;
}
}

View File

@ -169,10 +169,10 @@ define("ADLAN_151", "Main");
define("ADLAN_152", "Enter Code");
define("ADLAN_153", "Administration Area");
define('ADLAN_154', "Error contacting Sourceforge to check for new version");
define("ADLAN_154", "Error contacting Sourceforge to check for new version");
define('ADLAN_155', 'System Logs');
define('ADLAN_156', 'Admin log, user audit, rolling log');
define("ADLAN_155", "System Logs");
define("ADLAN_156", "Admin log, user audit, rolling log");
define("ADLAN_157", "Schedule Tasks");
define("ADLAN_158", "Cron Jobs and Automated Maintenance");
@ -183,17 +183,17 @@ define("ADLAN_161", "Custom Fields?");
define("ADLAN_162", "A newer version of your site-theme is available:");
define("ADLAN_163", "A newer version of an installed plugin is available:");
define('ADLAN_CL_1', 'Settings');
define('ADLAN_CL_2', 'Users');
define('ADLAN_CL_3', 'Content');
define('ADLAN_CL_4', 'Coms');
define('ADLAN_CL_5', 'Files');
define('ADLAN_CL_6', 'Tools');
define('ADLAN_CL_7', 'Plugins');
define("ADLAN_CL_1", "Settings");
define("ADLAN_CL_2", "Users");
define("ADLAN_CL_3", "Content");
define("ADLAN_CL_4", "Coms");
define("ADLAN_CL_5", "Files");
define("ADLAN_CL_6", "Tools");
define("ADLAN_CL_7", "Plugins");
define('ADLAN_CL_8', 'Misc');
define("ADLAN_CL_8", "Misc");
define('ADLAN_CL_20', 'About');
define("ADLAN_CL_20", "About");
define("ADLAN_LAT_1", "Latest");
@ -223,8 +223,8 @@ define("LAN_UPDATE","Update");
define("LAN_ADD", "Add");
define("LAN_SAVE","Save");
define("LAN_SAVED","Saved");
define('LAN_SETSAVED','Your settings have been saved');
define('LAN_NOCHANGE_NOTSAVED', 'Nothing changed - not saved');
define("LAN_SETSAVED","Your settings have been saved");
define("LAN_NOCHANGE_NOTSAVED", "Nothing changed - not saved");
define("LAN_CONFIRMDEL","Please confirm you wish to delete");
define("LAN_JSCONFIRM","Are you sure?");
define("LAN_OPTIONS","Options");
@ -296,8 +296,8 @@ define("LAN_NOPERMISSION", "no permissions");
define("LAN_CREDITS","Credits");
define("LAN_NEWVERSION","New Version Available");
define("LAN_CHECKALL", 'Check All');
define("LAN_UNCHECKALL", 'Uncheck All');
define("LAN_CHECKALL", "Check All");
define("LAN_UNCHECKALL", "Uncheck All");
define("LAN_DELCHECKED", "Delete Checked");
define("LAN_USERCLASS", "Userclass");
@ -319,7 +319,7 @@ define("LAN_URL", "URL");
define("LAN_USER", "User");
define("LAN_OWNER", "Owner");
define("LAN_NAME", "Name");
define('LAN_EMAIL','Email address');
define("LAN_EMAIL","Email address");
define("LAN_ID", "ID");
define("LAN_TITLE", "Title");
define("LAN_DESCRIPTION", "Description");
@ -346,33 +346,36 @@ define("LAN_SECURITYL_9", "Paranoid");
define("LAN_SECURITYL_10", "Insane");
// XXX - move Admin UI related LANS below, add new lan_form.php file (for both front/back-end)
define('LAN_BATCH_LABEL_SELECTED', 'With selected...'); // Batch dropdown default option
define('LAN_BATCH_LABEL_PREFIX', 'Modify');
define('LAN_LABEL_LABEL_SELECTED', 'Filter'); // Filter dropdown default option
define('LAN_FILTER_LABEL_PREFIX', 'Filter by');
define('LAN_FILTER_LABEL_DISPLAYALL', 'Display All');
define('LAN_FILTER_LABEL_CLEAR', 'Clear Filter');
define('LAN_FILTER_LABEL_TYPED', '(typed)');
define("LAN_BATCH_LABEL_SELECTED", "With selected..."); // Batch dropdown default option
define("LAN_BATCH_LABEL_PREFIX", "Modify");
define("LAN_LABEL_LABEL_SELECTED", "Filter"); // Filter dropdown default option
define("LAN_FILTER_LABEL_PREFIX", "Filter by");
define("LAN_FILTER_LABEL_DISPLAYALL", "Display All");
define("LAN_FILTER_LABEL_CLEAR", "Clear Filter");
define("LAN_FILTER_LABEL_TYPED", "(typed)");
define('LAN_UI_NOPID_ERROR', 'There is no <strong>Primary ID</strong> set');
define('LAN_UI_BATCHDEL_ERROR', 'Batch delete not allowed!');
define('LAN_UI_404_BODY_ERROR', 'Requested page was not found!');
define('LAN_UI_404_TITLE_ERROR', 'Page Not Found');
define('LAN_UI_404_METHOD_ERROR', 'Action <strong>%1$s</strong> not found!');
define('LAN_UI_403_BODY_ERROR', 'Access to the requested page is denied.');
define('LAN_UI_403_TITLE_ERROR', 'Access denied');
define('LAN_UI_FORM_METHOD_ERROR', 'FATAL ERROR: The field name <strong>%1$s</strong> is not allowed. Please rename the key <strong>%1$s</strong> to something else in your fields array and database table (if required).');
//FIXME Remove html
define("LAN_UI_NOPID_ERROR", "There is no <strong>Primary ID</strong> set");
define("LAN_UI_BATCHDEL_ERROR", "Batch delete not allowed!");
define("LAN_UI_404_BODY_ERROR", "Requested page was not found!");
define("LAN_UI_404_TITLE_ERROR", "Page Not Found");
define("LAN_UI_404_METHOD_ERROR", "Action <strong>%1$s</strong> not found!");
define("LAN_UI_403_BODY_ERROR", "Access to the requested page is denied.");
define("LAN_UI_403_TITLE_ERROR", "Access denied");
define("LAN_UI_FORM_METHOD_ERROR", "FATAL ERROR: The field name <strong>%1$s</strong> is not allowed. Please rename the key <strong>%1$s</strong> to something else in your fields array and database table (if required).");
define('LAN_UI_BATCH_UPDATE_SUCCESS', '<strong>%1$s</strong> set for <strong>%2$d</strong> record(s).');
define('LAN_UI_BATCH_REVERSED_SUCCESS', '<strong>%1$d</strong> records successfully reversed.');
define('LAN_UI_BATCH_BOOL_SUCCESS', '<strong>%1$d</strong> records successfully updated.');
define('LAN_UI_BATCH_DEATTACH_SUCCESS', '<strong>%1$s</strong> removed from <strong>%2$d</strong> record(s).');
//FIXME - remove % code and HTML from LANS below and replace with "[x]" and bbcode.
define("LAN_UI_BATCH_UPDATE_SUCCESS", "<strong>%1$s</strong> set for <strong>%2$d</strong> record(s).");
define("LAN_UI_BATCH_REVERSED_SUCCESS", "<strong>%1$d</strong> records successfully reversed.");
define("LAN_UI_BATCH_BOOL_SUCCESS", "<strong>%1$d</strong> records successfully updated.");
define("LAN_UI_BATCH_DEATTACH_SUCCESS", "<strong>%1$s</strong> removed from <strong>%2$d</strong> record(s).");
define('LAN_UI_EDIT_LABEL', 'Update record #%1$s');
define('LAN_UI_CREATE_LABEL', 'Create new record');
define('LAN_UI_PREF_LABEL', 'Settings');
define('LAN_UI_DELETE_LABEL', 'Confirm Delete');
define('LAN_UI_DELETE_WARNING', 'You are about to delete <strong>%1$d</strong> records. Please confirm to continue.');
define("LAN_UI_EDIT_LABEL", "Update record #%1$s");
define("LAN_UI_CREATE_LABEL", "Create new record");
define("LAN_UI_PREF_LABEL", "Settings");
define("LAN_UI_DELETE_LABEL", "Confirm Delete");
define("LAN_UI_DELETE_WARNING", "You are about to delete <strong>%1$d</strong> records. Please confirm to continue.");
define("LAN_UI_BATCH_CREATELINK", "Create Link");
define("LAN_USER_MANAGEALL", "Manage all User, Userclass and Extended User-Field settings");
define("LAN_USER_LIST", "User List");