public function selectProfileFormAction() { $request = $this->getRequest(); $form = new \Zend\Form\Form(); $redirect = $this->params()->fromQuery("redirect", ""); //load contact profile forms $arr_forms = $this->getContactsModel()->getContactProfileForm(); //create radio button options foreach ($arr_forms as $key => $form_name) { $arr_element_value_options[$key] = $form_name; } //end foreach //add radio group to form $form->add(array("type" => "radio", "name" => "cpp_form_id", "options" => array("label" => "Please select the form you would like to use:", "value_options" => $arr_element_value_options))); //add remember option radio button $form->add(array('type' => 'checkbox', 'name' => 'remember_form', 'options' => array('label' => 'Remember my option', 'use_hidden_element' => true, 'checked_value' => '1', 'unchecked_value' => '0'))); $form->add(array("name" => "submit", "attributes" => array("value" => "Submit"), "options" => array("ignore" => TRUE))); //check if local storage has been enabled $arr_config = $this->getServiceLocator()->get("config"); if (!isset($arr_config["logged_in_user_settings"])) { $storage_disabled = TRUE; } elseif (isset($arr_config["logged_in_user_settings"]) && $arr_config["logged_in_user_settings"]["storage_enabled"] !== TRUE) { $storage_disabled = TRUE; } //end if if (isset($storage_disabled)) { $form->remove("remember_form"); } //end if //load user session data $objUserStorage = FrontUserSession::getUserLocalStorageObject(); if (is_numeric($objUserStorage->readUserNativePreferences()->cpp_form_id)) { $form->get("cpp_form_id")->setValue($objUserStorage->readUserNativePreferences()->cpp_form_id); } //end if if ($request->isPost()) { //validate form submitted $form->setData($request->getPost()); if ($form->isValid()) { $arr_form_data = $form->getData(); $form_id = $arr_form_data["cpp_form_id"]; if (isset($arr_form_data["remember_form"]) && $arr_form_data["remember_form"] == 1) { //persist user preference if (is_object($objUserStorage)) { $objUserStorage->setUserNativePreferences('cpp_form_id', $form_id); $objUserData->cookie_data->cpp_form_id = $form_id; } //end if } //end if //check if redirect has been specified if ($redirect != "") { //redirect received return $this->redirect()->toUrl($redirect . "?fid={$form_id}"); } //end if //redirect back to the contact edit screen with form id specified $url = $this->url()->fromRoute("front-contacts", array("action" => "create-contact")); //execute redirect $response = $this->getResponse(); $response->getHeaders()->addHeaderLine('Location', $url . "?fid={$form_id}"); $response->setStatusCode(302); return $response; } //end if } //end if return array("form" => $form, "redirect" => $redirect); }
public function cliLogin($arr_data) { //create the request object $objApiRequest = $this->getApiRequestModel(); //setup the object and specify the action $objApiRequest->setApiAction("user/authenticate"); //set dummy data to allow request to go through $objApiRequest->setAPIKey($arr_data["api_key"]); $objApiRequest->setAPIUser($arr_data["uname"]); $objApiRequest->setAPIUserPword($arr_data["pword"]); //execute $objUser = $objApiRequest->performPOSTRequest(array("uname" => $arr_data["uname"], "pword" => $arr_data["pword"]))->getBody(); //init user local storage $objUserStorage = \FrontUserLogin\Models\FrontUserSession::getUserLocalStorageObject(); //save data to local storage if ($objUserStorage instanceof \FrontUsers\Storage\UserMySqlStorage) { $objUser->data->uname_secure = $this->getServiceLocator()->get("FrontCore\\Models\\Security\\CryptoModel")->sha1EncryptDecryptValue("encrypt", $arr_data["uname"], array()); $objUser->data->pword_secure = $this->getServiceLocator()->get("FrontCore\\Models\\Security\\CryptoModel")->sha1EncryptDecryptValue("encrypt", md5($arr_data["pword"]), array()); $objUser->data->profile_identifier_secure = $this->getServiceLocator()->get("FrontCore\\Models\\Security\\CryptoModel")->sha1EncryptDecryptValue("encrypt", $objUser->data->profile->profile_identifier, array()); //read user data $objUserStorage->setUserData($objUser->data); $objUserEntity = $objUserStorage->readData(""); //clear user settings $objUserStorage->clearUserSettings(); //save data $objUserStorage->saveUserSettings(NULL); } //end if //create session for user $objUserSession = $this->getUserSessionContainer(); $objUserSession->createUserSession($objUser->data); return $objUser; }
public function userNativePreferencesAction() { //check if user is already logged in, if so, redirect to the home page if (FrontUserSession::isLoggedIn() === FALSE) { return $this->redirect()->toRoute("home"); } //end if //set layout $this->layout("layout/layout"); //check if local storage has been enabled $arr_config = $this->getServiceLocator()->get("config"); if (!isset($arr_config["logged_in_user_settings"])) { $storage_disabled = TRUE; } elseif (isset($arr_config["logged_in_user_settings"]) && $arr_config["logged_in_user_settings"]["storage_enabled"] !== TRUE) { $storage_disabled = TRUE; } //end if if (isset($storage_disabled)) { $this->flashMessenger()->addInfoMessage("User preferences cannot be saved. Service is not enabled"); return $this->redirect()->toRoute("home"); } //end if //load form $form = $this->getUserLoginModel()->getUserNativePreferencesForm($this); //load user preferences $objUserData = FrontUserSession::getUserLocalStorageObject(); if (is_object($objUserData) && is_object($objUserData->readUserNativePreferences())) { foreach ($objUserData->readUserNativePreferences() as $key => $value) { if ($form->has($key)) { $form->get($key)->setValue($value); } //end if } //end foreach } //end if $request = $this->getRequest(); if ($request->isPost()) { $form->setData($request->getPost()); if ($form->isValid()) { try { $arr_data = (array) $form->getData(); $objUserData->setUserNativePreferences((object) $arr_data); $this->flashMessenger()->addSuccessMessage("Preferences saved"); } catch (\Exception $e) { $this->flashMessenger()->addErrorMessage($e->getMessage); } //end catch } //end if } //end if return array("form" => $form); }