当前位置: 首页>>代码示例>>PHP>>正文


PHP Session::clear方法代码示例

本文整理汇总了PHP中Session::clear方法的典型用法代码示例。如果您正苦于以下问题:PHP Session::clear方法的具体用法?PHP Session::clear怎么用?PHP Session::clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Session的用法示例。


在下文中一共展示了Session::clear方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: saveNewsArticle

 function saveNewsArticle($data, Form $form)
 {
     try {
         $form->clearMessage();
         $form->resetValidation();
         if ($data['newsID']) {
             $this->manager->updateNews($data);
         } else {
             $this->manager->postNews($data);
         }
         Session::clear("FormInfo.Form_NewsRequestForm.data");
         return Controller::curr()->redirect('/news-add/?saved=1');
     } catch (EntityValidationException $ex1) {
         $messages = $ex1->getMessages();
         $msg = $messages[0];
         $form->addErrorMessage('Headline', $msg['message'], 'bad');
         SS_Log::log($msg['message'], SS_Log::ERR);
         // Load errors into session and post back
         Session::set("FormInfo.Form_NewsRequestForm.data", $data);
         return $this->redirectBack();
     } catch (Exception $ex) {
         $form->addErrorMessage('Headline', 'Server Error', 'bad');
         SS_Log::log($ex->getMessage(), SS_Log::ERR);
         // Load errors into session and post back
         Session::set("FormInfo.Form_NewsRequestForm.data", $data);
         return $this->redirectBack();
     }
 }
开发者ID:OpenStackweb,项目名称:openstack-org,代码行数:28,代码来源:NewsRequestPage.php

示例2: doContactFormSubmit

 /**
  * Handles the submission of the contact form. Checks spam and builds and sends the email
  *
  * @param array The form data
  * @param Form The Form object	
  */
 public function doContactFormSubmit($data, $form)
 {
     Session::set("FormData.{$form->FormName()}", $data);
     $proxy = $form->proxy;
     foreach ($proxy->getSpamProtection() as $spam) {
         if ($spam->isSpam($data, $form)) {
             $form->sessionMessage($spam->getMessage(), "bad");
             $spam->logSpamAttempt($this->owner->request);
             return $this->owner->redirectBack();
         }
     }
     if ($func = $proxy->getOnBeforeSend()) {
         $result = $func($data, $form, $proxy);
         if ($result === false) {
             return $this->owner->redirectBack();
         }
     }
     $this->sendEmail($data, $form);
     Session::clear("FormData.{$form->FormName()}");
     if ($func = $proxy->getOnAfterSend()) {
         $func($data, $form, $proxy);
     }
     if ($proxy->getSuccessURL()) {
         return $this->owner->redirect($proxy->getSuccessURL());
     } else {
         if (Director::is_ajax()) {
             return new SS_HTTPResponse($proxy->getSuccessMessage());
         }
         $form->sessionMessage(strip_tags($proxy->getSuccessMessage()), 'good');
         return $this->owner->redirectBack();
     }
 }
开发者ID:helpfulrobot,项目名称:silverstripe-contact-form,代码行数:38,代码来源:ContactFormControls.php

示例3: submit

 function submit($data, $form)
 {
     // if rewards added and get it button clicked then validate and save to order object
     if (isset($data['action_submit']) && isset($data['Quantity'])) {
         Session::clear($this->controller->RewardsSessionKey());
         foreach ($data['Quantity'] as $ProductID => $quantity) {
             $item = $this->controller->newReward($ProductID, $quantity);
             Session::set($this->controller->RewardsSessionKey($ProductID), serialize($item));
         }
         if ($this->controller->RewardsTotalPoints() > Page_Controller::MemberPointsBalance()) {
             $this->sessionMessage('You do not have enough points to purchase these rewards.', 'error');
             Director::redirectBack();
             return;
         }
         $new_items = $this->controller->RewardItems();
     }
     //delete all existing reward items for this order
     $order_items = $this->controller->Order()->RewardItems();
     foreach ($order_items as $o_item) {
         $o_item->delete();
     }
     // then flush rewards from session
     Session::clear($this->controller->RewardsSessionKey());
     //then link the reward items to the order
     if (isset($new_items)) {
         foreach ($new_items as $item) {
             $item->write();
         }
     }
     // then redirect to next step
     Director::redirect($this->controller->Link() . 'checkoutstep/orderconfirmationandpayment/');
 }
