コード例 #1
0
ファイル: Typ.php プロジェクト: besters/My-Base
 /**
  * Vraci pole ve tvaru "id => typ"
  *
  * @param int $idaccount ID uctu
  * @param string $nullVal Prvni prvek selectu
  * @return array
  */
 public function getFormSelect($idaccount = null, $nullVal = null)
 {
     if (is_null($idaccount)) {
         $idaccount = $this->_dbTable->getAccountId();
     }
     $priority = $this->_dbTable->fetchAllEntry('idaccount = ' . $idaccount . '', array('idtyp', 'name'));
     foreach ($priority as $row) {
         if (!is_null($nullVal)) {
             $return[null] = $nullVal;
         }
         $return[$row->idtyp] = $row->name;
     }
     return $return;
 }
コード例 #2
0
ファイル: User.php プロジェクト: c12g/stratos-php
 /**
  * Authenticate a user
  *
  * Authentication is handled by SoftLayer's authentication system. Passwords
  * are not stored locally.
  *
  * @param string $username
  * @param string $password
  * @throws Exception
  * @return bool
  */
 public static function authenticate($username, $password)
 {
     /*
      * Make sure the user exists locally first.
      */
     $user = Model_DbTable_User::findByUsername($username);
     if ($user == null) {
         throw new Exception('Invalid login credentials provided.');
     }
     /*
      * Attempt to authenticate to the SoftLayer API. API docs at
      * http://sldn.softlayer.com/wiki/index.php/SoftLayer_User_Customer::getPortalLoginToken
      */
     $client = SoftLayer_SoapClient::getClient('SoftLayer_User_Customer');
     try {
         $result = $client->getPortalLoginToken($username, $password);
     } catch (Exception $e) {
         throw new Exception($e->getMessage());
     }
     return true;
 }
コード例 #3
0
ファイル: User.php プロジェクト: besters/My-Base
 /**
  * Zjistuje ID vlastnika uctu
  *
  * @param int $idaccount id uctu
  * @return array
  */
 public function getOwnerId($idaccount)
 {
     $idowner = $this->_dbTable->getRow(array('idaccount' => $idaccount, 'owner' => 1), array('iduser'));
     Zend_Debug::dump($idowner);
     return $idowner;
 }
コード例 #4
0
ファイル: Company.php プロジェクト: besters/My-Base
 /**
  * Uklada novou/editovanou spolecnost do DB
  *
  * @param array $formData Data z formulare
  * @param int $id ID editovaneho zaznamu
  * @return int ID ukladaneho zaznamu
  *
  * @todo Dodelat sloupce pro editaci
  */
 public function save($formData, $id = null)
 {
     $data = array('idaccount' => $this->_dbTable->getAccountId(), 'name' => $formData['company']);
     $lastInsertId = $this->_dbTable->save($data, $id);
     return $lastInsertId;
 }
コード例 #5
0
 /**
  * Fungsi untuk memasukkan data comment
  * @return array
  */
 public function insertCommentUsercon($contentId, $contentType, $input, $userId, $fbname = '')
 {
     if (!preg_match('@^http://|https://@', $input['website']) and empty($fbname)) {
         $input['website'] = 'http://' . $input['website'];
     }
     date_default_timezone_set('Asia/Jakarta');
     $defaultData = array('content_id' => $contentId, 'content_type' => $contentType, 'comment_author_url' => $input['website'], 'comment_content' => $input['comment'], 'parent_id' => $input['parent_id'], 'level' => $input['level'], 'comment_date' => date('Y-m-d H:i:s'));
     if (isset($userId)) {
         $userDb = new Model_DbTable_User();
         $user = $userDb->getUserById($userId);
         $data = array('comment_author' => $user['name'], 'comment_author_email' => $user['email'], 'user_id' => $userId);
         if (!empty($fbname)) {
             $data['isfb'] = 1;
             $data['comment_author'] = $user['username'];
         }
         $defaultData = array_merge($defaultData, $data);
         return $this->insert($defaultData);
     } else {
         $data = array('comment_author' => $input['author'], 'comment_author_email' => $input['email']);
         $defaultData = array_merge($defaultData, $data);
         if (isset($input['author']) and isset($input['email'])) {
             return $this->insert($defaultData);
         }
     }
 }
