summaryrefslogblamecommitdiffstats
path: root/application/modules/user/forms/BootmenuEntries.php
blob: c7463f0f78b80921da32ad469a274b6509a02bf2 (plain) (tree)





























































































































































                                                                                                           
<?php

class user_Form_BootmenuEntries extends Zend_Form
{
	private $bootoslist;
	private $configlist;
	private $maxorder;
	private $action;
	private $rights;
	
    public function setRights($rights){
    	$this->rights = $rights;
    }
    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 init()
    {
    	
    	if(!isset($_POST['bootosID'])){
  			$firstbootos = array_slice($this->bootoslist,0,1);
  			$_POST['bootosID'] = $firstbootos[0]->getID();
  			$_POST['kclactive'] = true;
    	}
  			
        $this->setName($this->action);
		$this->setMethod('post');
		
		if ($this->rights == "meta")
			$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('BootMenuEntryAdd').submit();");
        
        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('BootMenuEntryAdd').submit();");
        $kclactive->setLabel('Use default KCL:');
      	$kclactive->setValue(true);
		$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:',
			'description' => 'Chars left: ' . $kcllength
		));
		
		$defaultconfigid = $this->bootoslist[$_POST['bootosID']]->getConfigID();
		$configfield = $this->createElement('select','configID');
        $configfield->setLabel('Config:');
        $configfield->addMultiOption($defaultconfigid, 'default');
        
        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:');
        
		for ($i = 0; $i <= $this->maxorder; $i++) {
			$orderfield->addMultiOption($i, $i+1);
		}       
		$orderfield->setRegisterInArrayValidator(false);
		$this->addElement($orderfield);
		
		if($this->action == "createbootmenuentry")
			$label = "Create 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"'
        ));  

    }
    
	


}