summaryrefslogblamecommitdiffstats
path: root/application/modules/dev/forms/BootmenuEntriesEdit.php
blob: 87fcb9e3ee14832d78b65f4cdb0b1e4bca9936a5 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
     









                                                                           
 
                                                    
 

                            
                            
                          
                     
        
                                               
                                                
     


                                           
     

                                                   



                                                
     
    
        
                         
     



                                                                          



                                                            

         











                                                                           
                                                                         


                                                                                                     
        




                                                                                          

                                                                 
                
                                                                          
                                                                                                           
                                                 
                                                  

                                              













                                                                                                 
                




                                                                                                          


                                                                 
                                                                                   



                                            

                                                                    


                        
                                                                                                
                                                                         


                                                                  

                                                                    

                                                                                                  



                                                                 
                
                                                                     
                                            
        

                                                              


                                                                







                                                               
                                                        
             
 

        


 
<?php
/*
 * Copyright (c) 2011 - OpenSLX GmbH, RZ Uni Freiburg
 * This program is free software distributed under the GPL version 2.
 * See http://gpl.openslx.org/
 *
 * If you have any feedback please consult http://feedback.openslx.org/ and
 * send your suggestions, praise, or complaints to feedback@openslx.org
 *
 * General information about OpenSLX can be found at http://openslx.org/
 */

class dev_Form_BootmenuEntriesEdit extends Zend_Form
{
	
	private $bootoslist;
	private $configlist;
	private $maxorder;
	private $kcl;
	
    public function setBootoslist($bootoslist){
    	$this->bootoslist = $bootoslist;	
    }
    
    public function setMaxorder($maxorder){
    	$this->maxorder = $maxorder;
    }
    
	public function setConfiglist($configlist){
    	$this->configlist = $configlist;	
    }
	public function setKcl($kcl){
    	$this->kcl = $kcl;	
    }
    
	
   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("BootMenuEntryAdd");
		$this->setMethod('post');

        $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($_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:',
			'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);
		
        $this->addElement('submit', 'editbootmenuentry', array(
            'required' => false,
            'ignore'   => true,
            'label'    => 'Edit Bootmenuentry',
        ));  
        
        $this->addElement('button', 'Cancel', array(
            'onclick' => 'self.location="/dev/bootmenu"'
        ));  

    }
	

}