コード例 #6
0
 /**
  * IS: -
  * FS: -
  * Desc: Fungsi untuk mereset password
  */
 private function _resetPassword($userId)
 {
     $userDb = new Model_DbTable_User();
     $updateData = array('password' => md5($this->_getParam('password')));
     $userDb->updateUser($updateData, $userId);
 }
コード例 #7
0
 /**
  * Make sure PHP is up to snuff, that we can write to the right places, and
  * make the first user.
  */
 public function indexAction()
 {
     $phpCheck = array('PHP Version >= 5.2.3' => version_compare(PHP_VERSION, '5.2.3') >= 0, 'Standard Extension Loaded' => extension_loaded('standard'), 'SOAP Extension Loaded' => extension_loaded('soap'), 'PCRE Extension Loaded' => extension_loaded('pcre'), 'PDO Extension Loaded' => extension_loaded('pdo'), 'PDO SQLite Extension Loaded' => extension_loaded('pdo_sqlite'), 'SPL Extension Loaded' => extension_loaded('spl'), 'Session Extension Loaded' => extension_loaded('session'), 'Ctype Extension Loaded' => extension_loaded('ctype'));
     $systemCheck = array('Languages Directory (' . LANGUAGE_PATH . ') Writable' => is_writable(LANGUAGE_PATH), 'Skins Directory (' . SKIN_PATH . ') Writable' => is_writable(SKIN_PATH), 'Database Directory (' . APPLICATION_PATH . '/../data/db) Writable' => is_writable(APPLICATION_PATH . '/../data/db'), 'Configuration File (' . CONFIG_PATH . '/settings.ini' . ') Writable' => is_writable(CONFIG_PATH . '/settings.ini'));
     /*
      * Show an error if there are any PHP or system errors.
      */
     $hasPhpErrors = false;
     $hasSystemErrors = false;
     foreach ($phpCheck as $check) {
         if (!$check) {
             $hasPhpErrors = true;
             break;
         }
     }
     foreach ($systemCheck as $check) {
         if (!$check) {
             $hasSystemErrors = true;
             break;
         }
     }
     if (!$hasPhpErrors && !$hasSystemErrors) {
         /*
          * Build the add user form.
          */
         $config = Zend_Registry::get('config');
         $skins = Model_Skin::getAllSkins();
         $languages = Model_Language::getAllLanguages();
         /*
          * Turn the skin and language lists into something more Zend_Form
          * friendly.
          */
         foreach ($skins as $skin) {
             $skinList[$skin->name] = $skin->name;
         }
         foreach ($languages as $language) {
             $languageList[$language->name] = $language->name;
         }
         $form = new Zend_Form();
         $form->setMethod('post');
         $username = $form->createElement('text', 'username');
         $username->setLabel(ucfirst($this->view->translate->_('username')));
         $username->setRequired(true);
         $username->addValidator('alnum');
         $apiKey = $form->createElement('text', 'apiKey');
         $apiKey->setLabel(ucfirst($this->view->translate->_('API key')));
         $apiKey->setRequired(true);
         $apiKey->addValidator('alnum');
         $skin = $form->createElement('select', 'skin');
         $skin->setLabel(ucfirst($this->view->translate->_('skin')));
         $skin->addMultiOptions($skinList);
         $skin->setValue($config->defaults->skin);
         $skin->setRequired(true);
         $language = $form->createElement('select', 'language');
         $language->setLabel(ucfirst($this->view->translate->_('language')));
         $language->addMultiOptions($languageList);
         $language->setValue($config->defaults->language);
         $language->setRequired(true);
         $form->addElement($username);
         $form->addElement($apiKey);
         $form->addElement($skin);
         $form->addElement($language);
         $form->addElement('submit', 'submit', array('label' => $this->view->translate->_('Submit')));
         /*
          * Process form submission.
          */
         if ($this->getRequest()->isPost()) {
             $formData = $this->getRequest()->getPost();
             if ($form->isValid($formData)) {
                 /*
                  * Try out the username and API key to make sure they
                  * entered a good one.
                  */
                 $account = null;
                 $client = SoftLayer_SoapClient::getClient('SoftLayer_Account', null, $form->getValue('username'), $form->getValue('apiKey'));
                 try {
                     $account = $client->getObject();
                 } catch (Exception $e) {
                     $this->view->errorMessage = $this->view->translate->_('Please enter a valid username and API key combination.');
                 }
                 /*
                  * Add the user.
                  */
                 if ($account != null) {
                     try {
                         $user = Model_DbTable_User::addUser($form->getValue('username'), $form->getValue('apiKey'), $form->getValue('skin'), $form->getValue('language'), true);
                         $this->_helper->_redirector->goToRouteAndExit(array('controller' => 'index', 'action' => null));
                     } catch (Exception $e) {
                         $this->view->errorMessage = $this->view->translate->_('Unable to add user.') . ' ' . $e->getMessage();
                     }
                 }
             } else {
                 $this->view->errorMessage = $this->view->translate->_('Please completely fill out the configuration form.');
             }
             $form->populate($formData);
         }
         $this->view->form = $form;
     }
     $this->view->pageTitle = 'Installation';
     $this->view->headTitle('Installation');
     $this->view->phpCheck = $phpCheck;
     $this->view->systemCheck = $systemCheck;
     $this->view->hasPhpErrors = $hasPhpErrors;
     $this->view->hasSystemErrors = $hasSystemErrors;
 }
