Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

Последние сообщения

Страницы: [1] 2 3 ... 10
1
Настройка системы и модулей / Re: Экспорт подписчиков
« Последний ответ от vicliner 28 Июня 2017, 12:56:48 »
Через htaccess увеличивал память, раньше помогало помогало. Попробую еще max_execution_time, спасибо за подсказку.
2
Настройка системы и модулей / Re: Экспорт подписчиков
« Последний ответ от aghigay 28 Июня 2017, 12:17:03 »
Через htaccess можно выставить некоторые параметры для сервера. http://expange.ru/e/%D0%A3%D0%B2%D0%B5%D0%BB%D0%B8%D1%87%D0%B8%D1%82%D1%8C_%D0%B2%D1%80%D0%B5%D0%BC%D1%8F_%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F_%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%B0_(PHP)
Попробуйте так. Это сработает для всего сервера, следовательно и для вашего скрипта
3
Настройка системы и модулей / Экспорт подписчиков
« Последний ответ от vicliner 28 Июня 2017, 12:09:17 »
Добрый день.
Проблема с экспортом  подписчиков.
Сейчас на сайте более 15000 подписчиков и кол-во постоянно растет.
При экспорте страница валится с ошибкой
Fatal error: Maximum execution time of 60 seconds exceeded in /classes/modules/def_module.php on line 1932
Первое что приходит в голову - поставить set_time_limit(0), но не нашел функцию, которая отвечает за экспорт пользователей.
Либо может кто-то еще как-то решал эту проблему?
Используется UMI.CMS Corporate 2.14
4
Шаблоны PHP / Re: uLogin
« Последний ответ от sam 20 Июня 2017, 13:35:25 »
Или может кто поможет с переписыванием кода ниже под uLogin (http://ulogin.ru/constructor.php)?

abstract class __loginza_users {
 
    public function  getLoginzaProvider() {
        $loginzaAPI = new loginzaAPI();
 
        $result = Array();
        foreach($loginzaAPI->getProvider() as $k=>$v) {
            $result['providers']['nodes:provider'][] = array('attribute:name'=>$k, 'attribute:title'=>$v);
        }
 
        $result ['widget_url'] = $loginzaAPI->getWidgetUrl() . "&providers_set=yandex,mailru,rambler,vkontakte,odnoklassniki,mailruapi,google,facebook,twitter";
 
        if (def_module::isXSLTResultMode()) {
            return $result;
        } else {
            return $result['widget_url'];
        }
    }
 
    public function loginza($template = 'default') {
        if(!empty($_POST['token']) ) {
            $loginzaAPI = new loginzaAPI();
 
            $profile = $loginzaAPI->getAuthInfo($_POST['token']);
 
            if( !empty($profile)) {
                $profile = new loginzaUserProfile($profile);
 
                $objectTypes = umiObjectTypesCollection::getInstance();
                $objectTypeId    = $objectTypes->getBaseType("users",    "user");
                $objectType = $objectTypes->getType($objectTypeId);
 
                $nickname = $profile->genNickname();
                $provider = $profile->genProvider();
                $provider_url = parse_url($provider);
                $provider_name = str_ireplace('www.', '', $provider_url['host']);
                $login = $nickname . "@" . $provider_name;
                $password = $profile->genRandomPassword();
                $email = $profile->genUserEmail();
                $lname = $profile->getLname();
                $fname = $profile->getFname();
 
                if(!$fname) $fname=$nickname;
 
                $sel = new selector('objects');
                $sel->types('object-type')->name('users', 'user');
                $sel->where('login')->equals($login);
                $sel->where('loginza')->equals($provider_name);
                $user =  $sel->first;
                $from_page = getRequest("from_page");
 
                if($user instanceof iUmiObject) {
                    permissionsCollection::getInstance()->loginAsUser($user);
                    session_commit();
 
                    $this->redirect($from_page ? $from_page : ($this->pre_lang . '/users/auth/'));
                }
 
                if(!preg_match("/.+@.+\..+/", $email)) {
                    while(true) {
                        $email = $nickname.rand(1,100)."@".getServer('HTTP_HOST');
                        if($this->checkIsUniqueEmail($email)) {
                            break;
                        }
                    }
                }
 
                $object_id = umiObjectsCollection::getInstance()->addObject($login, $objectTypeId);
                $object = umiObjectsCollection::getInstance()->getObject($object_id);
 
                $object->setValue("login", $login);
                $object->setValue("password", md5($password));
                $object->setValue("e-mail", $email);
                $object->setValue("fname", ($fname));
                $object->setValue("lname", $lname);
                $object->setValue("loginza", $provider_name);
                $object->setValue("register_date", time());
                $object->setValue("is_activated", '1');
                $object->setValue("activate_code", md5(uniqid(rand(), true)));
 
                $_SESSION['cms_login'] = $login;
                $_SESSION['cms_pass'] = md5($password);
                $_SESSION['user_id'] = $object_id;
                session_commit();
 
                $group_id = regedit::getInstance()->getVal("//modules/users/def_group");
                $object->setValue("groups", Array($group_id));
 
 
                $data_module = cmsController::getInstance()->getModule('data');
                $data_module->saveEditedObject($object_id, true);
 
                $object->commit();
 
                $this->redirect($from_page ? $from_page : ($this->pre_lang . '/users/auth/'));
            }
        }
        return $this->auth();
    }
}
5
Шаблоны PHP / uLogin
« Последний ответ от sam 20 Июня 2017, 10:16:24 »
Здравствуйте! Кто-нибудь может поделиться файлами /php/users/authorization.phtml и /xslt/modules/users/authorization.xsl ?
6
JS и AJAX / Re: Войти через Loginza
« Последний ответ от sam 19 Июня 2017, 13:19:37 »
Дело в том, что скрипт подгружается из сайта Loginz-ы.

Думаю, может перейти на uLogin. Если есть PHP-файл (аналог /classes/modules/users/_loginza.php), может поделитесь? Плагин для UMI.CMS если есть uLogin (если поделитесь при наличии), то могу попросить их разработчиков помочь с подключением.
7
JS и AJAX / Re: Войти через Loginza
« Последний ответ от aghigay 19 Июня 2017, 00:21:05 »
Проверяйте, возможно у вас ошибка JS  в консоли. Из-за этого не происходит перехват события и ссылка работает естественным образом.
8
JS и AJAX / Войти через Loginza
« Последний ответ от sam 18 Июня 2017, 20:52:20 »
Здравствуйте! Просьба, подскажите:
1. Почему когда нажимаю на кнопку "Войти через Loginza" не всплывает окно по верх страницы, а происходит переход на http://loginza.ru/api/widget?token_url=https%3A%2F%2Fmysite.ru:80%3A80%2Fusers%2Floginza%2F%3Ffrom_page%3Dhttps%253A%252F%252Fmysite.ru%253A80%252F ? Раньше ведь всплывало окно при нажатии?!
2. И что за :80 после mysite.ru - откуда берётся и подставляется этот :80? При закрытии окна после перехода, вызывается ошибка из-за этого :80 в ссылке. Как это можно убрать?
9
Все же решил с выводом объектов таким способом)

<xsl:apply-templates select="document(concat('udata://catalog/getObjectsList/notemplate/(/katalog_produkcii/)', '/0//2//'))/udata" mode="main_items" />
10
Проблему так и не решил(
Страницы: [1] 2 3 ... 10