getSession() public static method

Gets the Session.
public static getSession ( ) : Symfony\Component\HttpFoundation\SessionInterface | null
return Symfony\Component\HttpFoundation\SessionInterface | null The session
Example #1
0
 /**
  * Used by subclasses to validate access keys when they are allowed.
  * @param $userId int The user this key refers to
  * @param $reviewId int The ID of the review this key refers to
  * @param $newKey string The new key name, if one was supplied; otherwise, the existing one (if it exists) is used
  * @return object Valid user object if the key was valid; otherwise NULL.
  */
 function &validateAccessKey($userId, $reviewId, $newKey = null)
 {
     $press =& Request::getPress();
     if (!$press || !$press->getSetting('reviewerAccessKeysEnabled')) {
         $accessKey = false;
         return $accessKey;
     }
     define('REVIEWER_ACCESS_KEY_SESSION_VAR', 'ReviewerAccessKey');
     import('lib.pkp.classes.security.AccessKeyManager');
     $accessKeyManager = new AccessKeyManager();
     $session =& Request::getSession();
     // Check to see if a new access key is being used.
     if (!empty($newKey)) {
         if (Validation::isLoggedIn()) {
             Validation::logout();
         }
         $keyHash = $accessKeyManager->generateKeyHash($newKey);
         $session->setSessionVar(REVIEWER_ACCESS_KEY_SESSION_VAR, $keyHash);
     } else {
         $keyHash = $session->getSessionVar(REVIEWER_ACCESS_KEY_SESSION_VAR);
     }
     // Now that we've gotten the key hash (if one exists), validate it.
     $accessKey =& $accessKeyManager->validateKey('ReviewerContext', $userId, $keyHash, $reviewId);
     if ($accessKey) {
         $userDao =& DAORegistry::getDAO('UserDAO');
         $user =& $userDao->getUser($accessKey->getUserId(), false);
         return $user;
     }
     // No valid access key -- return NULL.
     return $accessKey;
 }