开发者ID:helpfulrobot,项目名称:sunnysideup-ecommerce-rewards,代码行数:32,代码来源:OrderRewardForm.php

示例4: dologin

 /**
  * Login form handler method
  *
  * This method is called when the user clicks on "Log in"
  *
  * @param array $data Submitted data
  */
 public function dologin($data)
 {
     if ($this->performLogin($data)) {
         Session::clear('SessionForms.MemberLoginForm.Email');
         Session::clear('SessionForms.MemberLoginForm.Remember');
         if (isset($_REQUEST['BackURL']) && ($backURL = $_REQUEST['BackURL'])) {
             Session::clear("BackURL");
             Director::redirect($backURL);
         } else {
             Director::redirectBack();
         }
     } else {
         Session::set('SessionForms.MemberLoginForm.Email', $data['Email']);
         Session::set('SessionForms.MemberLoginForm.Remember', isset($data['Remember']));
         if (isset($_REQUEST['BackURL']) && ($backURL = $_REQUEST['BackURL'])) {
             Session::set('BackURL', $backURL);
         }
         if ($badLoginURL = Session::get("BadLoginURL")) {
             Director::redirect($badLoginURL);
         } else {
             // Show the right tab on failed login
             Director::redirect(Director::absoluteURL(Security::Link("login")) . '#' . $this->FormName() . '_tab');
         }
     }
 }
开发者ID:ramziammar,项目名称:websites,代码行数:32,代码来源:MemberLoginForm.php

示例5: getCaptcha

 function getCaptcha()
 {
     $key = TextCaptchaField::config()->ApiKey;
     $url = 'http://api.textcaptcha.com/' . $key;
     //if(Session::get('setCaptcha') == true && Session::get('question') === null && Session::get('captchaFail') != true) {}
     try {
         $xml = @new SimpleXMLElement($url, null, true);
     } catch (Exception $e) {
         // if there is a problem, use static fallback..
         $fallback = '<captcha>' . '<question>Is ice hot or cold?</question>' . '<answer>' . md5('cold') . '</answer></captcha>';
         $xml = new SimpleXMLElement($fallback);
     }
     // display question as part of form
     $question = (string) $xml->question;
     // store answers in session
     $ans = array();
     foreach ($xml->answer as $hash) {
         $ans[] = (string) $hash;
     }
     Session::set('captcha', $ans);
     Session::set('question', $question);
     Session::set('setCaptcha', true);
     Session::clear('captchaFail');
     return true;
 }
开发者ID:helpfulrobot,项目名称:thezenmonkey-textcaptcha,代码行数:25,代码来源:TextCaptchaField.php

示例6: doChangePassword

 /**
  * @param array $data
  * @return SS_HTTPResponse|void
  */
 function doChangePassword(array $data)
 {
     try {
         $token = Session::get('AutoLoginHash');
         $member = $this->password_manager->changePassword($token, @$data['NewPassword1'], @$data['NewPassword2']);
         Session::clear('AutoLoginHash');
         $back_url = isset($_REQUEST['BackURL']) ? $_REQUEST['BackURL'] : '/';
         return OpenStackIdCommon::loginMember($member, $back_url);
     } catch (InvalidResetPasswordTokenException $ex1) {
         Session::clear('AutoLoginHash');
         Controller::curr()->redirect('login');
     } catch (EmptyPasswordException $ex2) {
         $this->clearMessage();
         $this->sessionMessage(_t('Member.EMPTYNEWPASSWORD', "The new password can't be empty, please try again"), "bad");
         Controller::curr()->redirectBack();
     } catch (PasswordMismatchException $ex3) {
         $this->clearMessage();
         $this->sessionMessage(_t('Member.ERRORNEWPASSWORD', "You have entered your new password differently, try again"), "bad");
         Controller::curr()->redirectBack();
     } catch (InvalidPasswordException $ex4) {
         $this->clearMessage();
         $this->sessionMessage(sprintf(_t('Member.INVALIDNEWPASSWORD', "We couldn't accept that password: %s"), nl2br("\n" . $ex4->getMessage())), "bad");
         Controller::curr()->redirectBack();
     }
 }
