public function history() { extract($this->_args); $history = \AIP\lib\srvr\History::i()->get($length, $start); $history = array_reverse($history, true); $data = array(); foreach($history as $id => $line) $data[] = "\t{$id}\t{$line}"; echo "Use !{HISTORY_ID} to re-invoke history line.\n\n" . implode("\n", $data); }
public static function execute(P\Statement $statement) { $result = new Result; if($statement->in_block()) { $result->message = 'Not yet finished'; $result->return = hlprs\NotReturnable::i(); self::$last_was_unfinished = true; return $result; } $result->php = $statement->to_php(); \AIP\lib\srvr\History::i()->add($statement->to_aip()); if(self::$last_was_unfinished) { self::$last_was_unfinished = false; \AIP\lib\srvr\History::i()->confirm($result->php); } else { \AIP\lib\srvr\History::i()->confirm(); } ob_start(); $result->return = self::sandboxed_eval($result->php); $result->output = ob_get_clean(); if(self::$internalize_result !== false) { $result->internal = array( 'title' => self::$internalize_result['title'], 'body' => self::$internalize_result['source'] === self::SOURCE_RETURN ? $result->return : $result->output ); } self::make_internal_from(false); return $result; }
public function get_last_history() { return array_pop(S\History::i()->get()); }