From d7e5c5ac35bc7ee5c2833035117bb030707842ef Mon Sep 17 00:00:00 2001 From: Riccardo Di Dato Date: Wed, 13 Jan 2016 20:15:49 +0100 Subject: [PATCH] Inclusi css essenziali Inclusi js essenziali BugFix LoginManager Creata classe MenuGenerator per ottenere le voci menu in base ai ruoli Incluso sistema di inclusione header in GUIHandler --- private/common/config.env.php | 2 +- private/common/config.local.php | 2 +- private/common/config.php | 7 +- private/common/config.prod.php | 2 +- private/lib/dao/GenericDao.php | 16 +- private/lib/dao/lib.inclusion.php | 1 + private/lib/dao/models/AdminModel.php | 67 +- private/lib/dao/models/UserModel.php | 20 + private/lib/gui/ASDSessionHandler.php | 7 +- private/lib/gui/GUIHandler.php | 78 +- private/lib/gui/MenuGenerator.php | 34 + private/lib/gui/html.inclusion.php | 25 + private/lib/gui/lib.inclusion.php | 9 + .../gui/loginManager/AdminLoginManager.php | 11 +- private/lib/gui/loginManager/LoginManager.php | 67 + .../lib/gui/loginManager/UserLoginManager.php | 9 +- public/admin/index.php | 26 +- public/admin/login.php | 21 +- public/admin/logout.php | 7 + public/images/header.png | Bin 0 -> 125871 bytes public/index.php | 46 +- public/js/chosen.jquery.min.js | 10 + public/js/jquery.dataTables.min.js | 156 +++ public/js/jquery.form.js | 1175 +++++++++++++++++ public/js/jquery.js | 4 + public/style/chosen.css | 397 ++++++ public/style/normalize.css | 527 ++++++++ 27 files changed, 2651 insertions(+), 75 deletions(-) create mode 100644 private/lib/dao/models/UserModel.php create mode 100644 private/lib/gui/MenuGenerator.php create mode 100644 private/lib/gui/html.inclusion.php create mode 100644 private/lib/gui/loginManager/LoginManager.php create mode 100644 public/images/header.png create mode 100644 public/js/chosen.jquery.min.js create mode 100644 public/js/jquery.dataTables.min.js create mode 100644 public/js/jquery.form.js create mode 100644 public/js/jquery.js create mode 100644 public/style/chosen.css create mode 100644 public/style/normalize.css diff --git a/private/common/config.env.php b/private/common/config.env.php index 0066182..7eebd20 100644 --- a/private/common/config.env.php +++ b/private/common/config.env.php @@ -28,7 +28,7 @@ $currentSystem->apache->user = "var-www"; $currentSystem->apache->group = "var-www"; $currentSystem->apache->workdir = "/var/www"; // Il path in cui inserire la cartella con le pagine html -$currentSystem->remoteLocation = "http://$_SERVER[HTTP_HOST]"; +$currentSystem->remoteLocationPath = "/"; diff --git a/private/common/config.local.php b/private/common/config.local.php index 271a8de..fe6116b 100644 --- a/private/common/config.local.php +++ b/private/common/config.local.php @@ -27,7 +27,7 @@ $currentSystem->apache->user = "var-www"; $currentSystem->apache->group = "var-www"; $currentSystem->apache->workdir = "/var/www"; // Il path in cui inserire la cartella con le pagine html -$currentSystem->remoteLocation = "http://$_SERVER[HTTP_HOST]"; +$currentSystem->remoteLocationPath = "/fdn2/"; diff --git a/private/common/config.php b/private/common/config.php index be65f7d..70539df 100644 --- a/private/common/config.php +++ b/private/common/config.php @@ -66,8 +66,9 @@ $config->files->general_log = $config->paths->log . "/general.log"; // Pages $config->pages = new StdClass(); -$config->pages->index = $currentSystem->remoteLocation . "/index.php"; -$config->pages->login = $currentSystem->remoteLocation . "/login.php"; -$config->pages->logout = $currentSystem->remoteLocation . "/logout.php"; +$config->pages->remoteLocationPath = $currentSystem->remoteLocationPath; +// $config->pages->index = $currentSystem->remoteLocation . "/index.php"; +// $config->pages->login = $currentSystem->remoteLocation . "/login.php"; +// $config->pages->logout = $currentSystem->remoteLocation . "/logout.php"; ?> \ No newline at end of file diff --git a/private/common/config.prod.php b/private/common/config.prod.php index 03655bd..63b80db 100644 --- a/private/common/config.prod.php +++ b/private/common/config.prod.php @@ -29,7 +29,7 @@ $currentSystem->apache->user = "var-www"; $currentSystem->apache->group = "var-www"; $currentSystem->apache->workdir = "/var/www"; // Il path in cui inserire la cartella con le pagine html -$currentSystem->remoteLocation = "http://$_SERVER[HTTP_HOST]"; +$currentSystem->remoteLocationPath = "/"; diff --git a/private/lib/dao/GenericDao.php b/private/lib/dao/GenericDao.php index 1b99fba..e3873d9 100644 --- a/private/lib/dao/GenericDao.php +++ b/private/lib/dao/GenericDao.php @@ -67,6 +67,13 @@ class GenericDao{ return $rval; } + /** + * Come query ma ritorna il primo o null se non ci sono risultati + * @param string $modelClass + * @param array $filter + * @param array $options + * @return DaoSaveable + */ public function getFirst($modelClass, array $filter = array(), array $options = array()){ $rval = $this->query($modelClass,$filter,$options); if (sizeof($rval)>0){ @@ -78,7 +85,10 @@ class GenericDao{ return $rval; } - + /** + * Salva... + * @param DaoSaveable $model + */ public function save(DaoSaveable $model){ $collectionName = $model->getCollectionName(); $collection = $this->database->$collectionName; @@ -95,6 +105,10 @@ class GenericDao{ } } + /** + * Cancella... la cancellazione non è reale, viene solo settato il campo deleted a true. + * @param DaoSaveable $model + */ public function delete(DaoSaveable $model){ $collectionName = $model->getCollectionName(); $collection = $this->database->$collectionName; diff --git a/private/lib/dao/lib.inclusion.php b/private/lib/dao/lib.inclusion.php index 908c27b..5b43e2c 100644 --- a/private/lib/dao/lib.inclusion.php +++ b/private/lib/dao/lib.inclusion.php @@ -17,6 +17,7 @@ require_once(dirname(__FILE__)."/models/ConfigModel.php"); require_once(dirname(__FILE__)."/models/TaskModel.php"); require_once(dirname(__FILE__)."/models/NotiziaModel.php"); require_once(dirname(__FILE__)."/models/AdminModel.php"); +require_once(dirname(__FILE__)."/models/UserModel.php"); $dao = new GenericDao($database->dbName,$database->connectionString); GlobalVariables::set("dao", $dao); diff --git a/private/lib/dao/models/AdminModel.php b/private/lib/dao/models/AdminModel.php index 80ce434..4a0850e 100644 --- a/private/lib/dao/models/AdminModel.php +++ b/private/lib/dao/models/AdminModel.php @@ -5,36 +5,53 @@ Creation Date: 13/gen/2016 */ class AdminModel extends Model{ +/* + SuperAdmin (FLAG_HIDDEN Profilo per esecuzione manuale di task, attivazione/disattivazione task, aggiunge flag NON_HIDDEN agli utenti, ripristina backup) + Admin (Amministratore di sistema, può aggiungere FLAG_BASE agli altri amministratori) + Editore (FLAG_BASE Inserimento notizie) + Editore_supervisor (Validazione notizie) + Banner (Inserimento banner) + Banner_supervisor (Visualizza statistiche banner) + Commenti_supervisor (Valida i commenti e modifica quelli in stato di pending) + Statistiche_supervisor (Visualizza statistiche relative agli accessi sull'applicazione) + Newsletter (Crea newsletter) + Sondaggi (Crea sondaggi) + */ + const TYPE_FLAG_NONE = 0; + const TYPE_FLAG_HIDDEN = 1; + const TYPE_FLAG_BASE = 2; + const ADMIN_TYPE_SUPERADMIN = 1; - const ADMIN_TYPE_BANNER = 2; - const ADMIN_TYPE_ROLEADMIN = 4; - const ADMIN_TYPE_COMMENTI = 8; - const ADMIN_TYPE_STATISTICHE = 16; - const ADMIN_TYPE_NEWSLETTER = 32; - const ADMIN_TYPE_SONDAGGI = 64; - const ADMIN_TYPE_EDITORE = 128; - const ADMIN_TYPE_EDITORE_SUPERVISOR = 256; + const ADMIN_TYPE_NORMALADMIN = 2; + const ADMIN_TYPE_EDITORE = 4; + const ADMIN_TYPE_EDITORE_SUPERVISOR = 8; + const ADMIN_TYPE_BANNER = 16; + const ADMIN_TYPE_BANNER_SUPERVISOR = 32; + const ADMIN_TYPE_COMMENTI_SUPERVISOR = 64; + const ADMIN_TYPE_STATISTICHE_SUPERVISOR = 128; + const ADMIN_TYPE_NEWSLETTER = 256; + const ADMIN_TYPE_SONDAGGI = 512; - public static $ROLE_ADMIN_HANDLED = array( - self::ADMIN_TYPE_EDITORE => array("label"=>"Editore") - ); - public static $ROLE_SUPERADMIN_HANDLED = array( - self::ADMIN_TYPE_BANNER => array("label"=>"Banner"), - self::ADMIN_TYPE_ROLEADMIN => array("label"=>"Amministratore"), - self::ADMIN_TYPE_COMMENTI => array("label"=>"Commenti"), - self::ADMIN_TYPE_STATISTICHE => array("label"=>"Statistiche"), - self::ADMIN_TYPE_NEWSLETTER => array("label"=>"Newsletter"), - self::ADMIN_TYPE_SONDAGGI => array("label"=>"Sondaggi"), - self::ADMIN_TYPE_EDITORE => array("label"=>"Editore"), - self::ADMIN_TYPE_EDITORE_SUPERVISOR => array("label"=>"Supervisione Editori") + + public static $ADMIN_TYPES = array( + self::ADMIN_TYPE_SUPERADMIN => array("label"=>"Superadmin","typeFlags"=>self::TYPE_FLAG_HIDDEN), + self::ADMIN_TYPE_NORMALADMIN => array("label"=>"Role Admin","typeFlags"=>self::TYPE_FLAG_NONE), + self::ADMIN_TYPE_EDITORE => array("label"=>"Editore","typeFlags"=>self::TYPE_FLAG_BASE), + self::ADMIN_TYPE_EDITORE_SUPERVISOR => array("label"=>"Editore Supervisor","typeFlags"=>self::TYPE_FLAG_NONE), + self::ADMIN_TYPE_BANNER => array("label"=>"Banner","typeFlags"=>self::TYPE_FLAG_NONE), + self::ADMIN_TYPE_BANNER_SUPERVISOR => array("label"=>"Banner Supervisor","typeFlags"=>self::TYPE_FLAG_NONE), + self::ADMIN_TYPE_COMMENTI_SUPERVISOR => array("label"=>"Commenti Supervisor","typeFlags"=>self::TYPE_FLAG_NONE), + self::ADMIN_TYPE_STATISTICHE_SUPERVISOR => array("label"=>"Statistiche Supervisor","typeFlags"=>self::TYPE_FLAG_NONE), + self::ADMIN_TYPE_NEWSLETTER => array("label"=>"Newsletter","typeFlags"=>self::TYPE_FLAG_NONE), + self::ADMIN_TYPE_SONDAGGI => array("label"=>"Sondaggi","typeFlags"=>self::TYPE_FLAG_NONE) ); public function __construct($saveableObject = null){ parent::__construct($saveableObject); if (!$this->hasProperty("roles")){ - $this->roles = false; + $this->roles = 0; } } @@ -43,19 +60,19 @@ class AdminModel extends Model{ } public function hasRole($role){ - return $role & $this->role == $role; + return ($role & $this->roles) == $role; } public function addRole($role){ - $this->role = $this->role | $role; + $this->roles = $this->roles | $role; } public function removeRole($role){ - $this->role = $this->role & ~$role; + $this->roles = $this->roles & ~$role; } public function setRole($role){ - $this->role = $role; + $this->roles = $role; } } diff --git a/private/lib/dao/models/UserModel.php b/private/lib/dao/models/UserModel.php new file mode 100644 index 0000000..030e804 --- /dev/null +++ b/private/lib/dao/models/UserModel.php @@ -0,0 +1,20 @@ + \ No newline at end of file diff --git a/private/lib/gui/ASDSessionHandler.php b/private/lib/gui/ASDSessionHandler.php index d714f8e..5cdcae1 100644 --- a/private/lib/gui/ASDSessionHandler.php +++ b/private/lib/gui/ASDSessionHandler.php @@ -22,9 +22,14 @@ class ASDSessionHandler { } } + public static function sessionValueExists($val){ + self::prepareToOperate(); + return array_key_exists($val,$_SESSION); + } + public static function getSessionValue($val){ self::prepareToOperate(); - return (array_key_exists($val,$_SESSION)?$_SESSION[$val]:null); + return (self::sessionValueExists($val)?$_SESSION[$val]:null); } public static function setSessionValue($key,$val){ diff --git a/private/lib/gui/GUIHandler.php b/private/lib/gui/GUIHandler.php index 3e92e22..64e49ac 100644 --- a/private/lib/gui/GUIHandler.php +++ b/private/lib/gui/GUIHandler.php @@ -5,8 +5,18 @@ Creation Date: 13/gen/2016 */ class GUIHandler { + const STYLESHEET_GENERAL = 0; + const STYLESHEET_USER = 1; + const STYLESHEET_ADMIN = 2; - public static function generateHtmlHeaders(array $data = array()){ + const JAVASCRIPT_GENERAL = 0; + const JAVASCRIPT_USER = 1; + const JAVASCRIPT_ADMIN = 2; + + private static $STYLESHEETS = array(self::STYLESHEET_GENERAL=>array(),self::STYLESHEET_USER=>array(),self::STYLESHEET_ADMIN=>array()); + private static $JAVASCRIPTS = array(self::JAVASCRIPT_GENERAL=>array(),self::JAVASCRIPT_USER=>array(),self::JAVASCRIPT_ADMIN=>array()); + + public static function generateHtmlHeaders(array $data = array(), $admin = false){ $conf = GlobalVariables::get("config"); $title = $conf->info->projectName; @@ -35,16 +45,72 @@ class GUIHandler { echo "\n"; echo ""; echo ''."\n"; -// foreach (self::$inclusions as $incl){ -// $incl->render(); -// } + + foreach (self::$STYLESHEETS[self::STYLESHEET_GENERAL] as $file){ + echo ''."\n"; + } + + foreach (self::$JAVASCRIPTS[self::JAVASCRIPT_GENERAL] as $file){ + echo ''."\n"; + } + + $othJs = $admin?self::JAVASCRIPT_ADMIN:self::JAVASCRIPT_USER; + foreach (self::$JAVASCRIPTS[$othJs] as $file){ + echo ''."\n"; + } + echo ''; } - public static function getImagesUrl(){ - return "./images"; + public static function redirect($url){ +// $tmp = new JavaScriptElement("var index = window.location.href.indexOf('#');window.location.href='".$url."'+(index == -1 ? '' : window.location.href.substr(index));"); +// $tmp->render(); + echo ''; + die(); + } + + public static function addStylesheet($group, $file){ + if (array_key_exists($group, self::$STYLESHEETS)){ + self::$STYLESHEETS[$group][] = self::getStylesheetsUrl().$file; + } + else { + throw new CoreException("Invalid stylesheet group ($group) passed to GUIHandler::addStylesheet() for file '$file'"); + } } + public static function addJavascriptLib($group, $file){ + if (array_key_exists($group, self::$JAVASCRIPTS)){ + self::$JAVASCRIPTS[$group][] = self::getJavascriptsUrl().$file; + } + else { + throw new CoreException("Invalid stylesheet group ($group) passed to GUIHandler::addJavascriptLib() for file '$file'"); + } + } +// public static function generateLoadingOverlay(){ +// echo '
Caricamento....
Attendere prego