Example #2
0
 /**
  * Display journal management index page.
  */
 function index()
 {
     $this->validate();
     $this->setupTemplate();
     $journal =& Request::getJournal();
     $templateMgr =& TemplateManager::getManager();
     // Display a warning message if there is a new version of OJS available
     $newVersionAvailable = false;
     if (Config::getVar('general', 'show_upgrade_warning')) {
         import('lib.pkp.classes.site.VersionCheck');
         if ($latestVersion = VersionCheck::checkIfNewVersionExists()) {
             $newVersionAvailable = true;
             $templateMgr->assign('latestVersion', $latestVersion);
             $currentVersion =& VersionCheck::getCurrentDBVersion();
             $templateMgr->assign('currentVersion', $currentVersion->getVersionString());
             // Get contact information for site administrator
             $roleDao =& DAORegistry::getDAO('RoleDAO');
             $siteAdmins =& $roleDao->getUsersByRoleId(ROLE_ID_SITE_ADMIN);
             $templateMgr->assign_by_ref('siteAdmin', $siteAdmins->next());
         }
     }
     $templateMgr->assign('newVersionAvailable', $newVersionAvailable);
     $templateMgr->assign_by_ref('roleSettings', $this->retrieveRoleAssignmentPreferences($journal->getId()));
     $templateMgr->assign('publishingMode', $journal->getSetting('publishingMode'));
     $templateMgr->assign('announcementsEnabled', $journal->getSetting('enableAnnouncements'));
     $session =& Request::getSession();
     $session->unsetSessionVar('enrolmentReferrer');
     $templateMgr->assign('helpTopicId', 'journal.index');
     $templateMgr->display('manager/index.tpl');
 }
 function AddEmailStreamAction(Request $request)
 {
     $server = $request->post('server');
     $account = $request->post('user');
     $password = $request->post('password');
     $port = $request->post('port');
     $category = $request->post('category');
     $firstUpdate = $request->post('firstUpdate');
     $user = $request->getSession()->get('id');
     $this->loadModel('EmailModel');
     $this->loadModel('CategoryModel');
     /** @var EmailEntity $emailEntity */
     $emailEntity = $this->emailmodel->createEmailStream($server, $account, $password, $port, $firstUpdate);
     if ($emailEntity) {
         /** @var CategoryEntity $categoryEntity */
         $categoryEntity = $this->categorymodel->createCategory($user, $category);
         $streamCategoryEntity = new StreamCategoryEntity();
         $streamCategoryEntity->setCategory($categoryEntity->getId());
         $streamCategoryEntity->setStream($emailEntity->getId());
         $streamCategoryEntity->setStreamType(ArticleModel::EMAIL);
         $streamCategoryEntity->persist();
         $this->redirectToRoute('index');
     } else {
         $this->render('layouts/addStream', array('errors' => array('La connexion avec ce flux n\'a pas pu être établi. Vérifier vos informations.')));
     }
 }
 public function addRSSStreamAction(Request $request)
 {
     $categoryTitle = $request->post('category');
     $firstUpdate = $request->post('firstUpdate');
     $url = $request->post('url_flux');
     var_dump($categoryTitle);
     var_dump($firstUpdate);
     var_dump($url);
     $this->loadModel('CategoryModel');
     $this->loadModel('RssModel');
     $url = $this->rssmodel->resolveFile($url);
     $userId = $request->getSession()->get('id');
     $rssEntity = $this->rssmodel->createStream($url, $firstUpdate);
     if ($rssEntity) {
         $categoryEntity = $this->categorymodel->createCategory($userId, $categoryTitle);
         $streamCategoryEntity = new StreamCategoryEntity();
         $streamCategoryEntity->setCategory($categoryEntity->getId());
         $streamCategoryEntity->setStream($rssEntity->getId());
         $streamCategoryEntity->setStreamType(ArticleModel::RSS);
         $streamCategoryEntity->persist();
         $this->rssmodel->streamCron($rssEntity);
         $this->redirectToRoute('index');
     } else {
         $this->render('layouts/addStream', array('errors' => array('Une erreur est survenue dans la connexion au flux rss. Veuillez réssayer ! ')));
     }
 }
 function addTwitterStreamAction(Request $request)
 {
     $categoryTitle = $request->post('category');
     $firstUpdate = $request->post('firstUpdate');
     $channel = $request->post('channel');
     $userId = $request->getSession()->get('id');
     $channel = str_replace('@', '', $channel);
     $this->loadModel('CategoryModel');
     $this->loadModel('TwitterModel');
     if (!$this->twittermodel->isValidChannel($channel)) {
         $data = array('errors' => array('La chaine n\'existe pas, veuillez spécifier une chaine existante'));
         $this->render('layouts/addStream', $data);
         return;
     }
     $twitterEntity = $this->twittermodel->createStream($channel, $firstUpdate);
     if ($twitterEntity) {
         $categoryEntity = $this->categorymodel->createCategory($userId, $categoryTitle);
         $streamCategoryEntity = new StreamCategoryEntity();
         $streamCategoryEntity->setCategory($categoryEntity->getId());
         $streamCategoryEntity->setStream($twitterEntity->getId());
         $streamCategoryEntity->setStreamType(ArticleModel::TWITTER);
         $streamCategoryEntity->persist();
         $this->twittermodel->streamCron($twitterEntity);
         $this->redirectToRoute('index');
     } else {
         $this->render('layouts/addStream', array('errors' => array('Une erreur est survenue dans la connexion au flux twitter. Veuillez réssayer ! ')));
     }
 }
 public function UnFollowAction(Request $request)
 {
     $this->loadModel('FollowerModel');
     $followed = $request->post('id');
     $user = $request->getSession()->get('id');
     $this->followermodel->unfollow($followed, $user);
     $this->redirectToRoute('profile');
 }
 private function NoBlogAction(Request $request)
 {
     $post = ltrim(strstr($request->post('id'), '_'), '_');
     $this->loadModel('CategoryModel');
     $this->loadModel('ArticleModel');
     /** @var ArticleEntity $articleEntity */
     $this->articlemodel->removeArticleFromBlog($request->getSession()->get('id'), $post);
 }
 public function getCaptcha(Request $request)
 {
     $params = $request->getMethodParams();
     MethodUtils::checkSignature(array(Types::STRING), $params);
     $parts = explode('.', $params[0]);
     if (count($parts) != 2 || count_chars($parts[0]) < 1 || count_chars($parts[1]) < 1) {
         throw new InvalidParameterException('methodId must consist of an ' . 'owner object and a method name separated by a single dot.');
     }
     $captchaId = call_user_func_array(array($this->captchaAuth, 'getCaptcha'), $parts);
     $ids = $request->getSession()->getValue(SessionValues::CAPTCHA_IDS);
     if ($ids == null) {
         $ids = array();
     }
     $ids[] = $captchaId;
     $request->getSession()->setValue(SessionValues::CAPTCHA_IDS, $ids);
     return new ReturnValue($captchaId);
 }
