Перейти к содержанию

Zuldek

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

    87
  • Зарегистрирован

Сообщения, опубликованные 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. Как верно прописать в php, не в шаблоне

    {template="userPhoto" group="global" app="core" params="\IPS\Member::loggedIn(), 'tiny'"}


    Не выходит

    \IPS\Theme::i()->getTemplate('userPhoto')->approvalQueueHeader(\IPS\Member::loggedIn())

     

    Как достать всю необходимую инфу для отображения фотки, зная id пользователя

  7. \IPS\Db::i()->select( '*', 'core_','approve = 1')

    Можно пример того, как выполняется запрос в 2 и более таблиц. Точное знаю, но не знаю как это верно писать при помощи библиотеки от ips, как это тут прописывается?

  8. По ходу совсем не то, блин я запутался

    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',
            
        );

     

  9. 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, не должно быть так. 

    Как так сделать?

  10. В таблицу 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

     

  11. public static function create

    content/comment.php

    В данной функции каким образом возможно определить, когда это первый пост в теме. То есть когда создается новая тема или уже добавляется сообщение к существующей.

  12. Не выходит найти. Я уже все коды поудалял, очистил функцию, затем одобрил пост, посмотрел в таблицу, ок, содержимое ячейки queued изменилось

    И так с  самого утра, пытаюсь найти код, который меняет статус сообщение при клике "Одобрить". Где это самый код находится? 

    Каждый файл на скрине перебрал...

  13. /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

    dsz.png

×
×
  • Создать...