'; +// } + + public static function getBaseUrl(){ + $conf = GlobalVariables::get("config"); + return "http://$_SERVER[HTTP_HOST]".$conf->pages->remoteLocationPath; + } + + public static function getImagesUrl(){ + return self::getBaseUrl()."images/"; + } + + public static function getStylesheetsUrl(){ + return self::getBaseUrl()."style/"; + } + + public static function getJavascriptsUrl(){ + return self::getBaseUrl()."js/"; + } } ?> \ No newline at end of file diff --git a/private/lib/gui/MenuGenerator.php b/private/lib/gui/MenuGenerator.php new file mode 100644 index 0000000..c989fe3 --- /dev/null +++ b/private/lib/gui/MenuGenerator.php @@ -0,0 +1,34 @@ +"superAdmin","page"=>"superAdmin.php","requires"=>AdminModel::ADMIN_TYPE_SUPERADMIN), + array("label"=>"roleAdmin","page"=>"roleAdmin.php","requires"=>AdminModel::ADMIN_TYPE_NORMALADMIN), + array("label"=>"users","page"=>"users.php","requires"=>AdminModel::ADMIN_TYPE_NORMALADMIN), + array("label"=>"notizie","page"=>"notizie.php","requires"=>AdminModel::ADMIN_TYPE_EDITORE_SUPERVISOR), + array("label"=>"myNotizie","page"=>"myNotizie.php","requires"=>AdminModel::ADMIN_TYPE_EDITORE), + array("label"=>"banner","page"=>"banner.php","requires"=>AdminModel::ADMIN_TYPE_BANNER), + array("label"=>"commenti","page"=>"commenti.php","requires"=>AdminModel::ADMIN_TYPE_COMMENTI_SUPERVISOR), + array("label"=>"statistiche","page"=>"statistiche.php","requires"=>AdminModel::ADMIN_TYPE_STATISTICHE_SUPERVISOR), + array("label"=>"newsletter","page"=>"newsletter.php","requires"=>AdminModel::ADMIN_TYPE_NEWSLETTER) + ); + + public static function getVoices(){ + $user = AdminLoginManager::getLogged(); + $rval = array(); + foreach (self::$voices as $voice){ + if ($user->hasRole($voice["requires"])){ + $rval[] = $voice; + } + } + return $rval; + } + +} + +?> \ No newline at end of file diff --git a/private/lib/gui/html.inclusion.php b/private/lib/gui/html.inclusion.php new file mode 100644 index 0000000..68f4adf --- /dev/null +++ b/private/lib/gui/html.inclusion.php @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/private/lib/gui/lib.inclusion.php b/private/lib/gui/lib.inclusion.php index 4b4e870..d78be98 100644 --- a/private/lib/gui/lib.inclusion.php +++ b/private/lib/gui/lib.inclusion.php @@ -15,8 +15,17 @@ require_once(dirname(__FILE__)."/PostHandler.php"); require_once(dirname(__FILE__)."/ASDSessionHandler.php"); +require_once(dirname(__FILE__)."/loginManager/LoginManager.php"); +require_once(dirname(__FILE__)."/loginManager/AdminLoginManager.php"); +require_once(dirname(__FILE__)."/loginManager/UserLoginManager.php"); + + +require_once(dirname(__FILE__)."/MenuGenerator.php"); // GUIHandler::setCatalogManager(new StaticCatalogManager($catalog[$config->locale->gui])); // $systemCatalogManager = new StaticCatalogManager($catalog[$config->locale->system]); $systemCatalogManager = new StaticCatalogManager(array()); + + +require_once(dirname(__FILE__)."/html.inclusion.php"); ?> \ No newline at end of file diff --git a/private/lib/gui/loginManager/AdminLoginManager.php b/private/lib/gui/loginManager/AdminLoginManager.php index cf22142..ab5efed 100644 --- a/private/lib/gui/loginManager/AdminLoginManager.php +++ b/private/lib/gui/loginManager/AdminLoginManager.php @@ -4,10 +4,13 @@ Author: Riccardo Di Dato Creation Date: 13/gen/2016 */ -class AdminLoginManager { - - - +class AdminLoginManager extends LoginManager{ + protected static function getRelatedModel(){ + return "AdminModel"; + } + protected static function getSessionVariableName(){ + return "loggedAdmin"; + } } ?> \ No newline at end of file diff --git a/private/lib/gui/loginManager/LoginManager.php b/private/lib/gui/loginManager/LoginManager.php new file mode 100644 index 0000000..f11e744 --- /dev/null +++ b/private/lib/gui/loginManager/LoginManager.php @@ -0,0 +1,67 @@ +getFirst(static::getRelatedModel(),array("username"=>$login,"password"=>sha1($pass))); + + if (!is_null($user) && is_object($user)){ + ASDSessionHandler::setSessionValue(static::getSessionVariableName(), $user); + + $user->lastConnection = new stdClass(); + $user->lastConnection->date = new MongoDate(); + $user->lastConnection->ip = $_SERVER['REMOTE_ADDR']; + $dao->save($user); + $rval = true; + } + return $rval; + } + + /** + * Slogga l'utente + */ + public static function logout(){ + ASDSessionHandler::unsetSessionValue(static::getSessionVariableName()); + } + + /** + * Restituisce true se l'utente è loggato + * @return bool + */ + public static function isLogged(){ + return ASDSessionHandler::sessionValueExists(static::getSessionVariableName()); + } + + /** + * Restituisce l'utente loggato + * @return Model + */ + public static function getLogged(){ + return ASDSessionHandler::getSessionValue(static::getSessionVariableName()); + } + + /** + * Restituisce il nome della classe model da utilizzare + * @return string + */ + protected static abstract function getRelatedModel(); + /** + * Restituisce il nome della variabile di sessione da utilizzare + */ + protected static abstract function getSessionVariableName(); +} + +?> \ No newline at end of file diff --git a/private/lib/gui/loginManager/UserLoginManager.php b/private/lib/gui/loginManager/UserLoginManager.php index 3d3d40e..21eba3c 100644 --- a/private/lib/gui/loginManager/UserLoginManager.php +++ b/private/lib/gui/loginManager/UserLoginManager.php @@ -4,8 +4,13 @@ Author: Riccardo Di Dato Creation Date: 13/gen/2016 */ -class UserLoginManager { - +class UserLoginManager extends LoginManager{ + protected static function getRelatedModel(){ + return "UserModel"; + } + protected static function getSessionVariableName(){ + return "loggedUser"; + } } ?> \ No newline at end of file diff --git a/public/admin/index.php b/public/admin/index.php index be96694..1a40002 100644 --- a/public/admin/index.php +++ b/public/admin/index.php @@ -4,4 +4,28 @@ Author: Riccardo Di Dato Creation Date: 13/gen/2016 */ -?> \ No newline at end of file +require_once(dirname(__FILE__)."/../load.php"); + +GUIHandler::generateHtmlHeaders(array(),true); + +if (!AdminLoginManager::isLogged()){ + GUIHandler::redirect("admin/login.php"); +} + + +?> + \ No newline at end of file diff --git a/public/admin/login.php b/public/admin/login.php index 965c7bd..a5fe3a4 100644 --- a/public/admin/login.php +++ b/public/admin/login.php @@ -4,8 +4,14 @@ Author: Riccardo Di Dato Creation Date: 13/gen/2016 */ + require_once(dirname(__FILE__)."/../load.php"); -GUIHandler::generateHtmlHeaders(); + +GUIHandler::generateHtmlHeaders(array(),true); + +if (AdminLoginManager::isLogged()){ + GUIHandler::redirect("admin/index.php"); +} $action = PostHandler::get("action"); @@ -14,25 +20,22 @@ if (!is_null($action) && strcmp($action,"login")==0){ $username = PostHandler::get("username"); $pass = PostHandler::get("pass"); - if (!is_null($username) && strcmp($username,"")!=0 && !is_null($pass) && strcmp($pass,"")!=0){ - $dao = GlobalVariables::get("dao"); - - $dao->getFirst("AdminModel",array("username"=>$username,"password"=>sha1($pass))); - if (!LoginManager::loginUser($username,$pass)){ + if (!is_null($username) && strcmp($username,"")!=0 && !is_null($pass) && strcmp($pass,"")!=0){ + if (!AdminLoginManager::login($username, $pass)){ $errMsg = "Invalid Data"; } else { - GUIHandler::changeLocation($config->pages->index); + GUIHandler::redirect("admin/index.php"); } } } echo ''; -GUIHandler::generateLoadingOverlay(); +// GUIHandler::generateLoadingOverlay(); ?>
- +

Login

diff --git a/public/admin/logout.php b/public/admin/logout.php index 4ecede3..58c603a 100644 --- a/public/admin/logout.php +++ b/public/admin/logout.php @@ -4,6 +4,13 @@ Author: Riccardo Di Dato Creation Date: 13/gen/2016 */ +require_once(dirname(__FILE__)."/../load.php"); + +GUIHandler::generateHtmlHeaders(array(),true); + +AdminLoginManager::logout(); + +GUIHandler::redirect("admin/login.php"); ?> diff --git a/public/images/header.png b/public/images/header.png new file mode 100644 index 0000000000000000000000000000000000000000..0f3a27e12d29408a0feb06c3220d8ecd1ed0ea1a GIT binary patch literal 125871 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
_=2wto)qc4#7 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"notizia")); - TestTask::setActive(false); - echo "

"; - $models = $dao->query("NotiziaModel"); - $model = reset($models); +// TestTask::setActive(false); +// echo "

"; - var_dump($model); - echo "

"; +// $models = $dao->query("NotiziaModel"); +// $model = reset($models); - $model->immagini = array(); +// var_dump($model); +// echo "

"; - $model->immagini[] = "1.jpg"; - $model->immagini[] = "2.jpg"; - $model->about->giorno = "boh"; +// $model->immagini = array(); - if ($model->hasProperty("about")){ - echo "esiste"; - } - else { - echo "non esiste"; - } +// $model->immagini[] = "1.jpg"; +// $model->immagini[] = "2.jpg"; +// $model->about->giorno = "boh"; - var_dump($model); - echo "

"; +// if ($model->hasProperty("about")){ +// echo "esiste"; +// } +// else { +// echo "non esiste"; +// } - $dao->save($model); +// var_dump($model); +// echo "

"; +// $dao->save($model); + +// $data = new stdClass(); +// $data->username = "rik"; +// $data->password = sha1("rik"); +// $model = new AdminModel($data); +// GlobalVariables::get("dao")->save($model); +// var_dump($model); } catch (Exception $ex){ echo $ex->getMessage(); diff --git a/public/js/chosen.jquery.min.js b/public/js/chosen.jquery.min.js new file mode 100644 index 0000000..81c6916 --- /dev/null +++ b/public/js/chosen.jquery.min.js @@ -0,0 +1,10 @@ +// Chosen, a Select Box Enhancer for jQuery and Protoype +// by Patrick Filler for Harvest, http://getharvest.com +// +// Version 0.9.8 +// Full source at https://github.com/harvesthq/chosen +// Copyright (c) 2011 Harvest http://getharvest.com + +// MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md +// This file is generated by `cake build`, do not edit it by hand. +(function(){var SelectParser;SelectParser=function(){function SelectParser(){this.options_index=0,this.parsed=[]}return SelectParser.prototype.add_node=function(child){return child.nodeName.toUpperCase()==="OPTGROUP"?this.add_group(child):this.add_option(child)},SelectParser.prototype.add_group=function(group){var group_position,option,_i,_len,_ref,_results;group_position=this.parsed.length,this.parsed.push({array_index:group_position,group:!0,label:group.label,children:0,disabled:group.disabled}),_ref=group.childNodes,_results=[];for(_i=0,_len=_ref.length;_i<_len;_i++)option=_ref[_i],_results.push(this.add_option(option,group_position,group.disabled));return _results},SelectParser.prototype.add_option=function(option,group_position,group_disabled){if(option.nodeName.toUpperCase()==="OPTION")return option.text!==""?(group_position!=null&&(this.parsed[group_position].children+=1),this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,value:option.value,text:option.text,html:option.innerHTML,selected:option.selected,disabled:group_disabled===!0?group_disabled:option.disabled,group_array_index:group_position,classes:option.className,style:option.style.cssText})):this.parsed.push({array_index:this.parsed.length,options_index:this.options_index,empty:!0}),this.options_index+=1},SelectParser}(),SelectParser.select_to_array=function(select){var child,parser,_i,_len,_ref;parser=new SelectParser,_ref=select.childNodes;for(_i=0,_len=_ref.length;_i<_len;_i++)child=_ref[_i],parser.add_node(child);return parser.parsed},this.SelectParser=SelectParser}).call(this),function(){var AbstractChosen,root;root=this,AbstractChosen=function(){function AbstractChosen(form_field,options){this.form_field=form_field,this.options=options!=null?options:{},this.set_default_values(),this.is_multiple=this.form_field.multiple,this.set_default_text(),this.setup(),this.set_up_html(),this.register_observers(),this.finish_setup()}return AbstractChosen.prototype.set_default_values=function(){var _this=this;return this.click_test_action=function(evt){return _this.test_active_click(evt)},this.activate_action=function(evt){return _this.activate_field(evt)},this.active_field=!1,this.mouse_on_container=!1,this.results_showing=!1,this.result_highlighted=null,this.result_single_selected=null,this.allow_single_deselect=this.options.allow_single_deselect!=null&&this.form_field.options[0]!=null&&this.form_field.options[0].text===""?this.options.allow_single_deselect:!1,this.disable_search_threshold=this.options.disable_search_threshold||0,this.disable_search=this.options.disable_search||!1,this.search_contains=this.options.search_contains||!1,this.choices=0,this.single_backstroke_delete=this.options.single_backstroke_delete||!1,this.max_selected_options=this.options.max_selected_options||Infinity},AbstractChosen.prototype.set_default_text=function(){return this.form_field.getAttribute("data-placeholder")?this.default_text=this.form_field.getAttribute("data-placeholder"):this.is_multiple?this.default_text=this.options.placeholder_text_multiple||this.options.placeholder_text||"Select Some Options":this.default_text=this.options.placeholder_text_single||this.options.placeholder_text||"Select an Option",this.results_none_found=this.form_field.getAttribute("data-no_results_text")||this.options.no_results_text||"No results match"},AbstractChosen.prototype.mouse_enter=function(){return this.mouse_on_container=!0},AbstractChosen.prototype.mouse_leave=function(){return this.mouse_on_container=!1},AbstractChosen.prototype.input_focus=function(evt){var _this=this;if(!this.active_field)return setTimeout(function(){return _this.container_mousedown()},50)},AbstractChosen.prototype.input_blur=function(evt){var _this=this;if(!this.mouse_on_container)return this.active_field=!1,setTimeout(function(){return _this.blur_test()},100)},AbstractChosen.prototype.result_add_option=function(option){var classes,style;return option.disabled?"":(option.dom_id=this.container_id+"_o_"+option.array_index,classes=option.selected&&this.is_multiple?[]:["active-result"],option.selected&&classes.push("result-selected"),option.group_array_index!=null&&classes.push("group-option"),option.classes!==""&&classes.push(option.classes),style=option.style.cssText!==""?' style="'+option.style+'"':"",'
  • "+option.html+"
  • ")},AbstractChosen.prototype.results_update_field=function(){return this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build()},AbstractChosen.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},AbstractChosen.prototype.results_search=function(evt){return this.results_showing?this.winnow_results():this.results_show()},AbstractChosen.prototype.keyup_checker=function(evt){var stroke,_ref;stroke=(_ref=evt.which)!=null?_ref:evt.keyCode,this.search_field_scale();switch(stroke){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:evt.preventDefault();if(this.results_showing)return this.result_select(evt);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},AbstractChosen.prototype.generate_field_id=function(){var new_id;return new_id=this.generate_random_id(),this.form_field.id=new_id,new_id},AbstractChosen.prototype.generate_random_char=function(){var chars,newchar,rand;return chars="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",rand=Math.floor(Math.random()*chars.length),newchar=chars.substring(rand,rand+1)},AbstractChosen}(),root.AbstractChosen=AbstractChosen}.call(this),function(){var $,Chosen,get_side_border_padding,root,__hasProp=Object.prototype.hasOwnProperty,__extends=function(child,parent){function ctor(){this.constructor=child}for(var key in parent)__hasProp.call(parent,key)&&(child[key]=parent[key]);return ctor.prototype=parent.prototype,child.prototype=new ctor,child.__super__=parent.prototype,child};root=this,$=jQuery,$.fn.extend({chosen:function(options){return $.browser.msie&&($.browser.version==="6.0"||$.browser.version==="7.0"&&document.documentMode===7)?this:this.each(function(input_field){var $this;$this=$(this);if(!$this.hasClass("chzn-done"))return $this.data("chosen",new Chosen(this,options))})}}),Chosen=function(_super){function Chosen(){Chosen.__super__.constructor.apply(this,arguments)}return __extends(Chosen,_super),Chosen.prototype.setup=function(){return this.form_field_jq=$(this.form_field),this.current_value=this.form_field_jq.val(),this.is_rtl=this.form_field_jq.hasClass("chzn-rtl")},Chosen.prototype.finish_setup=function(){return this.form_field_jq.addClass("chzn-done")},Chosen.prototype.set_up_html=function(){var container_div,dd_top,dd_width,sf_width;return this.container_id=this.form_field.id.length?this.form_field.id.replace(/[^\w]/g,"_"):this.generate_field_id(),this.container_id+="_chzn",this.f_width=this.form_field_jq.outerWidth(),container_div=$("
    ')[0];l.body.appendChild(b);a.oBrowser.bScrollOversize=100===i("#DT_BrowserTest", +b)[0].offsetWidth?!0:!1;l.body.removeChild(b)}function Xa(a){return function(){var b=[u(this[j.ext.iApiIndex])].concat(Array.prototype.slice.call(arguments));return j.ext.oApi[a].apply(this,b)}}var V=/\[.*?\]$/,Ya=O.JSON?JSON.stringify:function(a){var b=typeof a;if("object"!==b||null===a)return"string"===b&&(a='"'+a+'"'),a+"";var c,d,h=[],e=i.isArray(a);for(c in a)d=a[c],b=typeof d,"string"===b?d='"'+d+'"':"object"===b&&null!==d&&(d=Ya(d)),h.push((e?"":'"'+c+'":')+d);return(e?"[":"{")+h+(e?"]":"}")}; +this.$=function(a,b){var c,d,h=[],e;d=u(this[j.ext.iApiIndex]);var g=d.aoData,o=d.aiDisplay,k=d.aiDisplayMaster;b||(b={});b=i.extend({},{filter:"none",order:"current",page:"all"},b);if("current"==b.page){c=d._iDisplayStart;for(d=d.fnDisplayEnd();c=d.fnRecordsDisplay()&&(d._iDisplayStart-=d._iDisplayLength,0>d._iDisplayStart&&(d._iDisplayStart=0));if(c===n||c)A(d),z(d);return g};this.fnDestroy=function(a){var b=u(this[j.ext.iApiIndex]),c=b.nTableWrapper.parentNode,d=b.nTBody,e,f,a=a===n?!1:!0;b.bDestroying=!0;C(b,"aoDestroyCallback","destroy",[b]);e=0;for(f=b.aoColumns.length;etr>td."+b.oClasses.sRowEmpty,b.nTable).parent().remove();b.nTable!=b.nTHead.parentNode&&(i(b.nTable).children("thead").remove(),b.nTable.appendChild(b.nTHead));b.nTFoot&&b.nTable!=b.nTFoot.parentNode&&(i(b.nTable).children("tfoot").remove(),b.nTable.appendChild(b.nTFoot));b.nTable.parentNode.removeChild(b.nTable);i(b.nTableWrapper).remove();b.aaSorting=[];b.aaSortingFixed=[];R(b);i(U(b)).removeClass(b.asStripeClasses.join(" "));i("th, td",b.nTHead).removeClass([b.oClasses.sSortable,b.oClasses.sSortableAsc, +b.oClasses.sSortableDesc,b.oClasses.sSortableNone].join(" "));b.bJUI&&(i("th span."+b.oClasses.sSortIcon+", td span."+b.oClasses.sSortIcon,b.nTHead).remove(),i("th, td",b.nTHead).each(function(){var a=i("div."+b.oClasses.sSortJUIWrapper,this),c=a.contents();i(this).append(c);a.remove()}));!a&&b.nTableReinsertBefore?c.insertBefore(b.nTable,b.nTableReinsertBefore):a||c.appendChild(b.nTable);e=0;for(f=b.aoData.length;e=w(d);if(!m)for(e=a;et<"F"ip>')):i.extend(g.oClasses,j.ext.oStdClasses);i(this).addClass(g.oClasses.sTable);if(""!==g.oScroll.sX||""!== +g.oScroll.sY)g.oScroll.iBarWidth=Ra();g.iInitDisplayStart===n&&(g.iInitDisplayStart=e.iDisplayStart,g._iDisplayStart=e.iDisplayStart);e.bStateSave&&(g.oFeatures.bStateSave=!0,Ta(g,e),B(g,"aoDrawCallback",qa,"state_save"));null!==e.iDeferLoading&&(g.bDeferLoading=!0,a=i.isArray(e.iDeferLoading),g._iRecordsDisplay=a?e.iDeferLoading[0]:e.iDeferLoading,g._iRecordsTotal=a?e.iDeferLoading[1]:e.iDeferLoading);null!==e.aaData&&(f=!0);""!==e.oLanguage.sUrl?(g.oLanguage.sUrl=e.oLanguage.sUrl,i.getJSON(g.oLanguage.sUrl, +null,function(a){oa(a);i.extend(true,g.oLanguage,e.oLanguage,a);ba(g)}),h=!0):i.extend(!0,g.oLanguage,e.oLanguage);null===e.asStripeClasses&&(g.asStripeClasses=[g.oClasses.sStripeOdd,g.oClasses.sStripeEven]);c=!1;d=i(this).children("tbody").children("tr");a=0;for(b=g.asStripeClasses.length;a=g.aoColumns.length&&(g.aaSorting[a][0]=0);var k=g.aoColumns[g.aaSorting[a][0]];g.aaSorting[a][2]===n&&(g.aaSorting[a][2]=0);e.aaSorting===n&&g.saved_aaSorting===n&&(g.aaSorting[a][1]=k.asSorting[0]);c=0;for(d=k.asSorting.length;c=parseInt(l,10)}; +j.fnIsDataTable=function(e){for(var i=j.settings,r=0;re)return e;for(var i=e+"",e=i.split(""),j="",i=i.length,k=0;k'+k.sPrevious+''+k.sNext+"":'';i(j).append(k);var t=i("a",j),k=t[0],t=t[1];e.oApi._fnBindAction(k,{action:"previous"}, +l);e.oApi._fnBindAction(t,{action:"next"},l);e.aanFeatures.p||(j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_previous",t.id=e.sTableId+"_next",k.setAttribute("aria-controls",e.sTableId),t.setAttribute("aria-controls",e.sTableId))},fnUpdate:function(e){if(e.aanFeatures.p)for(var i=e.oClasses,j=e.aanFeatures.p,k=0,n=j.length;k'+k.sFirst+''+k.sPrevious+''+k.sNext+''+k.sLast+"");var w=i("a",j),k=w[0],l=w[1],v=w[2],w=w[3];e.oApi._fnBindAction(k,{action:"first"},t);e.oApi._fnBindAction(l,{action:"previous"},t);e.oApi._fnBindAction(v,{action:"next"},t);e.oApi._fnBindAction(w,{action:"last"},t);e.aanFeatures.p||(j.id=e.sTableId+"_paginate",k.id=e.sTableId+"_first",l.id=e.sTableId+"_previous",v.id=e.sTableId+"_next",w.id=e.sTableId+"_last")},fnUpdate:function(e,o){if(e.aanFeatures.p){var l=j.ext.oPagination.iFullNumbersShowPages, +k=Math.floor(l/2),n=Math.ceil(e.fnRecordsDisplay()/e._iDisplayLength),t=Math.ceil(e._iDisplayStart/e._iDisplayLength)+1,w="",v,D=e.oClasses,y,H=e.aanFeatures.p,O=function(i){e.oApi._fnBindAction(this,{page:i+v-1},function(i){e.oApi._fnPageChange(e,i.data.page);o(e);i.preventDefault()})};-1===e._iDisplayLength?t=k=v=1:n=n-k?(v=n-l+1,k=n):(v=t-Math.ceil(l/2)+1,k=v+l-1);for(l=v;l<=k;l++)w+=t!==l?''+e.fnFormatNumber(l)+ +"":''+e.fnFormatNumber(l)+"";l=0;for(k=H.length;li?1:0},"string-desc":function(e,i){return ei?-1:0},"html-pre":function(e){return e.replace(/<.*?>/g,"").toLowerCase()},"html-asc":function(e,i){return ei?1:0},"html-desc":function(e,i){return ei?-1:0},"date-pre":function(e){e=Date.parse(e);if(isNaN(e)||""=== +e)e=Date.parse("01/01/1970 00:00:00");return e},"date-asc":function(e,i){return e-i},"date-desc":function(e,i){return i-e},"numeric-pre":function(e){return"-"==e||""===e?0:1*e},"numeric-asc":function(e,i){return e-i},"numeric-desc":function(e,i){return i-e}});i.extend(j.ext.aTypes,[function(e){if("number"===typeof e)return"numeric";if("string"!==typeof e)return null;var i,j=!1;i=e.charAt(0);if(-1=="0123456789-".indexOf(i))return null;for(var k=1;k")?"html":null}]);i.fn.DataTable=j;i.fn.dataTable=j;i.fn.dataTableSettings=j.settings;i.fn.dataTableExt=j.ext})(jQuery,window,document,void 0); diff --git a/public/js/jquery.form.js b/public/js/jquery.form.js new file mode 100644 index 0000000..8f16819 --- /dev/null +++ b/public/js/jquery.form.js @@ -0,0 +1,1175 @@ +/*! + * jQuery Form Plugin + * version: 3.32.0-2013.04.03 + * @requires jQuery v1.5 or later + * + * Examples and documentation at: http://malsup.com/jquery/form/ + * Project repository: https://github.com/malsup/form + * Dual licensed under the MIT and GPL licenses: + * http://malsup.github.com/mit-license.txt + * http://malsup.github.com/gpl-license-v2.txt + */ +/*global ActiveXObject */ +;(function($) { +"use strict"; + +/* + Usage Note: + ----------- + Do not use both ajaxSubmit and ajaxForm on the same form. These + functions are mutually exclusive. Use ajaxSubmit if you want + to bind your own submit handler to the form. For example, + + $(document).ready(function() { + $('#myForm').on('submit', function(e) { + e.preventDefault(); // <-- important + $(this).ajaxSubmit({ + target: '#output' + }); + }); + }); + + Use ajaxForm when you want the plugin to manage all the event binding + for you. For example, + + $(document).ready(function() { + $('#myForm').ajaxForm({ + target: '#output' + }); + }); + + You can also use ajaxForm with delegation (requires jQuery v1.7+), so the + form does not have to exist when you invoke ajaxForm: + + $('#myForm').ajaxForm({ + delegation: true, + target: '#output' + }); + + When using ajaxForm, the ajaxSubmit function will be invoked for you + at the appropriate time. +*/ + +/** + * Feature detection + */ +var feature = {}; +feature.fileapi = $("").get(0).files !== undefined; +feature.formdata = window.FormData !== undefined; + +var hasProp = !!$.fn.prop; + +// attr2 uses prop when it can but checks the return type for +// an expected string. this accounts for the case where a form +// contains inputs with names like "action" or "method"; in those +// cases "prop" returns the element +$.fn.attr2 = function() { + if ( ! hasProp ) + return this.attr.apply(this, arguments); + var val = this.prop.apply(this, arguments); + if ( ( val && val.jquery ) || typeof val === 'string' ) + return val; + return this.attr.apply(this, arguments); +}; + +/** + * ajaxSubmit() provides a mechanism for immediately submitting + * an HTML form using AJAX. + */ +$.fn.ajaxSubmit = function(options) { + /*jshint scripturl:true */ + + // fast fail if nothing selected (http://dev.jquery.com/ticket/2752) + if (!this.length) { + log('ajaxSubmit: skipping submit process - no element selected'); + return this; + } + + var method, action, url, $form = this; + + if (typeof options == 'function') { + options = { success: options }; + } + + method = this.attr2('method'); + action = this.attr2('action'); + + url = (typeof action === 'string') ? $.trim(action) : ''; + url = url || window.location.href || ''; + if (url) { + // clean url (don't include hash vaue) + url = (url.match(/^([^#]+)/)||[])[1]; + } + + options = $.extend(true, { + url: url, + success: $.ajaxSettings.success, + type: method || 'GET', + iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank' + }, options); + + // hook for manipulating the form data before it is extracted; + // convenient for use with rich editors like tinyMCE or FCKEditor + var veto = {}; + this.trigger('form-pre-serialize', [this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-pre-serialize trigger'); + return this; + } + + // provide opportunity to alter form data before it is serialized + if (options.beforeSerialize && options.beforeSerialize(this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSerialize callback'); + return this; + } + + var traditional = options.traditional; + if ( traditional === undefined ) { + traditional = $.ajaxSettings.traditional; + } + + var elements = []; + var qx, a = this.formToArray(options.semantic, elements); + if (options.data) { + options.extraData = options.data; + qx = $.param(options.data, traditional); + } + + // give pre-submit callback an opportunity to abort the submit + if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) { + log('ajaxSubmit: submit aborted via beforeSubmit callback'); + return this; + } + + // fire vetoable 'validate' event + this.trigger('form-submit-validate', [a, this, options, veto]); + if (veto.veto) { + log('ajaxSubmit: submit vetoed via form-submit-validate trigger'); + return this; + } + + var q = $.param(a, traditional); + if (qx) { + q = ( q ? (q + '&' + qx) : qx ); + } + if (options.type.toUpperCase() == 'GET') { + options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q; + options.data = null; // data is null for 'get' + } + else { + options.data = q; // data is the query string for 'post' + } + + var callbacks = []; + if (options.resetForm) { + callbacks.push(function() { $form.resetForm(); }); + } + if (options.clearForm) { + callbacks.push(function() { $form.clearForm(options.includeHidden); }); + } + + // perform a load on the target only if dataType is not provided + if (!options.dataType && options.target) { + var oldSuccess = options.success || function(){}; + callbacks.push(function(data) { + var fn = options.replaceTarget ? 'replaceWith' : 'html'; + $(options.target)[fn](data).each(oldSuccess, arguments); + }); + } + else if (options.success) { + callbacks.push(options.success); + } + + options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg + var context = options.context || this ; // jQuery 1.4+ supports scope context + for (var i=0, max=callbacks.length; i < max; i++) { + callbacks[i].apply(context, [data, status, xhr || $form, $form]); + } + }; + + // are there files to upload? + + // [value] (issue #113), also see comment: + // https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219 + var fileInputs = $('input[type=file]:enabled[value!=""]', this); + + var hasFileInputs = fileInputs.length > 0; + var mp = 'multipart/form-data'; + var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp); + + var fileAPI = feature.fileapi && feature.formdata; + log("fileAPI :" + fileAPI); + var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI; + + var jqxhr; + + // options.iframe allows user to force iframe mode + // 06-NOV-09: now defaulting to iframe mode if file input is detected + if (options.iframe !== false && (options.iframe || shouldUseFrame)) { + // hack to fix Safari hang (thanks to Tim Molendijk for this) + // see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d + if (options.closeKeepAlive) { + $.get(options.closeKeepAlive, function() { + jqxhr = fileUploadIframe(a); + }); + } + else { + jqxhr = fileUploadIframe(a); + } + } + else if ((hasFileInputs || multipart) && fileAPI) { + jqxhr = fileUploadXhr(a); + } + else { + jqxhr = $.ajax(options); + } + + $form.removeData('jqxhr').data('jqxhr', jqxhr); + + // clear element array + for (var k=0; k < elements.length; k++) + elements[k] = null; + + // fire 'notify' event + this.trigger('form-submit-notify', [this, options]); + return this; + + // utility fn for deep serialization + function deepSerialize(extraData){ + var serialized = $.param(extraData).split('&'); + var len = serialized.length; + var result = []; + var i, part; + for (i=0; i < len; i++) { + // #252; undo param space replacement + serialized[i] = serialized[i].replace(/\+/g,' '); + part = serialized[i].split('='); + // #278; use array instead of object storage, favoring array serializations + result.push([decodeURIComponent(part[0]), decodeURIComponent(part[1])]); + } + return result; + } + + // XMLHttpRequest Level 2 file uploads (big hat tip to francois2metz) + function fileUploadXhr(a) { + var formdata = new FormData(); + + for (var i=0; i < a.length; i++) { + formdata.append(a[i].name, a[i].value); + } + + if (options.extraData) { + var serializedData = deepSerialize(options.extraData); + for (i=0; i < serializedData.length; i++) + if (serializedData[i]) + formdata.append(serializedData[i][0], serializedData[i][1]); + } + + options.data = null; + + var s = $.extend(true, {}, $.ajaxSettings, options, { + contentType: false, + processData: false, + cache: false, + type: method || 'POST' + }); + + if (options.uploadProgress) { + // workaround because jqXHR does not expose upload property + s.xhr = function() { + var xhr = jQuery.ajaxSettings.xhr(); + if (xhr.upload) { + xhr.upload.addEventListener('progress', function(event) { + var percent = 0; + var position = event.loaded || event.position; /*event.position is deprecated*/ + var total = event.total; + if (event.lengthComputable) { + percent = Math.ceil(position / total * 100); + } + options.uploadProgress(event, position, total, percent); + }, false); + } + return xhr; + }; + } + + s.data = null; + var beforeSend = s.beforeSend; + s.beforeSend = function(xhr, o) { + o.data = formdata; + if(beforeSend) + beforeSend.call(this, xhr, o); + }; + return $.ajax(s); + } + + // private function for handling file uploads (hat tip to YAHOO!) + function fileUploadIframe(a) { + var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle; + var deferred = $.Deferred(); + + if (a) { + // ensure that every serialized input is still enabled + for (i=0; i < elements.length; i++) { + el = $(elements[i]); + if ( hasProp ) + el.prop('disabled', false); + else + el.removeAttr('disabled'); + } + } + + s = $.extend(true, {}, $.ajaxSettings, options); + s.context = s.context || s; + id = 'jqFormIO' + (new Date().getTime()); + if (s.iframeTarget) { + $io = $(s.iframeTarget); + n = $io.attr2('name'); + if (!n) + $io.attr2('name', id); + else + id = n; + } + else { + $io = $('
    ",{id:this.container_id,"class":"chzn-container"+(this.is_rtl?" chzn-rtl":""),style:"width: "+this.f_width+"px;"}),this.is_multiple?container_div.html('
      '):container_div.html('
      '+this.default_text+'
        '),this.form_field_jq.hide().after(container_div),this.container=$("#"+this.container_id),this.container.addClass("chzn-container-"+(this.is_multiple?"multi":"single")),this.dropdown=this.container.find("div.chzn-drop").first(),dd_top=this.container.height(),dd_width=this.f_width-get_side_border_padding(this.dropdown),this.dropdown.css({width:dd_width+"px",top:dd_top+"px"}),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chzn-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chzn-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chzn-search").first(),this.selected_item=this.container.find(".chzn-single").first(),sf_width=dd_width-get_side_border_padding(this.search_container)-get_side_border_padding(this.search_field),this.search_field.css({width:sf_width+"px"})),this.results_build(),this.set_tab_index(),this.form_field_jq.trigger("liszt:ready",{chosen:this})},Chosen.prototype.register_observers=function(){var _this=this;return this.container.mousedown(function(evt){return _this.container_mousedown(evt)}),this.container.mouseup(function(evt){return _this.container_mouseup(evt)}),this.container.mouseenter(function(evt){return _this.mouse_enter(evt)}),this.container.mouseleave(function(evt){return _this.mouse_leave(evt)}),this.search_results.mouseup(function(evt){return _this.search_results_mouseup(evt)}),this.search_results.mouseover(function(evt){return _this.search_results_mouseover(evt)}),this.search_results.mouseout(function(evt){return _this.search_results_mouseout(evt)}),this.form_field_jq.bind("liszt:updated",function(evt){return _this.results_update_field(evt)}),this.form_field_jq.bind("liszt:activate",function(evt){return _this.activate_field(evt)}),this.form_field_jq.bind("liszt:open",function(evt){return _this.container_mousedown(evt)}),this.search_field.blur(function(evt){return _this.input_blur(evt)}),this.search_field.keyup(function(evt){return _this.keyup_checker(evt)}),this.search_field.keydown(function(evt){return _this.keydown_checker(evt)}),this.is_multiple?(this.search_choices.click(function(evt){return _this.choices_click(evt)}),this.search_field.focus(function(evt){return _this.input_focus(evt)})):this.container.click(function(evt){return evt.preventDefault()})},Chosen.prototype.search_field_disabled=function(){this.is_disabled=this.form_field_jq[0].disabled;if(this.is_disabled)return this.container.addClass("chzn-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus",this.activate_action),this.close_field();this.container.removeClass("chzn-disabled"),this.search_field[0].disabled=!1;if(!this.is_multiple)return this.selected_item.bind("focus",this.activate_action)},Chosen.prototype.container_mousedown=function(evt){var target_closelink;if(!this.is_disabled)return target_closelink=evt!=null?$(evt.target).hasClass("search-choice-close"):!1,evt&&evt.type==="mousedown"&&!this.results_showing&&evt.stopPropagation(),!this.pending_destroy_click&&!target_closelink?(this.active_field?!this.is_multiple&&evt&&($(evt.target)[0]===this.selected_item[0]||$(evt.target).parents("a.chzn-single").length)&&(evt.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),$(document).click(this.click_test_action),this.results_show()),this.activate_field()):this.pending_destroy_click=!1},Chosen.prototype.container_mouseup=function(evt){if(evt.target.nodeName==="ABBR"&&!this.is_disabled)return this.results_reset(evt)},Chosen.prototype.blur_test=function(evt){if(!this.active_field&&this.container.hasClass("chzn-container-active"))return this.close_field()},Chosen.prototype.close_field=function(){return $(document).unbind("click",this.click_test_action),this.is_multiple||(this.selected_item.attr("tabindex",this.search_field.attr("tabindex")),this.search_field.attr("tabindex",-1)),this.active_field=!1,this.results_hide(),this.container.removeClass("chzn-container-active"),this.winnow_results_clear(),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},Chosen.prototype.activate_field=function(){return!this.is_multiple&&!this.active_field&&(this.search_field.attr("tabindex",this.selected_item.attr("tabindex")),this.selected_item.attr("tabindex",-1)),this.container.addClass("chzn-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},Chosen.prototype.test_active_click=function(evt){return $(evt.target).parents("#"+this.container_id).length?this.active_field=!0:this.close_field()},Chosen.prototype.results_build=function(){var content,data,_i,_len,_ref;this.parsing=!0,this.results_data=root.SelectParser.select_to_array(this.form_field),this.is_multiple&&this.choices>0?(this.search_choices.find("li.search-choice").remove(),this.choices=0):this.is_multiple||(this.selected_item.addClass("chzn-default").find("span").text(this.default_text),this.disable_search||this.form_field.options.length<=this.disable_search_threshold?this.container.addClass("chzn-container-single-nosearch"):this.container.removeClass("chzn-container-single-nosearch")),content="",_ref=this.results_data;for(_i=0,_len=_ref.length;_i<_len;_i++)data=_ref[_i],data.group?content+=this.result_add_group(data):data.empty||(content+=this.result_add_option(data),data.selected&&this.is_multiple?this.choice_build(data):data.selected&&!this.is_multiple&&(this.selected_item.removeClass("chzn-default").find("span").text(data.text),this.allow_single_deselect&&this.single_deselect_control_build()));return this.search_field_disabled(),this.show_search_field_default(),this.search_field_scale(),this.search_results.html(content),this.parsing=!1},Chosen.prototype.result_add_group=function(group){return group.disabled?"":(group.dom_id=this.container_id+"_g_"+group.array_index,'
      • '+$("
        ").text(group.label).html()+"
      • ")},Chosen.prototype.result_do_highlight=function(el){var high_bottom,high_top,maxHeight,visible_bottom,visible_top;if(el.length){this.result_clear_highlight(),this.result_highlight=el,this.result_highlight.addClass("highlighted"),maxHeight=parseInt(this.search_results.css("maxHeight"),10),visible_top=this.search_results.scrollTop(),visible_bottom=maxHeight+visible_top,high_top=this.result_highlight.position().top+this.search_results.scrollTop(),high_bottom=high_top+this.result_highlight.outerHeight();if(high_bottom>=visible_bottom)return this.search_results.scrollTop(high_bottom-maxHeight>0?high_bottom-maxHeight:0);if(high_top'+item.html+"":html='
      • '+item.html+'
      • ',this.search_container.before(html),link=$("#"+choice_id).find("a").first(),link.click(function(evt){return _this.choice_destroy_link_click(evt)}))},Chosen.prototype.choice_destroy_link_click=function(evt){return evt.preventDefault(),this.is_disabled?evt.stopPropagation:(this.pending_destroy_click=!0,this.choice_destroy($(evt.target)))},Chosen.prototype.choice_destroy=function(link){if(this.result_deselect(link.attr("rel")))return this.choices-=1,this.show_search_field_default(),this.is_multiple&&this.choices>0&&this.search_field.val().length<1&&this.results_hide(),link.parents("li").first().remove()},Chosen.prototype.results_reset=function(){this.form_field.options[0].selected=!0,this.selected_item.find("span").text(this.default_text),this.is_multiple||this.selected_item.addClass("chzn-default"),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change");if(this.active_field)return this.results_hide()},Chosen.prototype.results_reset_cleanup=function(){return this.current_value=this.form_field_jq.val(),this.selected_item.find("abbr").remove()},Chosen.prototype.result_select=function(evt){var high,high_id,item,position;if(this.result_highlight)return high=this.result_highlight,high_id=high.attr("id"),this.result_clear_highlight(),this.is_multiple?this.result_deactivate(high):(this.search_results.find(".result-selected").removeClass("result-selected"),this.result_single_selected=high,this.selected_item.removeClass("chzn-default")),high.addClass("result-selected"),position=high_id.substr(high_id.lastIndexOf("_")+1),item=this.results_data[position],item.selected=!0,this.form_field.options[item.options_index].selected=!0,this.is_multiple?this.choice_build(item):(this.selected_item.find("span").first().text(item.text),this.allow_single_deselect&&this.single_deselect_control_build()),(!evt.metaKey||!this.is_multiple)&&this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field_jq.val()!==this.current_value)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[item.options_index].value}),this.current_value=this.form_field_jq.val(),this.search_field_scale()},Chosen.prototype.result_activate=function(el){return el.addClass("active-result")},Chosen.prototype.result_deactivate=function(el){return el.removeClass("active-result")},Chosen.prototype.result_deselect=function(pos){var result,result_data;return result_data=this.results_data[pos],this.form_field.options[result_data.options_index].disabled?!1:(result_data.selected=!1,this.form_field.options[result_data.options_index].selected=!1,result=$("#"+this.container_id+"_o_"+pos),result.removeClass("result-selected").addClass("active-result").show(),this.result_clear_highlight(),this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[result_data.options_index].value}),this.search_field_scale(),!0)},Chosen.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect&&this.selected_item.find("abbr").length<1)return this.selected_item.find("span").first().after('')},Chosen.prototype.winnow_results=function(){var found,option,part,parts,regex,regexAnchor,result,result_id,results,searchText,startpos,text,zregex,_i,_j,_len,_len2,_ref;this.no_results_clear(),results=0,searchText=this.search_field.val()===this.default_text?"":$("
        ").text($.trim(this.search_field.val())).html(),regexAnchor=this.search_contains?"":"^",regex=new RegExp(regexAnchor+searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),zregex=new RegExp(searchText.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),_ref=this.results_data;for(_i=0,_len=_ref.length;_i<_len;_i++){option=_ref[_i];if(!option.disabled&&!option.empty)if(option.group)$("#"+option.dom_id).css("display","none");else if(!this.is_multiple||!option.selected){found=!1,result_id=option.dom_id,result=$("#"+result_id);if(regex.test(option.html))found=!0,results+=1;else if(option.html.indexOf(" ")>=0||option.html.indexOf("[")===0){parts=option.html.replace(/\[|\]/g,"").split(" ");if(parts.length)for(_j=0,_len2=parts.length;_j<_len2;_j++)part=parts[_j],regex.test(part)&&(found=!0,results+=1)}found?(searchText.length?(startpos=option.html.search(zregex),text=option.html.substr(0,startpos+searchText.length)+""+option.html.substr(startpos+searchText.length),text=text.substr(0,startpos)+""+text.substr(startpos)):text=option.html,result.html(text),this.result_activate(result),option.group_array_index!=null&&$("#"+this.results_data[option.group_array_index].dom_id).css("display","list-item")):(this.result_highlight&&result_id===this.result_highlight.attr("id")&&this.result_clear_highlight(),this.result_deactivate(result))}}return results<1&&searchText.length?this.no_results(searchText):this.winnow_results_set_highlight()},Chosen.prototype.winnow_results_clear=function(){var li,lis,_i,_len,_results;this.search_field.val(""),lis=this.search_results.find("li"),_results=[];for(_i=0,_len=lis.length;_i<_len;_i++)li=lis[_i],li=$(li),li.hasClass("group-result")?_results.push(li.css("display","auto")):!this.is_multiple||!li.hasClass("result-selected")?_results.push(this.result_activate(li)):_results.push(void 0);return _results},Chosen.prototype.winnow_results_set_highlight=function(){var do_high,selected_results;if(!this.result_highlight){selected_results=this.is_multiple?[]:this.search_results.find(".result-selected.active-result"),do_high=selected_results.length?selected_results.first():this.search_results.find(".active-result").first();if(do_high!=null)return this.result_do_highlight(do_high)}},Chosen.prototype.no_results=function(terms){var no_results_html;return no_results_html=$('
      • '+this.results_none_found+' ""
      • '),no_results_html.find("span").first().html(terms),this.search_results.append(no_results_html)},Chosen.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},Chosen.prototype.keydown_arrow=function(){var first_active,next_sib;this.result_highlight?this.results_showing&&(next_sib=this.result_highlight.nextAll("li.active-result").first(),next_sib&&this.result_do_highlight(next_sib)):(first_active=this.search_results.find("li.active-result").first(),first_active&&this.result_do_highlight($(first_active)));if(!this.results_showing)return this.results_show()},Chosen.prototype.keyup_arrow=function(){var prev_sibs;if(!this.results_showing&&!this.is_multiple)return this.results_show();if(this.result_highlight)return prev_sibs=this.result_highlight.prevAll("li.active-result"),prev_sibs.length?this.result_do_highlight(prev_sibs.first()):(this.choices>0&&this.results_hide(),this.result_clear_highlight())},Chosen.prototype.keydown_backstroke=function(){var next_available_destroy;if(this.pending_backstroke)return this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke();next_available_destroy=this.search_container.siblings("li.search-choice").last();if(next_available_destroy.length&&!next_available_destroy.hasClass("search-choice-disabled"))return this.pending_backstroke=next_available_destroy,this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus")},Chosen.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},Chosen.prototype.keydown_checker=function(evt){var stroke,_ref;stroke=(_ref=evt.which)!=null?_ref:evt.keyCode,this.search_field_scale(),stroke!==8&&this.pending_backstroke&&this.clear_backstroke();switch(stroke){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(evt),this.mouse_on_container=!1;break;case 13:evt.preventDefault();break;case 38:evt.preventDefault(),this.keyup_arrow();break;case 40:this.keydown_arrow()}},Chosen.prototype.search_field_scale=function(){var dd_top,div,h,style,style_block,styles,w,_i,_len;if(this.is_multiple){h=0,w=0,style_block="position:absolute; left: -1000px; top: -1000px; display:none;",styles=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(_i=0,_len=styles.length;_i<_len;_i++)style=styles[_i],style_block+=style+":"+this.search_field.css(style)+";";return div=$("
        ",{style:style_block}),div.text(this.search_field.val()),$("body").append(div),w=div.width()+25,div.remove(),w>this.f_width-10&&(w=this.f_width-10),this.search_field.css({width:w+"px"}),dd_top=this.container.height(),this.dropdown.css({top:dd_top+"px"})}},Chosen.prototype.generate_random_id=function(){var string;string="sel"+this.generate_random_char()+this.generate_random_char()+this.generate_random_char();while($("#"+string).length>0)string+=this.generate_random_char();return string},Chosen}(AbstractChosen),get_side_border_padding=function(elmt){var side_border_padding;return side_border_padding=elmt.outerWidth()-elmt.width()},root.get_side_border_padding=get_side_border_padding}.call(this); \ No newline at end of file diff --git a/public/js/jquery.dataTables.min.js b/public/js/jquery.dataTables.min.js new file mode 100644 index 0000000..ba27493 --- /dev/null +++ b/public/js/jquery.dataTables.min.js @@ -0,0 +1,156 @@ +/* + * File: jquery.dataTables.min.js + * Version: 1.9.3 + * Author: Allan Jardine (www.sprymedia.co.uk) + * Info: www.datatables.net + * + * Copyright 2008-2012 Allan Jardine, all rights reserved. + * + * This source file is free software, under either the GPL v2 license or a + * BSD style license, available at: + * http://datatables.net/license_gpl2 + * http://datatables.net/license_bsd + * + * This source file is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. + */ +(function(i,O,l,n){var j=function(e){function o(a,b){var c=j.defaults.columns,d=a.aoColumns.length,c=i.extend({},j.models.oColumn,c,{sSortingClass:a.oClasses.sSortable,sSortingClassJUI:a.oClasses.sSortJUI,nTh:b?b:l.createElement("th"),sTitle:c.sTitle?c.sTitle:b?b.innerHTML:"",aDataSort:c.aDataSort?c.aDataSort:[d],mData:c.mData?c.oDefaults:d});a.aoColumns.push(c);if(a.aoPreSearchCols[d]===n||null===a.aoPreSearchCols[d])a.aoPreSearchCols[d]=i.extend({},j.models.oSearch);else if(c=a.aoPreSearchCols[d], +c.bRegex===n&&(c.bRegex=!0),c.bSmart===n&&(c.bSmart=!0),c.bCaseInsensitive===n)c.bCaseInsensitive=!0;r(a,d,null)}function r(a,b,c){var d=a.aoColumns[b];c!==n&&null!==c&&(c.mDataProp&&!c.mData&&(c.mData=c.mDataProp),c.sType!==n&&(d.sType=c.sType,d._bAutoType=!1),i.extend(d,c),p(d,c,"sWidth","sWidthOrig"),c.iDataSort!==n&&(d.aDataSort=[c.iDataSort]),p(d,c,"aDataSort"));var h=d.mRender?S(d.mRender):null,f=S(d.mData);d.fnGetData=function(a,b){var c=f(a,b);return d.mRender&&b&&""!==b?h(c,b,a):c};d.fnSetData= +ta(d.mData);a.oFeatures.bSort||(d.bSortable=!1);!d.bSortable||-1==i.inArray("asc",d.asSorting)&&-1==i.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortableNone,d.sSortingClassJUI=""):d.bSortable||-1==i.inArray("asc",d.asSorting)&&-1==i.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortable,d.sSortingClassJUI=a.oClasses.sSortJUI):-1!=i.inArray("asc",d.asSorting)&&-1==i.inArray("desc",d.asSorting)?(d.sSortingClass=a.oClasses.sSortableAsc,d.sSortingClassJUI=a.oClasses.sSortJUIAscAllowed): +-1==i.inArray("asc",d.asSorting)&&-1!=i.inArray("desc",d.asSorting)&&(d.sSortingClass=a.oClasses.sSortableDesc,d.sSortingClassJUI=a.oClasses.sSortJUIDescAllowed)}function k(a){if(!1===a.oFeatures.bAutoWidth)return!1;ca(a);for(var b=0,c=a.aoColumns.length;bm[f])d(a.aoColumns.length+m[f],b[h]);else if("string"===typeof m[f]){e=0;for(s=a.aoColumns.length;eb&&a[d]--; -1!=c&&a.splice(c,1)}function T(a,b,c){var d=a.aoColumns[c];return d.fnRender({iDataRow:b,iDataColumn:c,oSettings:a,aData:a.aoData[b]._aData,mDataProp:d.mData},x(a,b,c,"display"))}function da(a,b){var c=a.aoData[b],d;if(null===c.nTr){c.nTr=l.createElement("tr");c.nTr._DT_RowIndex=b;c._aData.DT_RowId&&(c.nTr.id=c._aData.DT_RowId);c._aData.DT_RowClass&& +i(c.nTr).addClass(c._aData.DT_RowClass);for(var h=0,f=a.aoColumns.length;h=a.fnRecordsDisplay()?0:a.iInitDisplayStart,a.iInitDisplayStart=-1,A(a));if(a.bDeferLoading)a.bDeferLoading=!1,a.iDraw++;else if(a.oFeatures.bServerSide){if(!a.bDestroying&&!xa(a))return}else a.iDraw++;if(0!==a.aiDisplay.length){var g= +a._iDisplayStart;d=a._iDisplayEnd;a.oFeatures.bServerSide&&(g=0,d=a.aoData.length);for(;g
        ")[0];a.nTable.parentNode.insertBefore(b,a.nTable);a.nTableWrapper=i('
        ')[0];a.nTableReinsertBefore=a.nTable.nextSibling;for(var c=a.nTableWrapper,d=a.sDom.split(""),h,f,g,e,s,m,o,k=0;k
        ")[0];s=d[k+ +1];if("'"==s||'"'==s){m="";for(o=2;d[k+o]!=s;)m+=d[k+o],o++;"H"==m?m=a.oClasses.sJUIHeader:"F"==m&&(m=a.oClasses.sJUIFooter);-1!=m.indexOf(".")?(s=m.split("."),e.id=s[0].substr(1,s[0].length-1),e.className=s[1]):"#"==m.charAt(0)?e.id=m.substr(1,m.length-1):e.className=m;k+=o}c.appendChild(e);c=e}else if(">"==g)c=c.parentNode;else if("l"==g&&a.oFeatures.bPaginate&&a.oFeatures.bLengthChange)h=za(a),f=1;else if("f"==g&&a.oFeatures.bFilter)h=Aa(a),f=1;else if("r"==g&&a.oFeatures.bProcessing)h=Ba(a),f= +1;else if("t"==g)h=Ca(a),f=1;else if("i"==g&&a.oFeatures.bInfo)h=Da(a),f=1;else if("p"==g&&a.oFeatures.bPaginate)h=Ea(a),f=1;else if(0!==j.ext.aoFeatures.length){e=j.ext.aoFeatures;o=0;for(s=e.length;o'):""===c?'':c+' ',d=l.createElement("div");d.className=a.oClasses.sFilter;d.innerHTML="";a.aanFeatures.f||(d.id=a.sTableId+"_filter");c=i('input[type="text"]',d);d._DT_Input=c[0];c.val(b.sSearch.replace('"',"""));c.bind("keyup.DT",function(){for(var c=a.aanFeatures.f,d=this.value===""?"":this.value, +g=0,e=c.length;g=b.length)a.aiDisplay.splice(0,a.aiDisplay.length),a.aiDisplay=a.aiDisplayMaster.slice();else if(a.aiDisplay.length==a.aiDisplayMaster.length||h.sSearch.length>b.length||1==c||0!==b.indexOf(h.sSearch)){a.aiDisplay.splice(0, +a.aiDisplay.length);ka(a,1);for(b=0;b").html(c).text()); +return c.replace(/[\n\r]/g," ")}function la(a,b,c,d){if(c)return a=b?a.split(" "):na(a).split(" "),a="^(?=.*?"+a.join(")(?=.*?")+").*$",RegExp(a,d?"i":"");a=b?a:na(a);return RegExp(a,d?"i":"")}function Ka(a,b){return"function"===typeof j.ext.ofnSearch[b]?j.ext.ofnSearch[b](a):null===a?"":"html"==b?a.replace(/[\r\n]/g," ").replace(/<.*?>/g,""):"string"===typeof a?a.replace(/[\r\n]/g," "):a}function na(a){return a.replace(RegExp("(\\/|\\.|\\*|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\\\|\\$|\\^|\\-)","g"), +"\\$1")}function Da(a){var b=l.createElement("div");b.className=a.oClasses.sInfo;a.aanFeatures.i||(a.aoDrawCallback.push({fn:La,sName:"information"}),b.id=a.sTableId+"_info");a.nTable.setAttribute("aria-describedby",a.sTableId+"_info");return b}function La(a){if(a.oFeatures.bInfo&&0!==a.aanFeatures.i.length){var b=a.oLanguage,c=a._iDisplayStart+1,d=a.fnDisplayEnd(),h=a.fnRecordsTotal(),f=a.fnRecordsDisplay(),g;g=0===f&&f==h?b.sInfoEmpty:0===f?b.sInfoEmpty+" "+b.sInfoFiltered:f==h?b.sInfo:b.sInfo+ +" "+b.sInfoFiltered;g+=b.sInfoPostFix;g=ia(a,g);null!==b.fnInfoCallback&&(g=b.fnInfoCallback.call(a.oInstance,a,c,d,h,f,g));a=a.aanFeatures.i;b=0;for(c=a.length;b",c,d,h=a.aLengthMenu;if(2==h.length&&"object"===typeof h[0]&&"object"===typeof h[1]){c=0;for(d=h[0].length;c'+h[1][c]+""}else{c=0;for(d=h.length;c'+h[c]+""}b+= +"";h=l.createElement("div");a.aanFeatures.l||(h.id=a.sTableId+"_length");h.className=a.oClasses.sLength;h.innerHTML="";i('select option[value="'+a._iDisplayLength+'"]',h).attr("selected",!0);i("select",h).bind("change.DT",function(){var b=i(this).val(),h=a.aanFeatures.l;c=0;for(d=h.length;ca.aiDisplay.length||-1==a._iDisplayLength?a.aiDisplay.length:a._iDisplayStart+a._iDisplayLength}function Ea(a){if(a.oScroll.bInfinite)return null;var b=l.createElement("div");b.className=a.oClasses.sPaging+a.sPaginationType; +j.ext.oPagination[a.sPaginationType].fnInit(a,b,function(a){A(a);z(a)});a.aanFeatures.p||a.aoDrawCallback.push({fn:function(a){j.ext.oPagination[a.sPaginationType].fnUpdate(a,function(a){A(a);z(a)})},sName:"pagination"});return b}function pa(a,b){var c=a._iDisplayStart;if("number"===typeof b)a._iDisplayStart=b*a._iDisplayLength,a._iDisplayStart>a.fnRecordsDisplay()&&(a._iDisplayStart=0);else if("first"==b)a._iDisplayStart=0;else if("previous"==b)a._iDisplayStart=0<=a._iDisplayLength?a._iDisplayStart- +a._iDisplayLength:0,0>a._iDisplayStart&&(a._iDisplayStart=0);else if("next"==b)0<=a._iDisplayLength?a._iDisplayStart+a._iDisplayLengthi(a.nTable).height()-a.oScroll.iLoadGap&&a.fnDisplayEnd()d.offsetHeight||"scroll"==i(d).css("overflow-y")))a.nTable.style.width=q(i(a.nTable).outerWidth()-a.oScroll.iBarWidth)}else""!==a.oScroll.sXInner?a.nTable.style.width=q(a.oScroll.sXInner):h==i(d).width()&&i(d).height()h-a.oScroll.iBarWidth&& +(a.nTable.style.width=q(h))):a.nTable.style.width=q(h);h=i(a.nTable).outerWidth();f=a.nTHead.getElementsByTagName("tr");g=g.getElementsByTagName("tr");N(function(a,b){m=a.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth="0";m.borderBottomWidth="0";m.height=0;k=i(a).width();b.style.width=q(k);r.push(k)},g,f);i(g).height(0);null!==a.nTFoot&&(e=j.getElementsByTagName("tr"),j=a.nTFoot.getElementsByTagName("tr"),N(function(a,b){m=a.style;m.paddingTop="0";m.paddingBottom="0";m.borderTopWidth= +"0";m.borderBottomWidth="0";m.height=0;k=i(a).width();b.style.width=q(k);r.push(k)},e,j),i(e).height(0));N(function(a){a.innerHTML="";a.style.width=q(r.shift())},g);null!==a.nTFoot&&N(function(a){a.innerHTML="";a.style.width=q(r.shift())},e);if(i(a.nTable).outerWidth()d.offsetHeight||"scroll"==i(d).css("overflow-y")?h+a.oScroll.iBarWidth:h;if(l&&(d.scrollHeight>d.offsetHeight||"scroll"==i(d).css("overflow-y")))a.nTable.style.width=q(e-a.oScroll.iBarWidth);d.style.width=q(e);b.parentNode.style.width= +q(e);null!==a.nTFoot&&(n.parentNode.style.width=q(e));""===a.oScroll.sX?E(a,1,"The table cannot fit into the current element which will cause column misalignment. The table has been drawn at its minimum possible width."):""!==a.oScroll.sXInner&&E(a,1,"The table cannot fit into the current element which will cause column misalignment. Increase the sScrollXInner value or remove it to allow automatic calculation")}else d.style.width=q("100%"),b.parentNode.style.width=q("100%"),null!==a.nTFoot&&(n.parentNode.style.width= +q("100%"));""===a.oScroll.sY&&l&&(d.style.height=q(a.nTable.offsetHeight+a.oScroll.iBarWidth));""!==a.oScroll.sY&&a.oScroll.bCollapse&&(d.style.height=q(a.oScroll.sY),l=""!==a.oScroll.sX&&a.nTable.offsetWidth>d.offsetWidth?a.oScroll.iBarWidth:0,a.nTable.offsetHeightd.clientHeight||"scroll"==i(d).css("overflow-y");b.style.paddingRight=c?a.oScroll.iBarWidth+ +"px":"0px";null!==a.nTFoot&&(p.style.width=q(l),n.style.width=q(l),n.style.paddingRight=c?a.oScroll.iBarWidth+"px":"0px");i(d).scroll();if(a.bSorted||a.bFiltered)d.scrollTop=0}function N(a,b,c){for(var d=0,h=b.length;dtd",b));g=P(a,f);for(f=d=0;fc)return null;if(null===a.aoData[c].nTr){var d=l.createElement("td");d.innerHTML=x(a,c,b,"");return d}return L(a,c)[b]}function Qa(a,b){for(var c= +-1,d=-1,h=0;h/g,"");f.length>c&&(c=f.length,d=h)}return d}function q(a){if(null===a)return"0px";if("number"==typeof a)return 0>a?"0px":a+"px";var b=a.charCodeAt(a.length-1);return 48>b||57/g,""),h=l[c].nTh,h.removeAttribute("aria-sort"),h.removeAttribute("aria-label"),l[c].bSortable?0=e)for(b=0;bj&&j++}}}function qa(a){if(a.oFeatures.bStateSave&&!a.bDestroying){var b,c;b=a.oScroll.bInfinite;var d={iCreate:(new Date).getTime(),iStart:b?0:a._iDisplayStart, +iEnd:b?a._iDisplayLength:a._iDisplayEnd,iLength:a._iDisplayLength,aaSorting:i.extend(!0,[],a.aaSorting),oSearch:i.extend(!0,{},a.oPreviousSearch),aoSearchCols:i.extend(!0,[],a.aoPreSearchCols),abVisCols:[]};b=0;for(c=a.aoColumns.length;b