コード例 #8
0
ファイル: UserController.php プロジェクト: c12g/stratos-php
 /**
  * Present a login form and handle user authentication.
  */
 public function loginAction()
 {
     /*
      * Build the login form
      */
     $form = new Zend_Form();
     $form->setMethod('post');
     $username = $form->createElement('text', 'username');
     $username->setLabel($this->view->translate->_('Username'));
     $username->setRequired(true);
     $username->addValidator('alnum');
     $password = $form->createElement('password', 'password');
     $password->setLabel($this->view->translate->_('Password'));
     $password->setRequired(true);
     $form->addElement($username);
     $form->addElement($password);
     $form->addElement('submit', 'login', array('label' => $this->view->translate->_('Login')));
     /*
      * Handle authentication
      */
     if ($this->getRequest()->isPost()) {
         $formData = $this->getRequest()->getPost();
         if ($form->isValid($formData)) {
             try {
                 Model_DbTable_User::authenticate($form->getValue('username'), $form->getValue('password'));
                 /*
                  * Set the current user session
                  */
                 $user = Model_DbTable_User::findByUsername($form->getValue('username'));
                 $currentUser = new Zend_Session_Namespace('currentUser');
                 $currentUser->id = $user->id;
                 $currentUser->username = $user->username;
                 $currentUser->apiKey = $user->apiKey;
                 $currentUser->language = $user->language;
                 $currentUser->skin = $user->skin;
                 $currentUser->isAdmin = $user->isAdmin;
                 /*
                  * Redirect back to the index page.
                  */
                 $this->_helper->_redirector->goToRouteAndExit(array('controller' => 'index', 'action' => 'index'));
             } catch (Exception $e) {
                 $this->view->errorMessage = $this->view->translate->_('Login failed.') . ' ' . $e->getMessage();
             }
         } else {
             $this->view->errorMessage = $this->view->translate->_('Login failed.') . ' ' . $this->view->translate->_('Please completely fill out the login form.');
             $form->populate($formData);
         }
     }
     $this->view->headTitle($this->view->translate->_('Login'));
     $this->view->form = $form;
 }
