コード例 #1
0
ファイル: UserController.php プロジェクト: ntoniazzi/PHPCI
 /**
  * Allows the user to edit their profile.
  * @return string
  */
 public function profile()
 {
     $user = $_SESSION['phpci_user'];
     if ($this->request->getMethod() == 'POST') {
         $name = $this->getParam('name', null);
         $email = $this->getParam('email', null);
         $password = $this->getParam('password', null);
         $currentLang = Lang::getLanguage();
         $chosenLang = $this->getParam('language', $currentLang);
         if ($chosenLang !== $currentLang) {
             setcookie('phpcilang', $chosenLang, time() + 10 * 365 * 24 * 60 * 60, '/');
             Lang::setLanguage($chosenLang);
         }
         $_SESSION['phpci_user'] = $this->userService->updateUser($user, $name, $email, $password);
         $user = $_SESSION['phpci_user'];
         $this->view->updated = 1;
     }
     $this->layout->title = $user->getName();
     $this->layout->subtitle = Lang::get('edit_profile');
     $values = $user->getDataArray();
     if (array_key_exists('phpcilang', $_COOKIE)) {
         $values['language'] = $_COOKIE['phpcilang'];
     }
     $form = new Form();
     $form->setAction(PHPCI_URL . 'user/profile');
     $form->setMethod('POST');
     $name = new Form\Element\Text('name');
     $name->setClass('form-control');
     $name->setContainerClass('form-group');
     $name->setLabel(Lang::get('name'));
     $name->setRequired(true);
     $form->addField($name);
     $email = new Form\Element\Email('email');
     $email->setClass('form-control');
     $email->setContainerClass('form-group');
     $email->setLabel(Lang::get('email_address'));
     $email->setRequired(true);
     $form->addField($email);
     $password = new Form\Element\Password('password');
     $password->setClass('form-control');
     $password->setContainerClass('form-group');
     $password->setLabel(Lang::get('password_change'));
     $password->setRequired(false);
     $form->addField($password);
     $lang = new Form\Element\Select('language');
     $lang->setClass('form-control');
     $lang->setContainerClass('form-group');
     $lang->setLabel(Lang::get('language'));
     $lang->setRequired(true);
     $lang->setOptions(Lang::getLanguageOptions());
     $lang->setValue(Lang::getLanguage());
     $form->addField($lang);
     $submit = new Form\Element\Submit();
     $submit->setClass('btn btn-success');
     $submit->setValue(Lang::get('save'));
     $form->addField($submit);
     $form->setValues($values);
     $this->view->form = $form;
     return $this->view->render();
 }
コード例 #2
0
ファイル: bootstrap.php プロジェクト: ntoniazzi/PHPCI
*
* @copyright    Copyright 2013, Block 8 Limited.
* @license      https://github.com/Block8/PHPCI/blob/master/LICENSE.md
* @link         http://www.phptesting.org/
*/
// Let PHP take a guess as to the default timezone, if the user hasn't set one:
date_default_timezone_set(@date_default_timezone_get());
// Load Composer autoloader:
require_once dirname(__DIR__) . '/vendor/autoload.php';
// If the PHPCI config file is not where we expect it, try looking in
// env for an alternative config path.
$configFile = dirname(__FILE__) . '/../PHPCI/config.yml';
if (!file_exists($configFile)) {
    $configEnv = getenv('phpci_config_file');
    if (!empty($configEnv)) {
        $configFile = $configEnv;
    }
}
// Load configuration if present:
$conf = array();
$conf['b8']['app']['namespace'] = 'PHPCI';
$conf['b8']['app']['default_controller'] = 'Home';
$conf['b8']['view']['path'] = dirname(__DIR__) . '/PHPCI/View/';
$config = new b8\Config($conf);
if (file_exists($configFile)) {
    $config->loadYaml($configFile);
}
require_once dirname(__DIR__) . '/vars.php';
\PHPCI\Helper\Lang::init($config);
\PHPCI\Helper\Lang::setLanguage("en");