Jump to content

Zuldek

Пользователи

Everything posted by Zuldek

  1. $form->add( new \IPS\Helpers\Form\Text('fml', NULL, TRUE, ['autocomplete'=>'off'], NULL, NULL, NULL)); При данном значении пропадают подсказки, то что необходимо. В месте с ней и подсветка поля, возможно убрать подсказки но сохранить подсветку поля когда вводим текст...?
  2. С этим разобрался. Создал форму путем $form = new \IPS\Helpers\Form; // Add our form fields $form->add( ... ); $form->add( ... ); Вот только форма отправляет, не обновляя страницу. Но как в таком случаи, если пользователь отправляет пустое поле. Как его сделать обязательным?
  3. $form = new \IPS\Helpers\Form; $form->add( new \IPS\Helpers\Form\Text( 'test', 44, NULL, NULL, NULL, NULL, NULL, 'test')); \IPS\Output::i()->sendOutput($form); Пытаюсь создать форму, поле есть, а вот перевода, наименование что за поле. Нету... В одном место работает, есть имя, а в другом нет. За место описания что та вроде этого db3208ccc43a36a1bba64f6773cfec6 7e98f36d2c9d5a52fc16a96dc69ccb80
  4. Как вывести сообщение после отправки формы, понятно. Но что если необходимо внести изменения в html документ. То есть выполнить определенный js код после отправки. Возможно это? Как в таком случаи выставить проверку на поля которые обязательны к заполнению? И как принять данные в php, от формы. Которые будут профильтрованны от возможных инекций?
  5. В модальном окне вывожу форму, в ней поля с данными. Каким образом возможно выполнить якс запрос и при этом передать данные формы? Второй вопрос: Для того чтобы определить переданы данные яксом, пост запросов. Выполняю проверку так $_SERVER['REQUEST_METHOD'] == 'POST' В ips предусмотрена какая нибудь функция для этого?
  6. \IPS\Output::i()->error( 'no_module_permission', '2C138/S', 403, ''); Нашел
  7. <input type="date" name="topic_open_time" id="elInput_topic_open_time" class="ipsField_short" data-control="date" placeholder="ДД.ММ.ГГГГ" value="" data-preferredformat=""> Есть ли что для формата телефона, ввод в текстовое поле?
  8. Модальное окно сделал, подгружаю данные. Но что если пользователь не авторизован, как отдать такой же шаблон в ответ?
  9. data-ipsdialog-size='narrow' data-ipsdialog-width="70" Никак не выходит выставить свою ширину модального окна. В данном случаи возможно скажем задать ширину 200px?
  10. Это только фотку достаем, а так, чтобы при наведение на фото, всплывало еще и модальное окно, как это выполнить?
  11. Элементу по примеру присваиваю role="button" data-ipsdialog="" data-ipsdialog-title="Создать" animating="false" При клике ничего не происходит, ни открытия окна, ни какого либо запроса
  12. Как верно прописать в php, не в шаблоне {template="userPhoto" group="global" app="core" params="\IPS\Member::loggedIn(), 'tiny'"} Не выходит \IPS\Theme::i()->getTemplate('userPhoto')->approvalQueueHeader(\IPS\Member::loggedIn()) Как достать всю необходимую инфу для отображения фотки, зная id пользователя
  13. \IPS\Db::i()->select( '*', 'core_','approve = 1') Можно пример того, как выполняется запрос в 2 и более таблиц. Точное знаю, но не знаю как это верно писать при помощи библиотеки от ips, как это тут прописывается?
  14. Есть кнопка, как на нее повесить событие или что та еще, чтобы при клике, всплывало модальное окно? При помощи инструментов ips, в которых уже есть возможность открывать модальные окна
  15. Разобрался, в другом файле с топиком работают...
  16. По ходу совсем не то, блин я запутался public static function create Вызывается тогда когда добавляем запись в таблицу forum_post Если же тупо прописать $item->points = 1; Вне switch, перед или после цикла foreach. Тогда тупо и в таблице постов и в таблице топиков, в обеих таблицах ячейка points будет содержать 1. Мужики, хелпс... $val = $first ? 0 : 1; Работает только для постов case 'points_topic': Почему то не вызывается Хотя в топиках, прописано данное поле public static $databaseColumnMap = array( 'author' => 'starter_id', 'author_name' => 'starter_name', 'container' => 'forum_id', 'date' => 'start_date', 'title' => 'title', 'num_comments' => 'posts', 'unapproved_comments' => 'topic_queuedposts', 'hidden_comments' => 'topic_hiddenposts', 'first_comment_id' => 'topic_firstpost', 'last_comment' => array( 'last_post', 'last_real_post' ), 'last_comment_by' => 'last_poster_id', 'last_comment_name' => 'last_poster_name', 'views' => 'views', 'approved' => 'approved', 'points_topic' => 'points', 'pinned' => 'pinned', 'poll' => 'poll_state', 'status' => 'state', 'moved_to' => 'moved_to', 'moved_on' => 'moved_on', 'featured' => 'featured', 'state' => 'state', 'updated' => 'last_post', 'meta_data' => 'topic_meta_data', 'solved_comment_id' => 'topic_answered_pid', 'is_anon' => 'is_anon', 'last_comment_anon' => 'last_poster_anon', );
  17. Пробовал при помощи $first В таблице topic и post, есть поле points. В таблице topic, поле points долно содержать единицу тогда, когда всего 1 пост. То есть, что получается. При создании топика в первой и во второй таблице, ячейка содержит единицу, а необходимо чтобы в таблице с топикам она содержала 1, а с постами 0. При постинге в теме все работает, points=1, а вот при создании темы и в таблице c топиками points=1 и в таблице с постами. То есть что то одно должно быть public static function create( $item, $comment, $first=FALSE, $guestName=NULL, $incrementPostCount=NULL, $member=NULL, \IPS\DateTime $time=NULL, $ipAddress=NULL, $hiddenStatus=NULL, $anonymous=NULL ) { if ( $member === NULL ) $member = \IPS\Member::loggedIn(); /* Create the object */ $obj = new static; foreach ( array( 'item', 'date', 'author', 'author_name', 'content', 'ip_address', 'first', 'approved', 'hidden', 'points_post', 'points_topic' ) as $k ) { if ( isset( static::$databaseColumnMap[ $k ] ) ) { $val = NULL; switch ( $k ) { case 'points_post': case 'points_topic': $val = 1; break; Как только не пытался наладить, при создании темы. Запись в таблице с постами, поле points=1, не должно быть так. Как так сделать?
  18. В таблицу topic и post добавил поле points в файлах topic и пост добавил данное поле в массив со своими именами В очереди выбарку сделал следующим образом if($class::$databaseColumnMap['points_topic']) //Выборка топиков $where[] = array( $class::$databaseTable.'.'.$class::$databasePrefix.$class::$databaseColumnMap['approved']. '=0 or '.$class::$databaseTable.'.'.$class::$databasePrefix.$class::$databaseColumnMap['points_topic'].' = 1' ); elseif($class::$databaseColumnMap['points_post']) //Выборка постов $where[] = array( $class::$databaseTable.'.'.$class::$databasePrefix.$class::$databaseColumnMap['hidden']. '=1 or '.$class::$databaseTable.'.'.$class::$databasePrefix.$class::$databaseColumnMap['points_post'].' = 1' ); Суть в следующем, все работает как прежде. Просто если поле points содержит значение, данные записи тоже выбираем... К примеру если запись топика approved = 1, по умолчанию данный топик не модерируем, но если поле points скажем равно 1 В данном случаи выводим запись на модерацию. Проблема в том, что кнопка одобрить заблокирована Поскольку $item->canUnhide() Ничего не отдает, по умолчанию отдает единицу, но поскольку проверить топик изначально не нужно, отдает пустоту. В файле source/topic/topic.php public function canUnhide( $member=NULL ) { if ( $this->isArchived() ) { return FALSE; } return parent::canUnhide( $member ); } Данная функция должна отдавать значение чтобы кнопка не была деактивной. Не могу понять куда именно лезть, чтобы добавить исключение когда у топика поле points = 1
  19. public static function create content/comment.php В данной функции каким образом возможно определить, когда это первый пост в теме. То есть когда создается новая тема или уже добавляется сообщение к существующей.
  20. Не выходит найти. Я уже все коды поудалял, очистил функцию, затем одобрил пост, посмотрел в таблицу, ок, содержимое ячейки queued изменилось И так с самого утра, пытаюсь найти код, который меняет статус сообщение при клике "Одобрить". Где это самый код находится? Каждый файл на скрине перебрал...
  21. /applications/core/extensions/core/ModCp/Unapproved.php Примерная сотая строчка, прописываю if ( isset( $class::$databaseColumnMap['points'] ) ) { $where[] = array( $class::$databaseTable . '.' . $class::$databasePrefix . $class::$databaseColumnMap['points'] . '=1 '); }elseif В таблице forums_posts есть поле points в котором прописана 1. То есть данные сообщения тоже выводим в очереди даже если queued равен 0 Трудность в следующем, если это сообщение было добавлено с созданием топика (new_topic = 1), после которого queued равен 0, а поле points равно 1. Данное сообщение отображается в очереди на проверку, но кнопки они не активны. Как в данном случаи сделать так, чтобы они были активны? Пол ночи покувырялся в коде, так ничего похожего не нашел $column = $item::$databaseColumnMap['hidden']; $item->$column = 0; $item->save(); Где возможно было бы дописать код, для того чтобы значение поля points поменять на 0