Example #9
0
 /**
  * @descrpition 检测微信ACCESS_TOKEN是否过期
  *              -10是预留的网络延迟时间
  * @return bool
  */
 public static function checkAccessToken()
 {
     //获取SESSION
     $accessToken = Request::getSession('wechat_access_token');
     if (!empty($accessToken) && time() - $accessToken['time'] < $accessToken['expires_in'] - 10) {
         return $accessToken;
     }
     return false;
 }
 function getContents(&$templateMgr)
 {
     if (!defined('SESSION_DISABLE_INIT')) {
         $session =& Request::getSession();
         $templateMgr->assign_by_ref('userSession', $session);
         $templateMgr->assign('loggedInUsername', $session->getSessionVar('username'));
     }
     return parent::getContents($templateMgr);
 }
 public function deleteExperienceAction(Request $request, $idexperience)
 {
     $em = $this->getDoctrine()->getManager();
     $membre = $em->getRepository('CestomStoreBundle:Membre')->findOneByid($this->getUser()->getId());
     $qb = $em->createQueryBuilder('f');
     $qb->select('f')->from('CestomStoreBundle:Experience', 'f')->where("f.idExperience =:idExperience AND f.idmembre =:idmembre")->setParameter('idExperience', $idexperience)->setParameter('idmembre', $membre->getIdmembre());
     $query = $qb->getQuery();
     $experience = $query->getSingleResult();
     try {
         $em->remove($experience);
         $em->flush();
         $request->getSession()->getFlashBag()->add('messagesucces', 'Experience supprimée avec succès');
         return $this->redirect($this->generateUrl('cestom_user_gestion_experience'));
     } catch (\Exception $e) {
         $request->getSession()->getFlashBag()->add('messagesucces', 'Impossible de supprimer l\'experience ');
         return $this->redirect($this->generateUrl('cestom_user_gestion_experience'));
     }
 }
 /**
  * @Route("/login", name="UserBundle_login")
  */
 public function loginAction(Request $request)
 {
     //parent::loginAction($request);
     /** @var $session \Symfony\Component\HttpFoundation\Session\Session */
     $session = $request->getSession();
     if (class_exists('\\Symfony\\Component\\Security\\Core\\Security')) {
         $authErrorKey = Security::AUTHENTICATION_ERROR;
         $lastUsernameKey = Security::LAST_USERNAME;
     } else {
         // BC for SF < 2.6
         $authErrorKey = SecurityContextInterface::AUTHENTICATION_ERROR;
         $lastUsernameKey = SecurityContextInterface::LAST_USERNAME;
     }
     // get the error if any (works with forward and redirect -- see below)
     if ($request->attributes->has($authErrorKey)) {
         $error = $request->attributes->get($authErrorKey);
     } elseif (null !== $session && $session->has($authErrorKey)) {
         $error = $session->get($authErrorKey);
         $session->remove($authErrorKey);
     } else {
         $error = null;
     }
     if (!$error instanceof AuthenticationException) {
         $error = null;
         // The value does not come from the security component.
     }
     // last username entered by the user
     $lastUsername = null === $session ? '' : $session->get($lastUsernameKey);
     if ($this->has('security.csrf.token_manager')) {
         $csrfToken = $this->get('security.csrf.token_manager')->getToken('authenticate')->getValue();
     } else {
         // BC for SF < 2.4
         $csrfToken = $this->has('form.csrf_provider') ? $this->get('form.csrf_provider')->generateCsrfToken('authenticate') : null;
     }
     /**Begin override */
     $authenticationUtils = $this->get('security.authentication_utils');
     // get the login error if there is one
     $error = $authenticationUtils->getLastAuthenticationError() ? $authenticationUtils->getLastAuthenticationError() : "";
     // last username entered by the user
     $lastUsername = $authenticationUtils->getLastUsername();
     //test
     /*if( $this->container->get('security.context')->isGranted('IS_AUTHENTICATED_REMEMBERED') ){
     
                 // IS_AUTHENTICATED_FULLY also implies IS_AUTHENTICATED_REMEMBERED, but IS_AUTHENTICATED_ANONYMOUSLY doesn't
     
                 return new RedirectResponse($this->container->get('router')->generate('NosBundlesUserBundle:Security:login.html.twig', array()));
                 // of course you don't have to use the router to generate a route if you want to hard code a route
             }
             /**End override */
     $error = "";
     return $this->renderLogin(array('last_username' => $lastUsername, 'error' => $error, 'csrf_token' => $csrfToken));
 }
 /**
  * Create a CAPTCHA object.
  * @param $length int The length, in characters, of the CAPTCHA test to create
  * @return object Captcha
  */
 function &createCaptcha($length = 6)
 {
     $captchaDao =& DAORegistry::getDAO('CaptchaDAO');
     $session =& Request::getSession();
     if ($session && $this->isEnabled()) {
         $captcha = new Captcha();
         $captcha->setSessionId($session->getId());
         $captcha->setValue(Validation::generatePassword($length));
         $captchaDao->insertCaptcha($captcha);
     } else {
         $captcha = null;
     }
     return $captcha;
 }
 /**
  * Display journal management index page.
  */
 function index()
 {
     $this->validate();
     $this->setupTemplate();
     $journal =& Request::getJournal();
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign_by_ref('roleSettings', $this->retrieveRoleAssignmentPreferences($journal->getId()));
     $templateMgr->assign('publishingMode', $journal->getSetting('publishingMode'));
     $templateMgr->assign('announcementsEnabled', $journal->getSetting('enableAnnouncements'));
     $session =& Request::getSession();
     $session->unsetSessionVar('enrolmentReferrer');
     $templateMgr->assign('helpTopicId', 'journal.index');
     $templateMgr->display('manager/index.tpl');
 }