开发者ID:OpenStackweb,项目名称:openstack-org,代码行数:29,代码来源:CustomChangePasswordForm.php

示例7: authenticate

 /**
  * Performs the login, but will also create and sync the Member record on-the-fly, if not found.
  *
  * @param array $data
  * @param Form $form
  * @return bool|Member|void
  * @throws SS_HTTPResponse_Exception
  */
 public static function authenticate($data, Form $form = null)
 {
     $service = Injector::inst()->get('LDAPService');
     $result = $service->authenticate($data['Username'], $data['Password']);
     $success = $result['success'] === true;
     if (!$success) {
         if ($form) {
             $form->sessionMessage($result['message'], 'bad');
         }
         return;
     }
     $data = $service->getUserByUsername($result['identity']);
     if (!$data) {
         if ($form) {
             $form->sessionMessage(_t('LDAPAuthenticator.PROBLEMFINDINGDATA', 'There was a problem retrieving your user data'), 'bad');
         }
         return;
     }
     // LDAPMemberExtension::memberLoggedIn() will update any other AD attributes mapped to Member fields
     $member = Member::get()->filter('GUID', $data['objectguid'])->limit(1)->first();
     if (!($member && $member->exists())) {
         $member = new Member();
         $member->GUID = $data['objectguid'];
         $member->write();
     }
     Session::clear('BackURL');
     return $member;
 }
开发者ID:andrewandante,项目名称:silverstripe-activedirectory,代码行数:36,代码来源:LDAPAuthenticator.php

示例8: StartSurvey

 function StartSurvey($data, $form)
 {
     try {
         $data = SQLDataCleaner::clean($data);
         $data['MembershipType'] = 'community';
         Session::set("FormInfo.{$form->FormName()}.data", $data);
         $profile_page = EditProfilePage::get()->first();
         $member = $this->member_manager->registerMobile($data, new MemberRegistrationSenderService());
         //Get profile page
         if (!is_null($profile_page)) {
             //Redirect to profile page with success message
             Session::clear("FormInfo.{$form->FormName()}.data");
             $request = Controller::curr()->getRequest();
             $back_url = $request->postVar('BackURL');
             $link = $profile_page->Link('?success=1');
             if (!empty($back_url)) {
                 $link .= "&BackURL=" . $back_url;
             }
             return OpenStackIdCommon::loginMember($member, $link);
         }
     } catch (EntityValidationException $ex1) {
         Form::messageForForm($form->FormName(), $ex1->getMessage(), 'bad');
         //Return back to form
         SS_Log::log($ex1->getMessage(), SS_Log::WARN);
         return Controller::curr()->redirectBack();
     } catch (Exception $ex) {
         Form::messageForForm($form->FormName(), "There was an error with your request, please contact your admin.", 'bad');
         //Return back to form
         SS_Log::log($ex->getMessage(), SS_Log::ERR);
         return Controller::curr()->redirectBack();
     }
 }
开发者ID:hogepodge,项目名称:openstack-org,代码行数:32,代码来源:SurveyRegistrationForm.php

