Опубликовано: 27 марта 20214 г Здравствуйте. Мне необходимо получить историю изменения группы пользователя в IPS, на сколько я понял, эта информация хранится только в core_member_history. $dates = []; $date = $old = $new = null; foreach( \IPS\Db::i()->select( '*', 'core_member_history', array( 'log_app=? and log_member=? and log_type=?', 'core', 6, 'group' ) ) as $row ) { $data = json_decode( $row['log_data'], TRUE ); if ($new == $data['old'] && $date != $finish = $row['log_date']) { $dates[] = ['start' => $date, 'finish' => $finish]; } $date = $row['log_date']; $old = $data['old']; $new = $data['new']; } В моем примере я должен получить вот такой массив в итоге: Array ( [0] => Array ( [start] => 1597760738.50 [finish] => 1601474591.76 ) [1] => Array ( [start] => 1608299241.36 [finish] => null ) ) а получаю вот такой: Array ( [0] => Array ( [start] => 1597760738.50 [finish] => 1601474591.76 ) [1] => Array ( [start] => 1601474591.76 [finish] => 1608299241.36 ) ) Т.е Изменено 27 марта 20214 г пользователем TemKa_SD
Опубликовано: 20 апреля 20214 г Какое-то запудренное условие, хотя задача вроде элементарная $dates = []; $finish = null; foreach( \IPS\Db::i()->select( '*', 'core_member_history', array( 'log_app=? and log_member=? and log_type=?', 'core', 6, 'group' ) ) as $row ) { $data = json_decode( $row['log_data'], TRUE ); $dates[] = [ 'start' => $data['log_date'], 'finish' => $finish ]; $finish = $row['log_date']; }
Здравствуйте. Мне необходимо получить историю изменения группы пользователя в IPS, на сколько я понял, эта информация хранится только в core_member_history.
В моем примере я должен получить вот такой массив в итоге:
а получаю вот такой:
Т.е
Изменено пользователем TemKa_SD