Example #15
0
 function getContents(&$templateMgr)
 {
     if (!defined('SESSION_DISABLE_INIT')) {
         $session =& Request::getSession();
         $templateMgr->assign_by_ref('userSession', $session);
         $templateMgr->assign('loggedInUsername', $session->getSessionVar('username'));
         $loginUrl = Request::url(null, 'login', 'signIn');
         if (Config::getVar('security', 'force_login_ssl')) {
             $loginUrl = String::regexp_replace('/^http:/', 'https:', $loginUrl);
         }
         $templateMgr->assign('userBlockLoginUrl', $loginUrl);
     }
     return parent::getContents($templateMgr);
 }
Example #16
0
 /**
  * @Route("/login", name="lemlabs_login")
  */
 public function loginAction(Request $request)
 {
     $redirectUrl = $this->container->getParameter('lemlabs_user.redirect_uri_after_login');
     // Redirection to dashboard if user is authenticated
     if ($this->container->get('security.context')->isGranted('IS_AUTHENTICATED_FULLY')) {
         return $this->redirect($redirectUrl);
     }
     $session = $request->getSession();
     if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
         $error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
     } else {
         $error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
         $session->remove(SecurityContext::AUTHENTICATION_ERROR);
     }
     return $this->render('LemLabsUserBundle:User:login.html.twig', array('last_username' => $session->get(SecurityContext::LAST_USERNAME), 'error' => $error));
 }
 public function AsideAction(Request $request)
 {
     if ($request->isInternal()) {
         $this->loadModel('CategoryModel');
         $this->loadModel('EmailModel');
         $this->loadModel('TwitterModel');
         $this->loadModel('RssModel');
         $id = $request->getSession()->get('id');
         $categories = $this->categorymodel->getByUserId($id);
         $emailStreams = $this->emailmodel->getByUserId($id);
         $twitterStreams = $this->twittermodel->getByUserId($id);
         $rssStreams = $this->rssmodel->getByUserId($id);
         $streams = array('emailStreams' => $emailStreams, 'twitterStreams' => $twitterStreams, 'rssStreams' => $rssStreams);
         $data = array('categories' => $categories, 'streams' => $streams);
         $this->render('layouts/aside', $data);
     }
 }
Example #18
0
 /**
  * Change the locale for the current user.
  * @param $args array first parameter is the new locale
  */
 function setLocale($args)
 {
     $setLocale = isset($args[0]) ? $args[0] : null;
     $site =& Request::getSite();
     if (Locale::isLocaleValid($setLocale) && in_array($setLocale, $site->getSupportedLocales())) {
         $session =& Request::getSession();
         $session->setSessionVar('currentLocale', $setLocale);
     }
     if (isset($_SERVER['HTTP_REFERER'])) {
         Request::redirectUrl($_SERVER['HTTP_REFERER']);
     }
     $source = Request::getUserVar('source');
     if (isset($source) && !empty($source)) {
         Request::redirectUrl(Request::getProtocol() . '://' . Request::getServerHost() . $source, false);
     }
     Request::redirect(null, 'index');
 }
 function callback($hookName, $args)
 {
     $fileName =& $args[0];
     $type =& $args[1];
     $fileId =& $args[2];
     $overwrite =& $args[3];
     $result =& $args[4];
     // Set to false and return true to indicate upload failure
     // Ask ClamAV for a verdict on $_FILES[$fileName]['tmp_name']
     ini_set('error_reporting', E_ALL);
     $clam = new Net_Clamd(CLAMDSOCKET);
     $clam_version = $clam->version();
     if (!$clam_version) {
         $hasVirus = true;
         $virusScanMsg = "ClamAV is not running, therefore cannot accept files for virus scanning";
         //throw new Exception("ClamAV is not running");
     } else {
         if (CLAMDISLOCAL) {
             $virus = $clam->scan($_FILES[$fileName]['tmp_name']);
         } else {
             $data = file_get_contents($_FILES[$fileName]['tmp_name']);
             $virus = $clam->instream($data);
         }
         $hasVirus = 'OK' != substr($virus, -2);
         $virus = substr(strstr($virus, ': '), 2);
         $virusScanMsg = 'ClamAV version ' . $clam_version . ' says: ';
         if (!$hasVirus) {
             $virusScanMsg = $virusScanMsg . 'No virus found';
         } else {
             $virusScanMsg = $virusScanMsg . $virus;
         }
     }
     //$hasVirus=true;
     $session =& Request::getSession();
     $session->setSessionVar('hasVirus', $hasVirus);
     $session->setSessionVar('virusScanMsg', $virusScanMsg);
     //setcookie('hasVirus', $hasVirus);
     //setcookie('virusScanMsg', $virusScanMsg);
     if ($hasVirus) {
         $result = false;
         return true;
     } else {
         return false;
     }
 }
