summaryrefslogblamecommitdiffstats
path: root/application/modules/user/forms/BootmenuEntries.php
blob: 413b09a7c22d1e0b5064dc3000dcd171d2f47e35 (plain) (tree)
1
2
3
4
5
6
7
8
9







                                                 
                      
                     
        



                                     














                                                   
                                                

     



                                       






                                                                          



                                                            




                                         
                                                  














                                                                           

                                                                                                      










                                                                                          
                                                                                                            
                                                 
                                                  
































                                                                                                          
                                            






                                                                                        
                                                   












                                                                                                  
                                                  






                                                                

                                                       









                                                         
                                                                                    








             
<?php

class user_Form_BootmenuEntries extends Zend_Form
{
	private $bootoslist;
	private $configlist;
	private $maxorder;
	private $action;
	private $page;
	private $kcl;
	
	
	public function setKcl($kcl){
    	$this->kcl = $kcl;	
    }
    public function setAction($action){
    	$this->action = $action;
    	
    }

    public function setBootoslist($bootoslist){
    	$this->bootoslist = $bootoslist;
    }
    
    public function setMaxorder($maxorder){
    	$this->maxorder = $maxorder;
    	
    }
    
	public function setConfiglist($configlist){
    	$this->configlist = $configlist;    	
    }
    
	public function setPage($page){
		$this->page = $page;
	}
    
    
   public function init()
    {
    	
    	if(!isset($_POST['bootosID'])){
  			$firstbootos = array_slice($this->bootoslist,0,1);
  			$_POST['bootosID'] = $firstbootos[0]->getID();
  			if(isset($this->kcl))
  				$_POST['kclactive'] = true;
  			else
  				$_POST['kclactive'] = false;
    	}
  			
        $this->setName($this->action);
		$this->setMethod('post');
		
		if (Pbs_Acl::checkRight('booeem'))
			$meta = true;
		else 
			$meta = null;

		$this->addElement('text', 'title', array(
			'filters' => array('StringTrim'),
			'validators' => array(
				array('StringLength', false, array(0, 50)),
			),
			'required' => true,
			'label' => 'Title:',
		));
		
		$bootosfield = $this->createElement('select','bootosID');
        $bootosfield ->setLabel('BootOs:');
       	$bootosfield->setAttrib('onChange', "document.getElementById('".$this->action."').submit();");
       	$bootosfield->setAttrib('readOnly', $meta);
        
        if(count($this->bootoslist)>0){
			foreach($this->bootoslist as $bootos => $b){
				$bootosfield->addMultiOption($b->getID(), $b->getTitle());
			}       
        }
		$bootosfield->setRegisterInArrayValidator(false);
		
		$this->addElement($bootosfield); 
		
		$kclactive = $this->createElement('checkbox','kclactive');
		$kclactive->setAttrib('onChange', "document.getElementById('".$this->action."').submit();");
        $kclactive->setLabel('Use default KCL:');
      	$kclactive->setValue($_POST['kclactive']);
		$this->addElement($kclactive);
		
		
		if($_POST['kclactive']){
			$this->addElement('textarea', 'kcl', array(
				'filters' => array('StringTrim'),
				'validators' => array(
					array('StringLength', false, array(0, 50)),
				),
				'required' => false,
				'cols' => 50,
				'rows' => 5,
				'label' => 'KCL:',
				'readOnly' => true,
				'value' => $this->bootoslist[$_POST['bootosID']]->getDefaultkcl()
				
			));
		}
		
		if($_POST['kclactive'])
			$kcllength = 175 - strlen($this->bootoslist[$_POST['bootosID']]->getDefaultkcl());
		else 
			$kcllength = 175;		
			
		$this->addElement('textarea', 'kclappend', array(
			'filters' => array('StringTrim'),
			'validators' => array(
				array('StringLength', false, array(0, $kcllength)),
			),
			'required' => false,
			'cols' => 50,
			'rows' => 5,
			'label' => 'KCL-Append:',
			'readOnly' => $meta,
			'description' => 'Chars left: ' . $kcllength
		));
		
		$defaultconfigid = $this->bootoslist[$_POST['bootosID']]->getConfigID();
		$configfield = $this->createElement('select','configID');
        $configfield->setLabel('Config:');
        $configfield->addMultiOption($defaultconfigid, 'default');
        $configfield->setAttrib('readOnly', $meta);
        
        if(count($this->configlist)>0){
			foreach($this->configlist as $config => $c){
				if($c->getID() != $defaultconfigid)
					$configfield->addMultiOption($c->getID(), $c->getTitle());
			}       
        }
		
		$configfield->setRegisterInArrayValidator(false);
		$this->addElement($configfield);
				
		$orderfield = $this->createElement('select','order');
        $orderfield ->setLabel('Position:');
        $orderfield->setAttrib('readOnly', $meta);
        
		for ($i = 0; $i <= $this->maxorder; $i++) {
			$orderfield->addMultiOption($i, $i+1);
		}       
		$orderfield->setRegisterInArrayValidator(false);
		$this->addElement($orderfield);
		
		if($this->action == "addbootmenuentry")
			$label = "Add Bootmenuentry";
		else 
			$label = "Edit Bootmenuentry"; 
		
        $this->addElement('submit', $this->action, array(
            'required' => false,
            'ignore'   => true,
            'label'    => $label,
        ));  
        
        $this->addElement('button', 'Cancel', array(
            'onclick' => 'self.location="/user/bootmenu/index/page/'.$this->page.'"'
        ));  

    }
    
	


}