summaryrefslogblamecommitdiffstats
path: root/application/modules/user/forms/Bootiso.php
blob: 091f448f63d421c13f35b5c36540c3f390cd743c (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 user_Form_Bootiso extends Zend_Form
{

	private $prebootlist;
	private $groupdepth;
	private $action;
	private $page;
	
    public function setAction($action){
    	$this->action = $action;
    }
    public function setPrebootlist($prebootlist){
    	$this->prebootlist = $prebootlist;
    }
    public function setGroupdepth($groupdepth){
    	$this->groupdepth = $groupdepth;	
    }
    public function setPage($p){
    	$this->page = $p;	
    }    
	
    public function init()
    {
        $this->setName($this->action);
		$this->setMethod('post');

		if (!Pbs_Acl::checkRight('be') && $this->action == 'editbootiso')
			$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:',
		));		
		
		
		$this->addElement('textarea', 'description', array(
			'filters' => array('StringTrim'),
			'validators' => array(
				array('StringLength', false, array(0, 50)),
			),
			'required' => false,
			'rows' => 5,
			'cols' => 50,
			'label' => 'Description:',
		));
		
		$prebootfield = $this->createElement('select','prebootID');
        $prebootfield->setLabel('Preboot:');
        $prebootfield->setAttrib('readOnly', $meta);
        
        if(count($this->prebootlist)>0){
			foreach($this->prebootlist as $preboot => $p){
				$prebootfield->addMultiOption($p->getID(), $p->getTitle());
			}       
        }
		$prebootfield->setRegisterInArrayValidator(false);
		$this->addElement($prebootfield);
		
    	$serial = time();
		for($i=2; $i<14; $i+=3)
			$serial = substr($serial,0,$i) .'-'. substr($serial,$i,strlen($serial));
		
		$this->addElement('text', 'serialnumber', array(
			'filters' => array('StringTrim'),
			'validators' => array(
				array('StringLength', false, array(0, 50)),
			),
			'required' => true,
			'size' => 50,
			'label' => 'Serialnumber:',
			'readOnly' => $meta,
			'value' => $serial
		));
		
		$date = new DateTime();
		$date->add(new DateInterval('P1Y'));
		$this->addElement('text', 'expires', array(
			'filters' => array('StringTrim'),
			'validators' => array(
				array('StringLength', false, array(0, 50)),
			),
			'required' => false,
			'label' => 'Expires:',
			'readOnly' => $meta,
			'value' => $date->format('Y-m-d'),
		));
  
       	$publicfield = $this->createElement('select','public');
        $publicfield->setLabel('Public:');
        $publicfield->addMultiOption(-1, 'X. Not Visible');
        $publicfield->addMultiOption(0, '0. Eigene Gruppe');
        $publicfield->setAttrib('readOnly', $meta);
        $publicfield->setAttrib('id', 'depth');
        $publicfield->setAttrib('onchange', "$('#groups .v1').show();changeDepth();");
        
        for($i=1; $i<$this->groupdepth; $i++){
			$publicfield->addMultiOption($i, "$i. Untergruppe");
        }
        
		$publicfield->setRegisterInArrayValidator(false);
		$this->addElement($publicfield);
		
       	if($this->action == "createbootiso")
			$label = "Create BootMedium";
		else 
			$label = "Edit BootMedium"; 
			       
        $this->addElement('submit', $this->action, array(
            'required' => false,
            'ignore'   => true,
            'label'    => $label,
        ));  
        
        $this->addElement('button', 'Cancel', array(
            'onclick' => 'self.location="/user/bootiso/index/page/'.$this->page.'"'
        )); 
        ?>
        
        <script type="text/javascript">
        $(document).ready(function(){
            changeDepth();
            $('#groups .v1').show();
        });
		function changeDepth(){
			i = $("#depth option:selected").val();
			$('#depthimg').attr('src','/stats/graphgroup/level/' + i);			
		}
		</script>
		
		<div id='groups' style='text-align: center;'>
		<div class='v1'>
		<img alt='Please select a public level' id='depthimg' src='/stats/graphgroup/level/0' />
		</div>
		</div>


		
<?php 
    }

	
}
?>