function storageAction()
 {
     $this->view->title = $this->view->translate->_("Storages");
     // get data for form
     $storages = new Storage();
     $this->view->storages = $storages->fetchAll();
     $this->view->meta_refresh = 300;
     // meta http-equiv="refresh"
 }
 public function init()
 {
     $this->translate = Zend_Registry::get('translate');
     //Zend_Form::setDefaultTranslator( Zend_Registry::get('translate') );
     // Set the method for the display form to POST
     $this->setMethod('post');
     $from_form = $this->addElement('hidden', 'from_form', array('decorators' => $this->elDecorators, 'value' => '1'));
     // load models
     Zend_Loader::loadClass('Client');
     Zend_Loader::loadClass('FileSet');
     Zend_Loader::loadClass('Storage');
     /*
      *  Job Name
      */
     $table_job = new Job();
     $jobs = $table_job->getListJobs();
     // select
     $jobname = $this->createElement('select', 'jobname', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Job Name'), 'required' => true, 'class' => 'ui-select', 'style' => 'width: 25em;'));
     foreach ($jobs as $v) {
         $jobname->addMultiOption($v, $v);
     }
     /*
      * Client
      */
     $table_client = new Client();
     //$order  = array('ClientId', 'Name');
     $order = array('Name');
     $clients = $table_client->fetchAll(null, $order);
     // select
     $client = $this->createElement('select', 'client', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Client'), 'required' => false, 'class' => 'ui-select', 'style' => 'width: 25em;'));
     $client->addMultiOption('', $this->translate->_("Default"));
     foreach ($clients as $v) {
         $client->addMultiOption($v['name'], $v['name']);
     }
     /*
      * Fileset
      */
     $table_filesets = new Fileset();
     $order = array('Fileset');
     $filesets = $table_filesets->fetchAll(null, $order);
     // select
     $fileset = $this->createElement('select', 'fileset', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Fileset'), 'required' => false, 'class' => 'ui-select', 'style' => 'width: 25em;'));
     $fileset->addMultiOption('', $this->translate->_("Default"));
     foreach ($filesets as $v) {
         $fileset->addMultiOption($v['fileset'], $v['fileset']);
     }
     /*
      * Storage
      */
     $table_storages = new Storage();
     $order = array('Name');
     $storages = $table_storages->fetchAll(null, $order);
     // select
     $storage = $this->createElement('select', 'storage', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Storage'), 'required' => false, 'class' => 'ui-select', 'style' => 'width: 25em;'));
     $storage->addMultiOption('', $this->translate->_("Default"));
     foreach ($storages as $v) {
         $storage->addMultiOption($v['name'], $v['name']);
     }
     /*
      * Level
      */
     // select
     $level = $this->createElement('select', 'level', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Level'), 'required' => false, 'class' => 'ui-select', 'style' => 'width: 20em;'));
     $level->addMultiOptions(array('' => $this->translate->_("Default"), "Full" => $this->translate->_("Full level"), "Incremental" => $this->translate->_("Incremental level"), "Differential" => $this->translate->_("Differential level")));
     /*
      * Spool
      */
     // select
     $spool = $this->createElement('select', 'spool', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Spool'), 'required' => false, 'class' => 'ui-select', 'style' => 'width: 15em;'));
     $spool->addMultiOptions(array('' => $this->translate->_("Default"), "yes" => $this->translate->_("Yes"), "no" => $this->translate->_("No")));
     /*
      * checkbox Now
      */
     $checkbox_now = $this->createElement('checkbox', 'checkbox_now', array('decorators' => $this->elDecorators, 'label' => 'Now', 'onclick' => 'whenNow(this)', 'checked' => 1));
     /*
      * When : date/time
      */
     // date
     $date_when = $this->createElement('text', 'date_when', array('decorators' => $this->elDecorators, 'label' => '', 'required' => false, 'size' => 10, 'maxlength' => 10, 'disabled' => 'true', 'value' => date('Y-m-d', time())));
     $date_when->addValidator('StringLength', false, array(1, 10));
     // time
     $time_when = $this->createElement('text', 'time_when', array('decorators' => $this->elDecorators, 'label' => '', 'required' => false, 'size' => 8, 'maxlength' => 8, 'disabled' => 'true', 'value' => date('H:i:s', time())));
     $time_when->addValidator('StringLength', false, array(1, 8));
     /*
      * submit button
      */
     $submit = new Zend_Form_Element_Submit('submit', array('decorators' => $this->elDecorators, 'id' => 'ok1', 'class' => 'prefer_btn', 'label' => $this->translate->_('Run Job')));
     /*
      *  add elements to form
      */
     $this->addElements(array($jobname, $client, $fileset, $storage, $level, $spool, $checkbox_now, $date_when, $time_when, $submit));
 }
示例#3
0
 public function init()
 {
     $this->translate = Zend_Registry::get('translate');
     //Zend_Form::setDefaultTranslator( Zend_Registry::get('translate') );
     // set method to POST
     $this->setMethod('post');
     /*
      * hidden fields
      */
     $from_form = $this->addElement('hidden', 'from_form', array('decorators' => $this->elDecorators, 'value' => '1'));
     $type_restore = $this->addElement('hidden', 'type_restore', array('decorators' => $this->elDecorators));
     $jobid = $this->addElement('hidden', 'jobid', array('decorators' => $this->elDecorators));
     // for restore single file
     $fileid = $this->addElement('hidden', 'fileid', array('decorators' => $this->elDecorators));
     // load models
     Zend_Loader::loadClass('Client');
     Zend_Loader::loadClass('Storage');
     Zend_Loader::loadClass('Pool');
     Zend_Loader::loadClass('FileSet');
     // ACLs
     $this->bacula_acl = new MyClass_BaculaAcl();
     /******* standard options ******/
     /*
      * client_name / client
      * client_name_to / restoreclient
      *
      */
     $table_client = new Client();
     $order = array('Name');
     $clients = $table_client->fetchAll(null, $order);
     $client_name = $this->createElement('select', 'client_name', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Client'), 'required' => true, 'class' => 'ui-select', 'style' => 'width: 18em;'));
     $client_name_to = $this->createElement('select', 'client_name_to', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Restore client'), 'required' => false, 'class' => 'ui-select', 'style' => 'width: 18em;'));
     $client_name->addMultiOption('', $this->translate->_("Default"));
     $client_name_to->addMultiOption('', $this->translate->_("Default"));
     foreach ($clients as $v) {
         $client_name->addMultiOption($v['name'], $v['name']);
         $client_name_to->addMultiOption($v['name'], $v['name']);
     }
     /*
      * pool
      */
     $table_pool = new Pool();
     $order = array('Name', 'PoolId');
     $pools = $table_pool->fetchAll(null, $order);
     $pool = $this->createElement('select', 'pool', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Pool'), 'required' => false, 'class' => 'ui-select', 'style' => 'width: 18em;'));
     $pool->addMultiOption('', $this->translate->_("Default"));
     foreach ($pools as $v) {
         $pool->addMultiOption($v['name'], $v['name']);
     }
     /*
      * fileset
      */
     $table_fileset = new FileSet();
     $order = array('Fileset');
     $filesets = $table_fileset->fetchAll(null, $order);
     $fileset = $this->createElement('select', 'fileset', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Fileset'), 'required' => false, 'class' => 'ui-select', 'style' => 'width: 18em;'));
     $fileset->addMultiOption('', $this->translate->_("Default"));
     foreach ($filesets as $v) {
         $fileset->addMultiOption($v['fileset'], $v['fileset']);
     }
     /*
      * storage
      */
     $table_storage = new Storage();
     $order = array('Name');
     $storages = $table_storage->fetchAll(null, $order);
     $storage = $this->createElement('select', 'storage', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Storage'), 'required' => false, 'class' => 'ui-select', 'style' => 'width: 18em;'));
     $storage->addMultiOption('', $this->translate->_("Default"));
     foreach ($storages as $v) {
         $storage->addMultiOption($v['name'], $v['name']);
     }
     /*
      * restore_job_select
      * if have multiple Restore Job resources
      */
     $config = Zend_Registry::get('config');
     if ($config->general->bacula_restore_job) {
         $restore_job_select = $this->createElement('select', 'restore_job_select', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Restore Job Resource'), 'required' => true, 'class' => 'ui-select', 'style' => 'width: 18em;'));
         $bacula_restore_jobs = $config->general->bacula_restore_job->toArray();
         $restore_job_select->addMultiOption('', $this->translate->_("Default"));
         $i = 1;
         foreach ($bacula_restore_jobs as $v) {
             if ($this->bacula_acl->doOneBaculaAcl($v, 'job')) {
                 $restore_job_select->addMultiOption($i++, $v);
             }
         }
         // add element to form
         $this->addElement($restore_job_select);
     }
     /******* advanced options ******/
     /*
      * where
      */
     $where = $this->createElement('text', 'where', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Where'), 'required' => false, 'size' => 50, 'maxlength' => 255, 'value' => ''));
     $where->addValidator('StringLength', false, array(0, 255));
     /*
      * strip_prefix
      */
     $strip_prefix = $this->createElement('text', 'strip_prefix', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Strip prefix'), 'required' => false, 'size' => 24, 'maxlength' => 64, 'value' => ''));
     $strip_prefix->addValidator('StringLength', false, array(0, 64));
     /*
      * add_prefix
      */
     $add_prefix = $this->createElement('text', 'add_prefix', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Add prefix'), 'required' => false, 'size' => 24, 'maxlength' => 64, 'value' => ''));
     $add_prefix->addValidator('StringLength', false, array(0, 64));
     /*
      * add_suffix
      */
     $add_suffix = $this->createElement('text', 'add_suffix', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('Add suffix'), 'required' => false, 'size' => 24, 'maxlength' => 64, 'value' => ''));
     $add_suffix->addValidator('StringLength', false, array(0, 64));
     /*
      * regexwhere
      */
     $regexwhere = $this->createElement('text', 'regexwhere', array('decorators' => $this->elDecorators, 'label' => $this->translate->_('RegexWhere'), 'required' => false, 'size' => 24, 'maxlength' => 64, 'value' => ''));
     $regexwhere->addValidator('StringLength', false, array(0, 64));
     /*
      * submit button
      */
     $submit_button = new Zend_Form_Element_Submit('submit_button', array('decorators' => $this->elDecorators, 'id' => 'ok1', 'class' => 'prefer_btn', 'label' => $this->translate->_('Run Restore Job')));
     /*
      * cancel button
      */
     $cancel_button = new Zend_Form_Element_Submit('cancel_button', array('decorators' => $this->elDecorators, 'id' => 'cancel1', 'label' => $this->translate->_('Cancel')));
     /*
      *  add elements to form
      */
     $this->addElements(array($client_name, $client_name_to, $pool, $fileset, $storage, $where, $strip_prefix, $add_prefix, $add_suffix, $regexwhere, $submit_button, $cancel_button));
 }