示例9: doAddItemToCart

 public function doAddItemToCart($data)
 {
     $product = Product::get()->byID($data['ProductID']);
     $customisations = array();
     foreach ($data as $key => $value) {
         if (!(strpos($key, 'customise') === false) && $value) {
             $custom_data = explode("_", $key);
             if ($custom_item = ProductCustomisation::get()->byID($custom_data[1])) {
                 $modify_price = 0;
                 // Check if the current selected option has a price modification
                 if ($custom_item->Options()->exists()) {
                     $option = $custom_item->Options()->filter("Title", $value)->first();
                     $modify_price = $option ? $option->ModifyPrice : 0;
                 }
                 $customisations[] = array("Title" => $custom_item->Title, "Value" => $value, "ModifyPrice" => $modify_price);
             }
         }
     }
     if ($product) {
         $cart = ShoppingCart::create();
         $cart->add($product, $data['Quantity'], $customisations);
         $cart->save();
         // Clear any postage data that has been set
         Session::clear("Commerce.PostageID");
         $message = _t('Commerce.AddedItemToCart', 'Added item to your shopping cart');
         $message .= ' <a href="' . $cart->Link() . '">';
         $message .= _t('Commerce.ViewCart', 'View cart');
         $message .= '</a>';
         $this->controller->setSessionMessage("success", $message);
     }
     return $this->controller->redirectBack();
 }
开发者ID:helpfulrobot,项目名称:i-lateral-silverstripe-commerce,代码行数:32,代码来源:AddItemToCartForm.php

示例10: onBeforeIndex

 function onBeforeIndex($controller)
 {
     Session::clear("ViewDeploymentSurveyStatistics_survey_range");
     Session::clear("ViewDeploymentStatistics_survey_range");
     Session::clear("ViewDeploymentsPerRegion_survey_range");
     Session::clear("global_survey_range");
 }
开发者ID:OpenStackweb,项目名称:openstack-org,代码行数:7,代码来源:SangriaPageDeploymentExtension.php

示例11: onPlaceOrder

 public function onPlaceOrder()
 {
     if (session_id()) {
         unset($_SESSION['Cart']);
         Session::clear('Cart');
     }
 }
开发者ID:helpfulrobot,项目名称:markguinn-silverstripe-shop-livepub,代码行数:7,代码来源:LivePubOrder.php

示例12: saveEventRegistrationRequest

 function saveEventRegistrationRequest($data, Form $form)
 {
     // Check if the honeypot has been filled out
     if (@$data['username']) {
         SS_Log::log(sprintf('EventRegistrationRequestForm honeypot triggered (data: %s)', http_build_query($data)), SS_Log::NOTICE);
         return $this->httpError(403);
     }
     try {
         $this->event_registration_request_manager->registerEventRegistrationRequest($data);
         Session::clear("FormInfo.Form_EventRegistrationRequestForm.data");
         $form->clearMessage();
         return $this->redirect($this->Link('?saved=1'));
     } catch (EntityValidationException $ex1) {
         $messages = $ex1->getMessages();
         $msg = $messages[0];
         $form->addErrorMessage('City', $msg['message'], 'bad');
         SS_Log::log($msg['message'], SS_Log::ERR);
         // Load errors into session and post back
         Session::set("FormInfo.Form_EventRegistrationRequestForm.data", $data);
         return $this->redirectBack();
     } catch (Exception $ex) {
         $form->addErrorMessage('Title', 'Server Error', 'bad');
         SS_Log::log($ex->getMessage(), SS_Log::ERR);
         // Load errors into session and post back
         Session::set("FormInfo.Form_EventRegistrationRequestForm.data", $data);
         return $this->redirectBack();
     }
 }
开发者ID:OpenStackweb,项目名称:openstack-org,代码行数:28,代码来源:EventRegistrationRequestPage.php