Example #20
0
 /**
  * Restore original user account after signing in as a user.
  */
 function signOutAsUser()
 {
     $this->validate();
     $session =& Request::getSession();
     $signedInAs = $session->getSessionVar('signedInAs');
     if (isset($signedInAs) && !empty($signedInAs)) {
         $signedInAs = (int) $signedInAs;
         $userDao =& DAORegistry::getDAO('UserDAO');
         $oldUser =& $userDao->getUser($signedInAs);
         $session->unsetSessionVar('signedInAs');
         if (isset($oldUser)) {
             $session->setSessionVar('userId', $signedInAs);
             $session->setUserId($signedInAs);
             $session->setSessionVar('username', $oldUser->getUsername());
         }
     }
     Request::redirect(null, 'user');
 }
Example #21
0
 /**
  * Display press management index page.
  */
 function index()
 {
     $this->setupTemplate();
     $press =& Request::getPress();
     $pressSettingsDao =& DAORegistry::getDAO('PressSettingsDAO');
     $announcementsEnabled = $pressSettingsDao->getSetting($press->getId(), 'enableAnnouncements');
     $customSignoffInternal = $pressSettingsDao->getSetting($press->getId(), 'useCustomInternalReviewSignoff');
     $customSignoffExternal = $pressSettingsDao->getSetting($press->getId(), 'useCustomExternalReviewSignoff');
     $templateMgr =& TemplateManager::getManager();
     $templateMgr->assign('customSingoffEnabled', $customSignoffInternal || $customSignoffExternal);
     $userGroupDao =& DAORegistry::getDAO('UserGroupDAO');
     $userGroups =& $userGroupDao->getByContextId($press->getId());
     $templateMgr->assign_by_ref('userGroups', $userGroups);
     $session =& Request::getSession();
     $session->unsetSessionVar('enrolmentReferrer');
     $templateMgr->assign('announcementsEnabled', $announcementsEnabled);
     $templateMgr->assign('helpTopicId', 'press.index');
     $templateMgr->display('manager/index.tpl');
 }
    /**
     * Activate the theme.
     */
    function activate(&$templateMgr)
    {
        // Resets the template directory to the files in this directory -- Credit to https://github.com/cu-library/OJS-Modern-Theme for the fix/redirection
        $templateMgr->template_dir[0] = Core::getBaseDir() . DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR . 'themes' . DIRECTORY_SEPARATOR . 'ojs-bootstrapped' . DIRECTORY_SEPARATOR . 'templates';
        $templateMgr->compile_id = 'bootstrapped';
        // Add viewport
        $viewport = ' <meta name="viewport" content="width=device-width, initial-scale=1">';
        // Add Font Awesome
        $fontAwesome = ' <link rel="stylesheet" id="font-awesome-css" href="//netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.css" type="text/css" media="screen">';
        // Add in jQuery
        $jQuery = '	<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>';
        // Selctivizr for IE Pseudo classes
        $selctivizr = '<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/mootools/1.5.1/mootools-yui-compressed.js"></script>
						<!--[if (gte IE 6)&(lte IE 8)]>
  							<script type="text/javascript" src="assets/js/selectivizr-min.js"></script>
						<![endif]-->';
        $additionalHeadData = $templateMgr->get_template_vars('additionalHeadData');
        $templateMgr->assign('additionalHeadData', $additionalHeadData . "\n" . $jQuery . "\n" . $viewport . "\n" . $fontAwesome . "\n" . $selctivizr);
        // Add Scroll2Top JS
        $templateMgr->addJavaScript($this->getPluginPath() . '/assets/js/scroll2top.js');
        // Add Modernizr JS
        $templateMgr->addJavaScript($this->getPluginPath() . '/assets/js/modernizr.js');
        // Add in Bootstrap JS
        $templateMgr->addJavaScript($this->getPluginPath() . '/components/bootstrap-sass/assets/javascripts/bootstrap.min.js');
        // Add Custom JS
        $templateMgr->addJavaScript($this->getPluginPath() . '/assets/js/custom.js');
        if (($stylesheetFilename = $this->getStylesheetFilename()) != null) {
            $path = Request::getBaseUrl() . '/' . $this->getPluginPath() . '/assets/stylesheets/' . $stylesheetFilename;
            $templateMgr->addStyleSheet($path);
        }
        // borrows logic from user block plugin to handle user dropdown
        if (!defined('SESSION_DISABLE_INIT')) {
            $session =& Request::getSession();
            $templateMgr->assign_by_ref('userSession', $session);
            $templateMgr->assign('loggedInUsername', $session->getSessionVar('username'));
        }
        $requestedPage = PKPRequest::getRequestedPage();
        if ($requestedPage == 'article') {
            $path = Request::getBaseUrl() . '/' . $this->getPluginPath() . '/assets/stylesheets/style_article.css';
            $templateMgr->addStyleSheet($path);
            $templateMgr->addJavaScript($this->getPluginPath() . '/js/article.js');
        }
    }
