/** * Handles incoming requests. */ public function handle_json($request) { // Loading the widget. if (isset($request->widget)) { $widget_name = (string) $request->widget; } else { return; } $result = array(); // Preparing the parameters and calling the function. if (isset($request->params)) { $params = (array) $request->params; foreach ($params as $p) { if (is_object($p) && isset($p->container)) { array_push($result, (array) $p->container); } else { array_push($result, $p); } } } $widgets = WidgetWrapper::getInstance(); $widgets->runWidget($widget_name, (string) $request->func, $result); }
require_once DOCUMENT_ROOT . '/bootstrap.php'; use Monolog\Logger; use Monolog\Handler\SyslogHandler; try { if (isset($_GET['q']) && $_GET['q'] == 'admin' || isset($_GET['query']) && $_GET['query'] == 'admin') { define('FAIL_SAFE', true); } else { define('FAIL_SAFE', false); } $bootstrap = new Bootstrap(); $bootstrap->boot(); $rqst = new FrontController(); $rqst->handle(); WidgetWrapper::getInstance(false); // Closing stuff WidgetWrapper::destroyInstance(); } catch (Exception $e) { $log = new Logger('movim'); $log->pushHandler(new SyslogHandler('movim')); $log->addInfo($e->getMessage()); if (ENVIRONMENT === 'development' && !FAIL_SAFE) { ?> <div id="final_exception" class="error debug"> <h2>An error happened</h2> <p><?php print $e->getMessage(); ?> </p> </div> <?php } elseif (!FAIL_SAFE) {
<?php require __DIR__ . '/vendor/autoload.php'; define('DOCUMENT_ROOT', dirname(__FILE__)); require_once DOCUMENT_ROOT . '/bootstrap.php'; gc_enable(); $bootstrap = new Bootstrap(); $booted = $bootstrap->boot(); $loop = React\EventLoop\Factory::create(); $dnsResolverFactory = new React\Dns\Resolver\Factory(); $dns = $dnsResolverFactory->createCached('8.8.8.8', $loop); $connector = new React\SocketClient\Connector($loop, $dns); $stdin = new React\Stream\Stream(STDIN, $loop); fwrite(STDERR, colorize(getenv('sid'), 'yellow') . " widgets before : " . \sizeToCleanSize(memory_get_usage()) . "\n"); // We load and register all the widgets $wrapper = WidgetWrapper::getInstance(); $wrapper->registerAll(true); fwrite(STDERR, colorize(getenv('sid'), 'yellow') . " widgets : " . \sizeToCleanSize(memory_get_usage()) . "\n"); $conn = null; $parser = new \Moxl\Parser(); $buffer = ''; $stdin_behaviour = function ($data) use(&$conn, $loop, &$buffer, &$connector, &$xmpp_behaviour, &$parser) { if (substr($data, -1) == "") { $messages = explode("", $buffer . substr($data, 0, -1)); $buffer = ''; foreach ($messages as $message) { #fwrite(STDERR, colorize($message, 'yellow')." : ".colorize('received from the browser', 'green')."\n"); $msg = json_decode($message); if (isset($msg)) { if ($msg->func == 'message' && $msg->body != '') { $msg = $msg->body;
static function destroyInstance() { if (isset(self::$instance)) { self::$instance = null; } }
/** * Loads up a widget and prints it at the current place. */ function widget($name) { $widgets = WidgetWrapper::getInstance(); $widgets->setView($this->_view); echo $widgets->runWidget($name, 'build'); }
function runEvent($key, $data = null) { $widgets = WidgetWrapper::getInstance(false); $widgets->iterate($key, $data); }