Илья

Илья

С нами с 30 сентября 2013; Место в рейтинге пользователей: #163
Илья
07 сентября 2015, 12:48
1
0
Спасибо.

А можно узнать, как вы реализовали виртуальные страницы по имени пользователя?
Илья
30 августа 2015, 22:18
0
А как сделать такого плана: /users/admin/? Задал вопрос, не знаю, где уместнее
Илья
30 августа 2015, 19:11
0
Попробовал на 2.3.6, та же ошибка «500 Internal Server Error», у всего сайта, кроме админки
Илья
30 августа 2015, 19:00
0
Пробовал, ошибка «500 Internal Server Error»
Хостинг modhost, Modx 2.4.0-pl
Сейчас хотел попробовать на тестовом modhost, блин, userprofile2 не ставится пишет останавливается на: Trying to install pdoTools. Please wait…
Илья
30 августа 2015, 15:21
0
Подскажите, как сделать адреса такого плана: вместо /users/1/ было /users/admin/?
Пробовал менять маршруты со стандартного:
/users/{user_id:[0-9]+}/
на:
/users/{user_firstname:[A-Za-z0-9]}/
Илья
21 августа 2015, 14:45
0
Что бы убрать
target="_blank"
из ссылки «подробнее» в балуне обнаружил, что не работает параметр «showMoreLinkTpl», т.е. указываешь ему шаблон:
@INLINE <p><a href="[[~[[+id]]]]">Подробнее</a></p>
и при отображении на карте ссылка «подробнее» без адреса назначения.

В сниппете «yandexMaps» при изменении этого кода — на самой карте по прежнему ничего не меняется.
Илья
14 августа 2015, 15:45
0
Например, создать чанк содержимого балуна, где можно указывать разные данные из разных полей.
Илья
14 августа 2015, 15:29
0
А как сделать произвольным балун? что бы не только указывать content, introtext, tvCoords, description, longtitle, pagetitle?

Например указывать ТВ поля вместе с контентом, т.е. учавствовать в полном оформлении балуна?

например поле балуна:
Категория: [[*tv1]]
Вес: [[*tv2]]
Длина: [[*tv3]]
Илья
25 июля 2015, 19:39
1
0
Нашел решение.
Имея такой фрейм:
<iframe width="640" height="360" src="https://www.youtube.com/embed/fW-q10dDXXU?feature=player_detailpage" frameborder="0" allowfullscreen></iframe>
в cfgAllowTagParams добавляем:
"iframe":["width","height","src","frameborder","allowfullscreen"]
в cfgSetTagIsEmpty добавляем:
iframe
И получаем рабочие фреймы.

Только не разобрался с coub'ами, как подставить frameborder=«0», там фрейм такого вида (без frameborder, вот как его добавить — пока не знаю):
<iframe src='http://coub.com/embed/163l3' width='498' height='402'></iframe>
Илья
17 июля 2015, 21:40
1
0
Чуть подредактировал, код остался кривым.
Сейчас корректно проверяется на fullname и username. Убирает введенные пробелы в начале и конце имени.
<?php
switch ($modx->event->name) {

    case 'OnBeforeCommentSave':
        $name = filter_input(INPUT_POST, 'name' );

        $count = $modx->getCount('modUser', array('username' => trim($name)));
        if ($id != 0) return "";
        if ($count > 0) {
            $modx->event->output('<b>Нельзя комментировать под чужим именем.</b>');
        }
        $count = $modx->getCount('modUserProfile', array('fullname' => trim($name)));
        if ($id != 0) return "";
        if ($count > 0) {
            $modx->event->output('<b>Нельзя комментировать под чужим именем.</b>');
        }
        break;
}
Илья
08 июля 2015, 15:20
+1
Написал плагин, код кривой, но работает, вроде ошибок нет.
Проверяется на username и fullname

Вот сам плагин, может кому пригодится:
<?php
switch ($modx->event->name) {

    case 'OnBeforeCommentSave':
        $name  = filter_input(INPUT_POST, 'name' );
        $count = $modx->getCount('modUser', array('username' => $name));
        if ($id != 0) return "";
        if ($count > 0) {
            $modx->event->output('Нельзя использовать занятое имя. <b>Хулюган!</b>');
        }
        break;
        $count = $modx->getCount('modUserProfile', array('fullname' => $name));
        if ($id != 0) return "";
        if ($count > 0) {
            $modx->event->output('Нельзя использовать занятое имя. <b>Хулюган!</b>');
        }
        break;
}
Илья
07 июля 2015, 13:04
0
Спасибо, пока так и буду реализовывать, параллельно изучая как написать плагин)
Илья
06 июля 2015, 19:20
0
я понимаю, что не понимаю как дальше
Илья
06 июля 2015, 19:11
0
По идее формой передаются поля: name и email
Илья
06 июля 2015, 18:48
0
ну, я проверяю совпадения введенного имени с уже существующими у пользователей имени и логином.
Илья
06 июля 2015, 18:38
0
С сервера:
2015/07/06 17:14:59 [error] 31718#0: *2345302 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Call to a member function get() on a non-object in /hom
e/s2112/www/core/cache/includes/elements/modplugin/30.include.cache.php on line 8" while reading response header from upstream, client: 31.134.195.210, serve
r: s2112.h4.modhost.pro, request: "POST /assets/components/tickets/action.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:12112", host: "s2112.h4.modhost.pro",
 referrer: "http://s2112.h4.modhost.pro/our-city/172-gmp-will-be-responsible-for-everything!.html"