Example #23
0
File: doc.php Project: web5/LX_Blog
 /**
  * @descrpition 添加评论
  */
 public function addcomment()
 {
     $jumpUrl = ITEM_DOMAIN . 'doc/main/aid-' . $this->param['aid'];
     //判断验证码
     $captcha = Request::getSession('captcha');
     if ($captcha != strtolower($this->param['captcha'])) {
         View::showErrorMessage($jumpUrl, '验证码错误');
     }
     if (empty($this->param['aid']) || empty($this->param['item']) || empty($this->param['mid']) || empty($this->param['nickname']) || empty($this->param['content'])) {
         View::showErrorMessage($jumpUrl, '必填项未填写全');
     }
     $fields = array();
     $fields['cid'] = Request::getRequest('cid', 'int');
     $fields['aid'] = Request::getRequest('aid', 'int');
     $fields['item'] = Request::getRequest('item', 'str');
     $fields['mid'] = Request::getRequest('mid', 'int');
     $fields['nickname'] = Request::getRequest('nickname', 'str');
     $fields['email'] = Request::getRequest('email', 'str');
     $fields['website'] = Request::getRequest('website', 'str');
     $fields['ctime'] = time();
     $fields['content'] = Request::getRequest('content', 'str');
     ItemDocCommentBusiness::setComment($fields);
     //如果是回复别人的回复,则发送邮件提醒
     if (EMAIL_SENT_FOR_REPLY && $fields['cid'] > 0) {
         //根据CID查询评论的详细信息
         $comment = CommentBusiness::getComment($fields['cid']);
         if (!empty($comment['email'])) {
             $url = 'http://lanewechat.lanecn.com/doc/main/aid-' . $comment['aid'];
             $title = '您的评论有了新回复【来自LaneBlog的系统邮件提醒】';
             $content = "\n";
             $content .= '<a href="' . $url . '">你的评论有了新的回复!请点击查看<a/>';
             $content .= "\n\n连接无效请复制到浏览器地址栏访问:" . $url;
             $content .= "\n\nPs:系统发送,请勿直接回复!";
             $config = array("from" => EMAIL_ADDRESS, "to" => $comment['email'], "subject" => $title, "body" => $content, "username" => EMAIL_ADDRESS, "password" => EMAIL_PASSWORD);
             $mail = new MailSocket();
             $mail->setServer(EMAIL_SMTP);
             $mail->setMailInfo($config);
             //                $result = Mail::quickSent($comment['email'], $title, $content, EMAIL_ADDRESS, EMAIL_PASSWORD);
         }
     }
     View::showMessage($jumpUrl, '成功!');
 }
 function getContents(&$templateMgr)
 {
     if (!defined('SESSION_DISABLE_INIT')) {
         $session =& Request::getSession();
         $templateMgr->assign_by_ref('userSession', $session);
         $templateMgr->assign('loggedInUsername', $session->getSessionVar('username'));
         $loginUrl = Request::url(null, 'login', 'signIn');
         // if the page is not ssl enabled, and force_login_ssl is set, this flag will present a link instead of the form
         $forceSSL = false;
         if (Config::getVar('security', 'force_login_ssl')) {
             if (Request::getProtocol() != 'https') {
                 $loginUrl = Request::url(null, 'login');
                 $forceSSL = true;
             }
             $loginUrl = String::regexp_replace('/^http:/', 'https:', $loginUrl);
         }
         $templateMgr->assign('userBlockLoginSSL', $forceSSL);
         $templateMgr->assign('userBlockLoginUrl', $loginUrl);
     }
     return parent::getContents($templateMgr);
 }
