function install_locale()
 {
     $session = \GCore\Libs\Base::getSession();
     if (isset($_FILES['upload'])) {
         $upload = $_FILES['upload'];
         if (\GCore\Libs\Upload::valid($upload) and \GCore\Libs\Upload::not_empty($upload) and \GCore\Libs\Upload::check_type($upload, 'zip')) {
             $target = \GCore\C::get('GCORE_FRONT_PATH') . 'cache' . DS . rand() . $upload['name'];
             $result = \GCore\Libs\Upload::save($upload['tmp_name'], $target);
             if (empty($result)) {
                 $session->setFlash('error', l_('CF_LOCALE_UPLOAD_ERROR'));
                 $this->redirect(r_('index.php?ext=chronoforms&act=install_locale'));
             }
             //file upload, let's extract it
             $zip = new \ZipArchive();
             $handler = $zip->open($target);
             if ($handler === true) {
                 $extract_path = \GCore\C::ext_path('chronoforms', 'admin') . 'locales' . DS;
                 $zip->extractTo($extract_path);
                 $zip->close();
                 unlink($target);
                 $session->setFlash('success', l_('CF_LOCALE_INSTALL_SUCCESS'));
                 $this->redirect(r_('index.php?ext=chronoforms'));
             } else {
                 $session->setFlash('error', l_('CF_LOCALE_EXTRACT_ERROR'));
                 $this->redirect(r_('index.php?ext=chronoforms&act=install_locale'));
             }
         } else {
             $session->setFlash('error', l_('CF_LOCALE_FILE_ERROR'));
             $this->redirect(r_('index.php?ext=chronoforms&act=install_locale'));
         }
     }
 }
Exemplo n.º 2
0
 function restore()
 {
     $files = $_FILES;
     if (is_array($files) and !empty($files)) {
         $session = \GCore\Libs\Base::getSession();
         if (!\GCore\Libs\Upload::valid($files['ccbackup'])) {
             $session->setFlash('error', l_('CONN_CONNECTIONS_RESTORE_ERROR'));
             return false;
         }
         if (!\GCore\Libs\Upload::not_empty($files['ccbackup'])) {
             $session->setFlash('error', l_('CONN_CONNECTIONS_RESTORE_ERROR'));
             return false;
         }
         if (!\GCore\Libs\Upload::check_type($files['ccbackup'], array('cc5bak'))) {
             $session->setFlash('error', l_('CONN_CONNECTIONS_RESTORE_ERROR'));
             return false;
         }
         $path = \GCore\C::get('GCORE_FRONT_PATH') . DS . 'cache';
         $uploaded_file = \GCore\Libs\Upload::save($files['ccbackup']['tmp_name'], $path . DS . $files['ccbackup']['name']);
         if (!$uploaded_file) {
             $session->setFlash('error', l_('CONN_CONNECTIONS_RESTORE_ERROR'));
         } else {
             $data = file_get_contents($path . DS . $files['ccbackup']['name']);
             \GCore\Libs\File::delete($path . DS . $files['ccbackup']['name']);
             $connections = unserialize(base64_decode(trim($data)));
             if (!empty($connections)) {
                 foreach ($connections as $connection) {
                     if (isset($connection['Connection']['id'])) {
                         $connection['Connection']['id'] = null;
                         $connection['Connection']['published'] = 0;
                         $this->Connection->save($connection);
                     }
                 }
             }
             $session->setFlash('success', l_('CONN_CONNECTIONS_RESTORED'));
             $this->redirect(r_('index.php?ext=chronoconnectivity'));
         }
     }
 }