С компонента &showlog
0.0001001: pdoTools loaded
0.0011718: Conditions prepared
0.0001292: Query parameters prepared.
0.0000300: xPDO query object created
0.0001810: innerJoined TicketThread as Thread
0.0001490: leftJoined modUser as User
0.0001209: leftJoined modUserProfile as Profile
0.0000031: Grouped by TicketComment.id
0.0000460: Added selection of TicketComment: SQL_CALC_FOUND_ROWS `id`, `thread`, `parent`, `text`, `name`, `email`, `ip`, `rating`, `rating_plus`, `rating_minus`, `createdon`, `createdby`, `editedon`, `editedby`, `published`, `deleted`, `deletedon`, `deletedby`, `properties`, `parent` as `new_parent`, `rating` as `rating_total`
0.0000129: Added selection of TicketThread: `resource`
0.0000100: Added selection of modUser: `username`
0.0000250: Added selection of modUserProfile: `internalKey`, `fullname`, `phone`, `mobilephone`, `blocked`, `blockeduntil`, `blockedafter`, `logincount`, `lastlogin`, `thislogin`, `failedlogincount`, `sessionid`, `dob`, `gender`, `address`, `country`, `city`, `state`, `zip`, `fax`, `photo`, `comment`, `website`, `extended`,`email` as `user_email`
0.0001419: Added where condition: published=1
0.0000300: Sorted by TicketComment.id, ASC
0.0003221: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `TicketComment`.`id`, `TicketComment`.`thread`, `TicketComment`.`parent`, `TicketComment`.`text`, `TicketComment`.`name`, `TicketComment`.`email`, `TicketComment`.`ip`, `TicketComment`.`rating`, `TicketComment`.`rating_plus`, `TicketComment`.`rating_minus`, `TicketComment`.`createdon`, `TicketComment`.`createdby`, `TicketComment`.`editedon`, `TicketComment`.`editedby`, `TicketComment`.`published`, `TicketComment`.`deleted`, `TicketComment`.`deletedon`, `TicketComment`.`deletedby`, `TicketComment`.`properties`, `parent` as `new_parent`, `rating` as `rating_total`, `Thread`.`resource`, `User`.`username`, `Profile`.`internalKey`, `Profile`.`fullname`, `Profile`.`phone`, `Profile`.`mobilephone`, `Profile`.`blocked`, `Profile`.`blockeduntil`, `Profile`.`blockedafter`, `Profile`.`logincount`, `Profile`.`lastlogin`, `Profile`.`thislogin`, `Profile`.`failedlogincount`, `Profile`.`sessionid`, `Profile`.`dob`, `Profile`.`gender`, `Profile`.`address`, `Profile`.`country`, `Profile`.`city`, `Profile`.`state`, `Profile`.`zip`, `Profile`.`fax`, `Profile`.`photo`, `Profile`.`comment`, `Profile`.`website`, `Profile`.`extended`, `Profile`.`email` as `user_email` FROM `modx_tickets_comments` AS `TicketComment` JOIN `modx_tickets_threads` `Thread` ON `Thread`.`id` = `TicketComment`.`thread` AND `Thread`.`name` = "resource-172" LEFT JOIN `modx_users` `User` ON `User`.`id` = `TicketComment`.`createdby` LEFT JOIN `modx_user_attributes` `Profile` ON `Profile`.`internalKey` = `TicketComment`.`createdby` WHERE `TicketComment`.`published` = 1 GROUP BY TicketComment.id ORDER BY TicketComment.id ASC "
0.0001121: SQL executed
0.0001020: Total rows: 7
0.0000620: Rows fetched
0.0001981: Returning raw data
0.0065100: Returning processed chunks
0.0009398: Loaded chunk "tpl.Tickets.comment.wrapper"
0.0015490: Loaded chunk "tpl.Tickets.comment.form.guest"
0.0124190: Total time
17 301 504: Memory usage
Илья
06 июля 2015, 18:19
0
попробовал, комментарий не отправляется, после отправки кнопка «Написать» становится неактивной и в консоли браузера выводится следующее:
POST http://s2112.h4.modhost.pro/assets/components/tickets/action.php 500 (Internal Server Error)
m.ajaxTransport.send @ jquery.min.js:4
m.extend.ajax @ jquery.min.js:4
e.fn.ajaxSubmit @ jquery.form.min.js:7
Tickets.comment.save @ default.js:288
(anonymous function) @ default.js:53
m.event.dispatch @ jquery.min.js:3
m.event.add.r.handle @ jquery.min.js:3
Илья
06 июля 2015, 16:02
1
0
попробовал использовать плагин:
<?php
switch ($modx->event->name) {

    case 'OnCommentPublish':

        if ($id == 1) return ""; //hack for create new user 
        /**@var user modUser */
        if ($modx->getCount('modUserProfile', array('username' => $user->get('username'), 'internalKey:!=' => $id))) {
            $modx->error->addField('username', 'Указанное имя пользователя уже занято.');
            $modx->event->output('Указанное имя пользователя уже занято. Попробуйте указать другое имя.');
        }
        if ($modx->getCount('modUserProfile', array('fullname' => $user->get('fullname'), 'internalKey:!=' => $id))) {
            $modx->error->addField('fullname', 'Указанное имя пользователя уже занято.');
            $modx->event->output('Указанное имя пользователя уже занято. Попробуйте указать другое имя.');
        }
        break;
}
, неудачно
Илья
06 июля 2015, 11:06
0
да он цветом выделен, без ссылки, но некоторые пользователи путаются =( Потихоньку уходим от анонимов, но
Хотелось ограничить вообще создание комментариев от имени равным username и fullname. Т.е. Написал например admin в поле и получил сообщение (например как при валидации), что нельзя использовать чужое имя
Илья
06 июля 2015, 10:31
0
Подскажите, как это можно применить для такой проблемы

я по теме нашел еще это, только там если пользователя нет — то происходит регистрация, и идёт проверка по одному полю