Example #25
0
 /**
  * @descrpition 后台登录 ...
  */
 public function login()
 {
     $loginInfo = Request::getSession($this->sessionId);
     if (!empty($loginInfo) && !empty($loginInfo['username']) && !empty($loginInfo['id'])) {
         View::showAdminMessage('/admin.php/index/main', '已经登录!');
     }
     //表单提交处理
     if (Request::getRequest('dosubmit', 'str')) {
         $username = Request::getRequest('username', 'str');
         $password = Request::getRequest('password', 'str');
         $password = md5($username . PASSWORD_INTERFERE . $password);
         $result = $this->adminUserObj->getByUsername($username);
         if (isset($result) && $result['password'] == $password) {
             $session = array();
             $session['id'] = $result['id'];
             $session['username'] = $result['username'];
             Response::setSession($this->sessionId, $session);
             View::jsJump('/admin.php/index/main');
         } else {
             View::showAdminErrorMessage('/admin.php/admin/login', '登录后台失败!');
         }
     }
     View::showAdminTpl('login');
 }
Example #26
0
 /**
  * Search for users to enroll in a specific role.
  * @param $args array first parameter is the selected role ID
  */
 function enrollSearch($args)
 {
     $this->validate();
     $roleDao =& DAORegistry::getDAO('RoleDAO');
     $journalDao =& DAORegistry::getDAO('JournalDAO');
     $userDao =& DAORegistry::getDAO('UserDAO');
     $roleId = (int) (isset($args[0]) ? $args[0] : Request::getUserVar('roleId'));
     $journal =& $journalDao->getJournalByPath(Request::getRequestedJournalPath());
     $sort = Request::getUserVar('sort');
     $sort = isset($sort) ? $sort : 'name';
     $sortDirection = Request::getUserVar('sortDirection');
     $templateMgr =& TemplateManager::getManager();
     $this->setupTemplate(true);
     $searchType = null;
     $searchMatch = null;
     $search = Request::getUserVar('search');
     $searchInitial = Request::getUserVar('searchInitial');
     if (!empty($search)) {
         $searchType = Request::getUserVar('searchField');
         $searchMatch = Request::getUserVar('searchMatch');
     } elseif (!empty($searchInitial)) {
         $searchInitial = String::strtoupper($searchInitial);
         $searchType = USER_FIELD_INITIAL;
         $search = $searchInitial;
     }
     $rangeInfo = $this->getRangeInfo('users');
     $users =& $userDao->getUsersByField($searchType, $searchMatch, $search, true, $rangeInfo, $sort);
     $templateMgr->assign('searchField', $searchType);
     $templateMgr->assign('searchMatch', $searchMatch);
     $templateMgr->assign('search', $search);
     $templateMgr->assign('searchInitial', Request::getUserVar('searchInitial'));
     $templateMgr->assign_by_ref('roleSettings', $this->retrieveRoleAssignmentPreferences($journal->getId()));
     $templateMgr->assign('roleId', $roleId);
     $templateMgr->assign('roleName', $roleDao->getRoleName($roleId));
     $fieldOptions = array(USER_FIELD_FIRSTNAME => 'user.firstName', USER_FIELD_LASTNAME => 'user.lastName', USER_FIELD_USERNAME => 'user.username', USER_FIELD_EMAIL => 'user.email');
     if ($roleId == ROLE_ID_REVIEWER) {
         $fieldOptions = array_merge(array(USER_FIELD_INTERESTS => 'user.interests'), $fieldOptions);
     }
     $templateMgr->assign('fieldOptions', $fieldOptions);
     $templateMgr->assign_by_ref('users', $users);
     $templateMgr->assign_by_ref('thisUser', Request::getUser());
     $templateMgr->assign('alphaList', explode(' ', __('common.alphaList')));
     $templateMgr->assign('helpTopicId', 'journal.users.index');
     $templateMgr->assign('sort', $sort);
     $session =& Request::getSession();
     $referrerUrl = $session->getSessionVar('enrolmentReferrer');
     $templateMgr->assign('enrolmentReferrerUrl', isset($referrerUrl) ? Request::url(null, 'manager', 'people', $referrerUrl) : Request::url(null, 'manager'));
     $session->unsetSessionVar('enrolmentReferrer');
     $templateMgr->display('manager/people/searchUsers.tpl');
 }
