genresu4 Опубликовано 21 Июня 2009 Жалоба Поделиться Опубликовано 21 Июня 2009 не знаю где создавать тему т.ч. заранее сорри Мне нужна фитча что бы спустя три дня после регистрации юзер мог создавать посты. Логично было бы делать изначально юзера неактивом и активация только админами (либо скрипт либо админ, логично). Я сдублировал один из файлов в ./source/task/ (что то ежедневное там было). Написал код (приведу его ниже), создал в АЦ задачу, заставил работать каждый день в 0:00, прописал имя файла с задачей, забил на форум на указанную дату - 3 дня. Возвращаюсь спустя 5 дней (ну не смог раньше) - нулевой результат! вот где косяк? в создании задачи или в коде? это я сохранил увидев над ними коммент LEAVE ALONE:function register_class(&$class)function pass_task( $this_task ) отрезок кода function run_task():function run_task() { //----------------------------------------- // Main code here... //----------------------------------------- $this->ipsclass->DB->build_query(array( 'select' => '*', 'from' => 'members', 'where' => 'mgroup=1')); $o = $this->ipsclass->DB->exec_query(); $k = 0; $ud = array(); $ud[] = array('id','joined'); while( $row = $this->ipsclass->DB->fetch_row($o) ){ $ud[$k]['id'] = $row['id']; $ud[$k]['joined'] = $row['joined']; $k++; } if($k>0){ for($i=0; $i<count($ud); $i++){ $ud[$i]['joined'] = $this->ipsclass->get_date( $ud[$i]['joined'], 'JOINED' ); list($urd_day, $urd_month, $urd_year) = split('[/.]', $ud[$i]['joined']); $urd_day = (int)$urd_day; $urd_month = (int)$urd_month; $urd_year = (int)$urd_year; $cd_day = (int)date("j"); $cd_month = (int)date("m"); $cd_year = (int)date("Y"); if($cd_year>$urd_year OR $cd_month>$urd_month OR ($cd_day>=($urd_day+3) AND $cd_month==$urd_month AND $cd_year==$urd_year)){ $this->ipsclass->DB->simple_construct( array('update' => 'members', 'set' => 'mgroup=3', 'where' => 'id='.$ud[$i]['id']) ); $this->ipsclass->DB->simple_exec(); } } } //----------------------------------------- // Log to log table - modify but dont delete //----------------------------------------- $this->class->append_task_log( $this->task, 'Ежедневная активация новичков' ); //----------------------------------------- // Unlock Task: DO NOT MODIFY! //----------------------------------------- $this->class->unlock_task( $this->task ); } Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 21 Июня 2009 Жалоба Поделиться Опубликовано 21 Июня 2009 $this->ipsclass->DB->query( 'UPDATE `forum`.`ibf_members` SET `mgroup` = 4 WHERE `id` = ' . $uid[$i] ); $this->ipsclass->DB->simple_exec();есть мнение, ошибкаизучить DB->simple_update функцию Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
WildRAID Опубликовано 21 Июня 2009 Жалоба Поделиться Опубликовано 21 Июня 2009 (изменено) Такое ощущение, что вы специально писали максимально неясный код.. Например, я не вижу, где определяется значние переменной $str, которая потом используется вsplit ('[/.]', $str); Изменено 21 Июня 2009 пользователем WildRAID Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
genresu4 Опубликовано 21 Июня 2009 Автор Жалоба Поделиться Опубликовано 21 Июня 2009 (изменено) я написал максимально понятно мне Arhar: где эти функции хранятся?? я запарился их источники искать! ps: правил код в первом посте опять. всё заработало - чувствительность к регистру имеется... Изменено 21 Июня 2009 пользователем genresu4 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.