Example #1
0
	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);
	}
Example #2
0
	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;
	}
Example #3
0
	public function get_last_history() {
		return array_pop(S\History::i()->get());
	}