コード例 #1
0
 public function importAction()
 {
     $form = new Ot_Form_ImportConfigCsv();
     if ($this->_request->isPost()) {
         if ($form->isValid($_POST)) {
             if (!$form->config->receive()) {
                 throw new Exception("Error receiving the file");
             }
             $location = $form->config->getFileName();
             $options = array();
             if (($handle = fopen($location, "r")) !== FALSE) {
                 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
                     $options[] = $data;
                 }
                 fclose($handle);
             }
             unlink($location);
             $vr = new Ot_Config_Register();
             $vars = $vr->getVars();
             foreach ($options as $o) {
                 list($key, $value) = $o;
                 if (isset($vars[$key])) {
                     $vars[$key]['object']->setRawValue($value);
                     $vr->save($vars[$key]['object']);
                 }
             }
             $this->_helper->messenger->addSuccess($this->view->translate('msg-info-configUpdated', ''));
             $this->_helper->redirector->gotoRoute(array('controller' => 'config'), 'ot', true);
         }
     }
     $this->_helper->pageTitle('Import CSV Config File');
     $this->view->assign(array('form' => $form));
 }