示例13: register

 /**
  * Handles validation and saving new Member objects, as well as sending out validation emails.
  */
 public function register($data, Form $form)
 {
     if ($member = $this->addMember($form)) {
         $this->addRegistration($form, $member);
         if (!$this->RequireApproval && $this->EmailType != 'Validation' && !$this->AllowAdding) {
             $member->logIn();
         }
         if ($this->RegistrationRedirect) {
             if ($this->PostRegistrationTargetID) {
                 $this->redirect($this->PostRegistrationTarget()->Link());
                 return;
             }
             if ($sessionTarget = Session::get('MemberProfile.REDIRECT')) {
                 Session::clear('MemberProfile.REDIRECT');
                 if (Director::is_site_url($sessionTarget)) {
                     $this->redirect($sessionTarget);
                     return;
                 }
             }
         }
         return $this->redirect($this->Link('afterregistration'));
     } else {
         return $this->redirectBack();
     }
 }
开发者ID:helpfulrobot,项目名称:adrexia-gamesevent,代码行数:28,代码来源:RegistrationPage.php

示例14: index

 function index()
 {
     Session::clear("loggedInAs");
     Requirements::themedCSS("form");
     // if the email address is given
     $emailAddress = Convert::raw2sql($this->urlParams['Email']);
     $mailingListID = (int) $this->urlParams['MailingList'];
     if ($mailingListID) {
         $mailingList = DataObject::get_by_id("NewsletterType", $mailingListID);
     }
     // try to find the member with the email specified
     if ($emailAddress) {
         $member = DataObject::get_one('Member', "`Email` = '{$emailAddress}'");
     } else {
         $member = false;
     }
     // if the email address and mailing list is given in the URL and both are valid,
     // then unsubscribe the user
     if ($member && $mailingList && $member->inGroup($mailingList->GroupID)) {
         $this->unsubscribeFromList($member, $mailingList);
         $url = '/done/' . $member->Email . '/' . $mailingList->Title;
         Director::redirect(Director::absoluteBaseURL() . $this->RelativeLink() . $url);
         return;
     } elseif ($member) {
         $listForm = $this->MailingListForm($member);
     } else {
         $listForm = $this->EmailAddressForm();
     }
     if ($this->urlParams['Email'] == "done") {
         $listForm->sessionMessage(_t('Unsubscribe.SUCCESS', 'Thank you. You have been removed from the selected groups'), "good");
     }
     return $this->customise(array('Content' => $listForm->forTemplate()))->renderWith('Page');
 }
开发者ID:ramziammar,项目名称:websites,代码行数:33,代码来源:Unsubscribe.php

示例15: publish

 /**
  * When an error page is published, create a static HTML page with its
  * content, so the page can be shown even when SilverStripe is not
  * functioning correctly before publishing this page normally.
  * @param string|int $fromStage Place to copy from. Can be either a stage name or a version number.
  * @param string $toStage Place to copy to. Must be a stage name.
  * @param boolean $createNewVersion Set this to true to create a new version number.  By default, the existing version number will be copied over.
  */
 function publish($fromStage, $toStage, $createNewVersion = false)
 {
     // Temporarily log out when producing this page
     $loggedInMember = Member::currentUser();
     Session::clear("loggedInAs");
     $alc_enc = isset($_COOKIE['alc_enc']) ? $_COOKIE['alc_enc'] : null;
     Cookie::set('alc_enc', null);
     $oldStage = Versioned::current_stage();
     // Run the page
     Requirements::clear();
     $controller = new ErrorPage_Controller($this);
     $errorContent = $controller->run(array())->getBody();
     if (!file_exists("../assets")) {
         mkdir("../assets", 02775);
     }
     if ($fh = fopen("../assets/error-{$this->ErrorCode}.html", "w")) {
         fwrite($fh, $errorContent);
         fclose($fh);
     }
     // Restore the version we're currently connected to.
     Versioned::reading_stage($oldStage);
     // Log back in
     if ($loggedInMember) {
         Session::set("loggedInAs", $loggedInMember->ID);
     }
     if (isset($alc_enc)) {
         Cookie::set('alc_enc', $alc_enc);
     }
     return $this->extension_instances['Versioned']->publish($fromStage, $toStage, $createNewVersion);
 }
开发者ID:ramziammar,项目名称:websites,代码行数:38,代码来源:ErrorPage.php


注:本文中的Session::clear方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。