コード例 #9
0
ファイル: AdminController.php プロジェクト: c12g/stratos-php
 /**
  * Edit a local user.
  *
  * This does not affect the user's corresponding SoftLayer user account.
  */
 public function edituserAction()
 {
     $user = null;
     /*
      * Get user info.
      */
     try {
         $user = new Model_DbTable_User($this->_getParam('id'));
     } catch (Exception $e) {
         $this->view->errorMessage = $this->translate->_('Unable to locate user.') . ' ' . $e->getMessage();
     }
     if ($user != null) {
         /*
          * Build the delete form. Only show it if the user isn't trying to
          * delete themselves.
          */
         $deleteForm = null;
         if ($user->id != $this->view->currentUser->id) {
             $deleteForm = new Zend_Form();
             $deleteForm->setMethod('post');
             $hidden = $deleteForm->createElement('hidden', 'mode');
             $hidden->setValue('delete');
             $deleteForm->addElement($hidden);
             $deleteForm->addElement('submit', 'submit', array('label' => $this->view->translate->_('Submit')));
         }
         /*
          * Build the edit form.
          */
         $skins = Model_Skin::getAllSkins();
         $languages = Model_Language::getAllLanguages();
         /*
          * Turn the skin and language lists into something more Zend_Form
          * friendly.
          */
         foreach ($skins as $skin) {
             $skinList[$skin->name] = $skin->name;
         }
         foreach ($languages as $language) {
             $languageList[$language->name] = $language->name;
         }
         $form = new Zend_Form();
         $form->setMethod('post');
         $username = $form->createElement('text', 'username');
         $username->setLabel(ucfirst($this->view->translate->_('username')));
         $username->setRequired(true);
         $username->addValidator('alnum');
         $username->setValue($user->username);
         $apiKey = $form->createElement('text', 'apiKey');
         $apiKey->setLabel(ucfirst($this->view->translate->_('API key')));
         $apiKey->setRequired(true);
         $apiKey->addValidator('alnum');
         $apiKey->setValue($user->apiKey);
         $skin = $form->createElement('select', 'skin');
         $skin->setLabel(ucfirst($this->view->translate->_('skin')));
         $skin->addMultiOptions($skinList);
         $skin->setValue($user->skin);
         $skin->setRequired(true);
         $language = $form->createElement('select', 'language');
         $language->setLabel(ucfirst($this->view->translate->_('language')));
         $language->addMultiOptions($languageList);
         $language->setValue($user->language);
         $language->setRequired(true);
         $isAdmin = $form->createElement('checkbox', 'isAdmin');
         $isAdmin->setLabel(ucfirst($this->view->translate->_('administrator')));
         $isAdmin->setChecked($user->isAdmin);
         $hidden = $form->createElement('hidden', 'mode');
         $hidden->setValue('edit');
         $form->addElement($username);
         $form->addElement($apiKey);
         $form->addElement($skin);
         $form->addElement($language);
         $form->addElement($isAdmin);
         $form->addElement($hidden);
         $form->addElement('submit', 'submit', array('label' => $this->view->translate->_('Submit')));
         /*
          * Process form submission.
          */
         if ($this->getRequest()->isPost()) {
             $formData = $this->getRequest()->getPost();
             /*
              * Delete the user.
              */
             if ($formData['mode'] == 'delete') {
                 /*
                  * Users may not delete themselves.
                  */
                 if ($user->id == $this->view->currentUser->id) {
                     $this->view->errorMessage = $this->view->translate->_('You may not delete your user account.');
                 } else {
                     try {
                         $user->deleteUser();
                         $this->_helper->_redirector->goToRouteAndExit(array('controller' => 'admin', 'action' => 'users', 'id' => null));
                     } catch (Exception $e) {
                         $this->view->errorMessage = $this->view->translate->_('Unable to delete user.') . ' ' . $e->getMessage();
                     }
                 }
                 /*
                  * Edit the user.
                  */
             } else {
                 if ($form->isValid($formData)) {
                     /*
                      * Try out the username and API key to make sure they
                      * entered a good one.
                      */
                     $account = null;
                     $client = SoftLayer_SoapClient::getClient('SoftLayer_Account', null, $form->getValue('username'), $form->getValue('apiKey'));
                     try {
                         $account = $client->getObject();
                     } catch (Exception $e) {
                         $this->view->errorMessage = $this->view->translate->_('Please enter a valid username and API key combination.');
                     }
                     /*
                      * If the user is editing themself then make sure they
                      * don't take away their own admin privileges.
                      */
                     if ($user->id == $this->view->currentUser->id && $form->getValue('isAdmin') != $this->view->currentUser->isAdmin) {
                         $account = null;
                         $this->view->errorMessage = $this->view->translate->_('You may not change your administrative status.');
                     }
                     /*
                      * Update the user.
                      */
                     if ($account != null) {
                         try {
                             $user->updateUser($form->getValue('username'), $form->getValue('apiKey'), $form->getValue('skin'), $form->getValue('language'), $form->getValue('isAdmin'));
                             $this->view->statusMessage = $this->view->translate->_('User saved.');
                         } catch (Exception $e) {
                             $this->view->errorMessage = $this->view->translate->_('Unable to save user.') . ' ' . $e->getMessage();
                         }
                     }
                 } else {
                     $this->view->errorMessage = $this->view->translate->_('Please completely fill out the configuration form.');
                 }
             }
             $form->populate($formData);
         }
         $this->view->pageTitle = $this->view->translate->_('Edit') . ' ' . $user->username;
         $this->view->headTitle($this->view->translate->_('Edit') . ' ' . $user->username);
         $this->view->deleteForm = $deleteForm;
         $this->view->form = $form;
     }
     $this->view->user = $user;
 }