Example #27
0
 /**
  * Log the request.
  * This follows a convoluted execution path in order to obtain the
  * page title *after* the template has been displayed, even though
  * the hook is called before execution.
  */
 function logRequest($hookName, $args)
 {
     $templateManager =& $args[0];
     $template =& $args[1];
     $site =& Request::getSite();
     $journal =& Request::getJournal();
     $session =& Request::getSession();
     if (!$journal) {
         return false;
     }
     if (($logUser = $session->getSessionVar(COUNTER_UID_VAR)) == '') {
         $logUser = Core::getCurrentDate() . '_' . $session->getId();
         $session->setSessionVar(COUNTER_UID_VAR, $logUser);
     }
     switch ($template) {
         case 'article/article.tpl':
         case 'article/interstitial.tpl':
         case 'article/pdfInterstitial.tpl':
             // Log the request as an article view.
             $article = $templateManager->get_template_vars('article');
             $galley = $templateManager->get_template_vars('galley');
             // If no galley exists, this is an abstract
             // view -- don't include it. (FIXME?)
             if (!$galley) {
                 return false;
             }
             $logEntry =& new LogEntry();
             $logEntry->setSite($site->getTitle($site->getPrimaryLocale()));
             $logEntry->setJournal($journal->getTitle($journal->getPrimaryLocale()));
             $logEntry->setJournalUrl(Request::url(null, 'index'));
             $logEntry->setPrintIssn($journal->getSetting('printIssn'));
             $logEntry->setOnlineIssn($journal->getSetting('onlineIssn'));
             $logEntry->setPublisher($journal->getLocalizedSetting('publisherInstitution'));
             $logEntry->setUser($logUser);
             if ($galley->isHTMLGalley()) {
                 $logEntry->setType(LOG_ENTRY_TYPE_HTML_ARTICLE);
             } elseif ($galley->isPdfGalley()) {
                 $logEntry->setType(LOG_ENTRY_TYPE_PDF_ARTICLE);
             } else {
                 $logEntry->setType(LOG_ENTRY_TYPE_OTHER_ARTICLE);
             }
             $logEntry->setValue($article->getArticleTitle());
             $logEntryDao =& DAORegistry::getDAO('LogEntryDAO');
             $logEntryDao->addEntry($logEntry);
             break;
         case 'search/searchResults.tpl':
             // Log the request as a search.
             $logEntry =& new LogEntry();
             $article = $templateManager->get_template_vars('article');
             $logEntry->setSite($site->getTitle($site->getPrimaryLocale()));
             $logEntry->setJournal($journal->getTitle($journal->getPrimaryLocale()));
             $logEntry->setJournalUrl(Request::url(null, 'index'));
             $logEntry->setUser($logUser);
             $logEntry->setType(LOG_ENTRY_TYPE_SEARCH);
             $logEntry->setValue(Request::getUserVar('query'));
             $logEntryDao =& DAORegistry::getDAO('LogEntryDAO');
             $logEntryDao->addEntry($logEntry);
             break;
     }
     return false;
 }
Example #28
0
 /**
  * Constructor.
  *
  * @param Request $request
  * @param Container $container
  */
 public function __construct(Request $request, Container $container)
 {
     $this->request = $request;
     $this->session = $request->getSession();
     $this->container = $container;
 }
 public function loginAction(Request $request)
 {
     if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
         $error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
     } else {
         $error = $request->getSession()->get(SecurityContext::AUTHENTICATION_ERROR);
     }
     return new Response($error);
 }
Example #30
0
 /**
  * Log the request.
  * This follows a convoluted execution path in order to obtain the
  * page title *after* the template has been displayed, even though
  * the hook is called before execution.
  */
 function logRequest($hookName, $args)
 {
     $templateManager =& $args[0];
     $template =& $args[1];
     $site =& Request::getSite();
     $journal =& Request::getJournal();
     $session =& Request::getSession();
     if (!$journal) {
         return false;
     }
     /* NOTE: Project COUNTER has a list of robots on their site
     		   unfortunately not in a very accessible format:
     		   http://www.projectcounter.org/r3/r3_K.doc
     		*/
     if (Request::isBot()) {
         return false;
     }
     // TODO: consider the effect of LOCKSS on COUNTER recording
     switch ($template) {
         case 'article/article.tpl':
         case 'article/interstitial.tpl':
         case 'article/pdfInterstitial.tpl':
             // Log the request as an article view.
             $article = $templateManager->get_template_vars('article');
             $galley = $templateManager->get_template_vars('galley');
             // If no galley exists, this is an abstract
             // view -- don't include it. (FIXME?)
             if (!$galley) {
                 return false;
             }
             $lastRequestGap = time() - $session->getSessionVar('lastRequest');
             // if last request was less than 10 seconds ago then return without recording this view
             if ($lastRequestGap < 10) {
                 return false;
             }
             // if last request was less than 30 seconds ago AND is PDF then return without recording this view
             if ($galley->isPdfGalley() && $lastRequestGap < 30) {
                 return false;
             }
             $session->setSessionVar('lastRequest', time());
             $counterReportDao =& DAORegistry::getDAO('CounterReportDAO');
             $counterReportDao->incrementCount($article->getJournalId(), (int) strftime('%Y'), (int) strftime('%m'), $galley->isPdfGalley(), $galley->isHTMLGalley());
             break;
     }
     return false;
 }