/**
  * Database configuration action
  */
 public function configureAction()
 {
     $locale = $this->getRequest()->getParam('locale', FALSE);
     $timezone = $this->getRequest()->getParam('timezone', FALSE);
     if (!$locale || !$timezone) {
         $this->sendRedirect('*/*/locale');
     }
     Fox::getModel('installer/session')->setCurrentStep(3);
     $this->loadLayout();
     $error = FALSE;
     $data = array();
     try {
         $configDirectory = CONFIG_DIR;
         $uploadsDirectory = UPLOAD_DIR;
         $varDirectory = VAR_DIR;
         $sessionDirectory = SESSION_DIR;
         $extensionDirectory = EXTENSION_DIR;
         if (!is_writable($configDirectory)) {
             Fox::getHelper('core/message')->addError('Path "' . realpath($configDirectory) . '" must be word writable.');
             $error = TRUE;
         }
         if (!is_writable($uploadsDirectory)) {
             Fox::getHelper('core/message')->addError('Path "' . realpath($uploadsDirectory) . '" must be word writable.');
             $error = TRUE;
         }
         if (!is_writable($varDirectory)) {
             Fox::getHelper('core/message')->addError('Path "' . realpath($varDirectory) . '" must be word writable.');
             $error = TRUE;
         }
         if (!is_writable($extensionDirectory)) {
             Fox::getHelper('core/message')->addError('Path "' . realpath($extensionDirectory) . '" must be word writable.');
             $error = TRUE;
         }
         $errors = Uni_Core_Installer::checkServerCompatiblity();
         if (!empty($errors)) {
             foreach ($errors as $err) {
                 Fox::getHelper('core/message')->addError($err);
             }
             $error = TRUE;
         }
         if (!$error && !file_exists($sessionDirectory)) {
             if (!@mkdir($sessionDirectory, 0777) || !is_writable($sessionDirectory)) {
                 Fox::getHelper('core/message')->addError('Path "' . realpath($sessionDirectory) . '" must be word writable.');
                 $error = TRUE;
             }
         }
         if ($error) {
             $this->getViewByKey('configure')->error = TRUE;
             throw new Exception('');
         }
         Fox::getModel('installer/session')->unsetAllData();
         Fox::getModel('installer/session')->setCurrentStep(3);
         Fox::getModel('installer/session')->setLocale(urldecode($locale));
         Fox::getModel('installer/session')->setTimezone(urldecode($timezone));
     } catch (Exception $e) {
     }
     $this->renderLayout();
 }