Zuldek
-
Постов
87 -
Зарегистрирован
Тип контента
Профили
Загрузки
База знаний IPS Community Suite 4
База знаний IP.Board 3.x
Форумы
События
Магазин
Совместные покупки
Сообщения, опубликованные Zuldek
-
-
-
С этим разобрался. Создал форму путем
$form = new \IPS\Helpers\Form; // Add our form fields $form->add( ... ); $form->add( ... );
Вот только форма отправляет, не обновляя страницу. Но как в таком случаи, если пользователь отправляет пустое поле. Как его сделать обязательным?
-
-
$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
-
-
Как вывести сообщение после отправки формы, понятно. Но что если необходимо внести изменения в html документ. То есть выполнить определенный js код после отправки. Возможно это?
Как в таком случаи выставить проверку на поля которые обязательны к заполнению? И как принять данные в php, от формы. Которые будут профильтрованны от возможных инекций?
-
-
В модальном окне вывожу форму, в ней поля с данными. Каким образом возможно выполнить якс запрос и при этом передать данные формы?
Второй вопрос:
Для того чтобы определить переданы данные яксом, пост запросов. Выполняю проверку так
$_SERVER['REQUEST_METHOD'] == 'POST'
В ips предусмотрена какая нибудь функция для этого?
-
\IPS\Output::i()->error( 'no_module_permission', '2C138/S', 403, '');
Нашел
-
<input type="date" name="topic_open_time" id="elInput_topic_open_time" class="ipsField_short" data-control="date" placeholder="ДД.ММ.ГГГГ" value="" data-preferredformat="">
Есть ли что для формата телефона, ввод в текстовое поле?
-
-
data-ipsdialog-size='narrow' data-ipsdialog-width="70"
Никак не выходит выставить свою ширину модального окна. В данном случаи возможно скажем задать ширину 200px?
-
Это только фотку достаем, а так, чтобы при наведение на фото, всплывало еще и модальное окно, как это выполнить?
-
Элементу по примеру присваиваю
role="button" data-ipsdialog="" data-ipsdialog-title="Создать" animating="false"
При клике ничего не происходит, ни открытия окна, ни какого либо запроса
-
Как верно прописать в php, не в шаблоне
{template="userPhoto" group="global" app="core" params="\IPS\Member::loggedIn(), 'tiny'"}
Не выходит\IPS\Theme::i()->getTemplate('userPhoto')->approvalQueueHeader(\IPS\Member::loggedIn())
Как достать всю необходимую инфу для отображения фотки, зная id пользователя
-
\IPS\Db::i()->select( '*', 'core_','approve = 1')
Можно пример того, как выполняется запрос в 2 и более таблиц. Точное знаю, но не знаю как это верно писать при помощи библиотеки от ips, как это тут прописывается?
-
Есть кнопка, как на нее повесить событие или что та еще, чтобы при клике, всплывало модальное окно?
При помощи инструментов ips, в которых уже есть возможность открывать модальные окна
-
Разобрался, в другом файле с топиком работают...
-
По ходу совсем не то, блин я запутался
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', );
-
2 часа назад, Desti сказал:
Попробовать прочитать описание над функцией.
Пробовал при помощи $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, не должно быть так.
Как так сделать?
-
В таблицу 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
-
public static function create
content/comment.php
В данной функции каким образом возможно определить, когда это первый пост в теме. То есть когда создается новая тема или уже добавляется сообщение к существующей.
-
Не выходит найти. Я уже все коды поудалял, очистил функцию, затем одобрил пост, посмотрел в таблицу, ок, содержимое ячейки queued изменилось
И так с самого утра, пытаюсь найти код, который меняет статус сообщение при клике "Одобрить". Где это самый код находится?
Каждый файл на скрине перебрал...
-
/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
Пропадает подсветка поля при autocomplete='off'
в Техническая поддержка Invision Community
Опубликовано
$form->add( new \IPS\Helpers\Form\Text('fml', NULL, TRUE, ['autocomplete'=>'off'], NULL, NULL, NULL));
При данном значении пропадают подсказки, то что необходимо. В месте с ней и подсветка поля, возможно убрать подсказки но сохранить подсветку поля когда вводим текст...?