Your IP : 216.73.217.81


Current Path : /home/semix18/public_html/pogtech.pl/app/plugins/admin/controller/
Upload File :
Current File : /home/semix18/public_html/pogtech.pl/app/plugins/admin/controller/adminConfigController.class.php

<?php /*windu.org admin controller*/
Class adminConfigController Extends adminMainController{
	public function __construct($request){
		parent::__construct($request);
	
		$configDB = new configDB();
		$buckets = $configDB->fetchGroup('bucket','bucket!=99','name ASC');
		$this->smarty->assign('buckets',$buckets);
		
		foreach ($buckets as $key => $value) {
			$form = null;
			$form = new form("form{$key}",'addSuccess',$_POST,'POST','form-horizontal');
			$form->add('name', 'input-text',lang::read('admin.config.controller.name'));
			$form->addRule('name', 'required', null, lang::read('admin.config.controller.givename'));
			$form->add('value', 'input-text',lang::read('admin.config.controller.value'));
			$form->addRule('value', 'required', null, lang::read('admin.config.controller.addvalue'));		
			$form->add('type', 'select',lang::read('admin.config.controller.type'),null,array('option' => $configDB->types,"tooltip" => lang::read('admin.config.controller.typedescription')));

			$form->add('bucket', 'input-hidden',null,$key);
			
			$form->addButton('submit',lang::read('form.button.title.add'),'btn btn-primary', null, null, 'fa fa-plus ');	
			$form->setHandler($this);
			$form->handle();
			
			$this->formArr[$key] = $form;
		}
		$this->smarty->assign("forms",$this->formArr);	
		$this->smarty->assign('subpage',$this->request->getVariable('subpage'));
		$this->smarty->assign('controllerShortName','config');
	}
	public function addSuccess($data) {
		$validator = 'is_'.$data['type'];

		if ($validator($data['value'])) {
			$configDB = new configDB();
			$configDB->add($data);
			router::reload();
		}elseif ($data['type']=='bool'){
			if($data['value']==1 or $data['value']=='true'){
				$configDB = new configDB();
				$configDB->add($data);
				router::reload();								
			}elseif ($data['value']==0 or $data['value']=='false'){
				$configDB = new configDB();
				$configDB->add($data);
				router::reload();				
			}
		}
		router::reload('admn.message.negative.wrongvaluetype','mn');
	}
	public function edit() {
		$configDB = new configDB();
		$conf = $configDB->fetchRow("id = {$this->request->getVariable('id')}");
		$bucket = $conf->bucket;

		$form = new form("formEdit{$bucket}",'editSuccess',$_POST,'POST','form-horizontal');
		if(usersDB::isDeveloper()){
			$form->add('name', 'input-text',lang::read('admin.config.controller.name'),$conf->name);
			$form->addRule('name', 'required', null, lang::read('admin.config.controller.givename'));			
		}
		if($conf->type=='bool'){
			$form->add('value', 'select',lang::read('admin.config.controller.value'),$conf->value,array('option' => array(1=>lang::read('admin.config.controller.true'),0=>lang::read('admin.config.controller.false'))));
			$form->addRule('value', 'numeric', null, lang::read('admin.config.controller.addcorectvalue'));
		}else{
			$form->add('value', 'input-text',lang::read('admin.config.controller.value'),$conf->value);
			$form->addRule('value', $conf->type, null, lang::read('admin.config.controller.addcorectvalue'));
		}
		
		$form->addRule('value', 'required', null, lang::read('admin.config.controller.addvalue'));
				
		if(usersDB::isDeveloper()){	
			$form->add('type', 'select',lang::read('admin.config.controller.type'),$conf->type,array('option' => $configDB->types,"tooltip" => lang::read('admin.config.controller.typedescription')));
		}
		
		$form->add('bucket','input-hidden',null,$bucket);
		$form->addButton('submit',lang::read('form.button.title.save'),'btn btn-primary', null, null, 'fa fa-upload ');	
		$form->addButton('cancel',lang::read('form.button.title.cancel'),'btn btn-margin-left',HOME.'admin/config/',null,'fa fa-ban');
		
		$form->setHandler($this);
		$form->handle();

		$this->formArr[$bucket] = $form;
		$this->smarty->assign("forms",$this->formArr);
		$this->pageDisplay('config');
	}
	public function editSuccess($data) {
		$configDB = new configDB();
		$type = $configDB->get($this->request->getVariable('id'),'type');
		
		$validator = 'is_'.$type;

		if ($validator($data['value']) or $type=='bool') {
			
			$configDB->updateRow($data,"id = {$this->request->getVariable('id')}");
			router::reload();
		}
		router::reload('admn.message.negative.wrongvaluetype','mn');		
	}	
	public function index()
	{			
		$this->pageDisplay('config');
	}	
}
?>