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')); } } }
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')); } } }