We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 6348
    • 90 Posts
    попытался прикрутить Jot и модуль для авторизации - чет мудреные какие-то и не работают не так как мне надо. Вот задумал свое написать, но не въеду как модх работает с авторизацией. Пробовал запускать в снипетах API $modx->getLoginUserType(); но он ничего не выводит. В каких вообще переменных он хранит соотв. значения?
      • 26744
      • 157 Posts
      если ты используешь стандартные сниппеты авторизации, то все данные в сессии. Выведи <? echo var_dump($_SESSION); ?>
      а вообще можно таким способом посмотреть, что там в переменной $modx.
        • 6348
        • 90 Posts
        <? echo var_dump($_SESSION); ?> Выводит независимо от того авторизован я как админ или нет вот такую хрень: array(0) { }
        Прочитал описание ф-и getLoginUserType (http://www.modx-cms.ru/dokumentatsiya/razrabotka/programmirovanie/modx-api/getloginusertype.html), засунул пимер в сниппет - вывелось пустое значение
          • 26744
          • 157 Posts
          <? echo var_dump($_SESSION); ?> выведет при использовании сниппета Weblogin
          По getLoginUserType: Замечание: метод учитывает соответствие типа пользователя. Поэтому для авторизованного менеджера на самом сайте тип определяться не будет (вернется пустое значение).
          т.е. функцией getLoginUserType, мне кажется, только можно определять зарегистрированного (и залогиненного) пользователя на пользовательской части и залогиненного менеджера в админке.

          А вот еще функция http://svn.modxcms.com/docs/display/Evo1/getLoginUserID

          Что в твоем случае можно сделать (стандартные способы не предлагать): сделать свой сниппет авторизации.
            • 6348
            • 90 Posts
            Сделал сниппет, в нем
            session_start();
            session_register("valid_user");
            $valid_user="test_user";
            echo "<b>юзер</b>",$HTTP_SESSION_VARS["valid_user"];

            print_r($_SESSION);
            при этом плучается, что сессионная переменная valid_user есть в массиве, но знач-е у нее почему-то пустое ((
              • 26744
              • 157 Posts
              $valid_user - НЕглобальная переменная, она видна тольв пределах этого сниппета.

              session_start(); # не уверен, нужен ли запуск сессий. они запускаются при каждой генерации страницы.
              # session_register("valid_user"); мне кажется, в PHP уже не регистрируют сессию.
              #$valid_user="test_user";
              $_SESSION[’valid_user’]="test_user";
              echo "<b>юзер</b>". $_SESSION[’valid_user’];
              print_r($_SESSION);
                • 785
                • 2,113 Posts
                Интересно, зачем изобретать велосипед? Если по какой-то причине не работают стандартные средства авторизации (в чем я не уверен), надо искать причину, а не делать самостоятельно спорные решения.
                  Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                  Статьи о MODx, регулярно новые публикации
                  • 26744
                  • 157 Posts
                  Quote from: AKots at Apr 16, 2010, 01:18 AM

                  Интересно, зачем изобретать велосипед? Если по какой-то причине не работают стандартные средства авторизации (в чем я не уверен), надо искать причину, а не делать самостоятельно спорные решения.
                  Мож человек, написав своё, быстрее разберется в системе wink и почувствует её гибкость
                    • 785
                    • 2,113 Posts
                    Quote from: sergil at Apr 16, 2010, 01:27 AM

                    Мож человек, написав своё, быстрее разберется в системе wink и почувствует её гибкость
                    Определенно нет, судя по обсуждению.
                      Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                      Статьи о MODx, регулярно новые публикации
                      • 6348
                      • 90 Posts
                      Quote from: sergil at Apr 16, 2010, 12:52 AM

                      $valid_user - НЕглобальная переменная, она видна тольв пределах этого сниппета.

                      session_start(); # не уверен, нужен ли запуск сессий. они запускаются при каждой генерации страницы.
                      # session_register("valid_user"); мне кажется, в PHP уже не регистрируют сессию.
                      #$valid_user="test_user";
                      $_SESSION[’valid_user’]="test_user";
                      echo "<b>юзер</b>". $_SESSION[’valid_user’];
                      print_r($_SESSION);

                      Merci. Юзал учебник по 4 php, потому неск. старомодный кодQuote from: AKots at Apr 16, 2010, 01:18 AM

                      Интересно, зачем изобретать велосипед? Если по какой-то причине не работают стандартные средства авторизации (в чем я не уверен), надо искать причину, а не делать самостоятельно спорные решения.

                      стандартные решения - для стандартных сайтов, а у меня всплывающие окошки, ajax и динамическое изменение страницы после регистрации/авторизации.