. if (!defined('EG')) die('Direct access not allowed!'); class NotebooksController extends GenericController { public function __construct($model, $controller, $queryString) { parent::__construct($model, $controller, $queryString); //load the model $this->model('HardwareModel'); $this->model('RevisionsModel'); $this->model('NotebooksModel'); $this->model('TalkModel'); $this->mod = $this->m['NotebooksModel']; $this->m['HardwareModel']->id_user = $this->s['registered']->status['id_user']; $this->m['HardwareModel']->type = 'notebook'; //hardware conditions $this->m['HardwareModel']->strongConditions['update'] = array( "checkIsStrings|".Notebooks::vendorsList() => "vendor", "checkNotEmpty" => "model|you have to fill the model name entry", "checkMatch|".Hardware::$regExpressions['model'] => "model|characters not allowed in the model name entry", "+checkIsStrings|".Notebooks::compatibilityList() => "compatibility", "checkLength|190" => "model", "+checkLength|299" => "distribution", "++checkIsStrings|".Hardware::getCommYears() => "comm_year", "+++checkIsStrings|".Notebooks::$subtypeSelect => "subtype", "++++checkIsStrings|".Notebooks::wifiList() => "wifi_works", "+++++checkIsStrings|".Notebooks::videoList() => "video_card_works", "++++++checkIsStrings|".Notebooks::biosList() => "bios", "+++++++checkIsStrings|".Notebooks::webcamList() => "webcam_works", "++++++++checkIsStrings|".Notebooks::architectureList() => "architecture", "+++++++++checkIsStrings|".Notebooks::installableList() => "can_free_systems_be_installed", "++++++++++checkIsStrings|".Notebooks::preventWifiList() => "prevent_wifi", ); $this->m['HardwareModel']->strongConditions['insert'] = $this->m['HardwareModel']->strongConditions['update']; $this->m['HardwareModel']->softConditions['update'] = array( "checkMatch|".Hardware::$regExpressions['kernel'] => "kernel|characters not allowed in the kernel entry", "checkLength|40000" => "description", "++checkLength|99" => "video_card_type,wifi_type", "+++checkLength|99" => "kernel", "+checkMatch|/^[a-zA-Z0-9\-\_\.\+\s\/\,\:\;\(\)\[\]]+$/" => "video_card_type|only the following characters are allowed for the videocard entry: a-z A-Z 0-9 - _ . + / , : ; ( ) [ ]", "++checkMatch|/^[a-zA-Z0-9\-\_\.\+\s\/\,\:\;\(\)\[\]]+$/" => "wifi_type|only the following characters are allowed for the wifi entry: a-z A-Z 0-9 - _ . + / , : ; ( ) [ ]", "+++checkMatch|/^[a-zA-Z0-9\-\_\.\+\s\/\,\:\;\(\)\[\]]+$/" => "webcam_type|only the following characters are allowed for the webcam entry: a-z A-Z 0-9 - _ . + / , : ; ( ) [ ]", ); $this->m['HardwareModel']->softConditions['insert'] = $this->m['HardwareModel']->softConditions['update']; $this->m['HardwareModel']->setFields('vendor,model,compatibility,kernel,description,distribution,video_card_type,video_card_works,wifi_type,wifi_works,comm_year,subtype,bios,can_free_systems_be_installed,webcam_type,webcam_works,architecture,prevent_wifi','sanitizeAll'); $argKeys = array( 'page:forceNat' => 1, 'history_page:forceNat' => 1, 'vendor:sanitizeString' => 'undef', 'compatibility:sanitizeString' => 'undef', 'comm_year:sanitizeString' => 'undef', 'subtype:sanitizeString' => 'undef', 'sort-by:sanitizeString' => 'compatibility', 'bios:sanitizeString' => 'undef', 'architecture:sanitizeString' => 'undef', 'search_string:sanitizeString' => 'undef' ); $this->setArgKeys($argKeys); $data['worksField'] = 'compatibility'; $data['notFoundString'] = "No notebooks found"; $data['title'] = 'Notebooks'; $this->append($data); } public function catalogue($lang = 'en') { $this->shift(1); $whereArray = array( 'type' => $this->mod->type, 'vendor' => $this->viewArgs['vendor'], 'comm_year' => $this->viewArgs['comm_year'], 'subtype' => $this->viewArgs['subtype'], 'compatibility' => $this->viewArgs['compatibility'], 'bios' => $this->viewArgs['bios'], 'architecture' => $this->viewArgs['architecture'], ); $this->mod->setWhereQueryClause($whereArray); parent::catalogue($lang); } public function view($lang = 'en', $id = 0, $name = null) { parent::view($lang, $id, $name); } public function history($lang = 'en', $id = 0) { parent::history($lang, $id); } public function revision($lang = 'en', $id_rev = 0) { parent::revision($lang, $id_rev); } public function insert($lang = 'en', $token = '') { parent::insert($lang, $token); } public function update($lang = 'en', $token = '') { parent::update($lang, $token); } public function differences($lang = 'en', $id_hard = 0, $id_rev = 0) { parent::differences($lang, $id_hard, $id_rev); } public function climb($lang = 'en', $id_rev = 0, $token = '') { parent::climb($lang, $id_rev, $token); } public function talk($lang = 'en', $id_hard = 0, $token = '') { parent::talk($lang, $id_hard, $token); } }