/** * {@inheritdoc} */ protected function handle() { $uri = '/' . ltrim($this->argument('uri'), '/'); $method = $this->argument('method') ?: 'GET'; $add_csrf_tokens = $this->option('tokens'); $site_url = elgg_get_site_url(); $uri = substr(elgg_normalize_url($uri), strlen($site_url)); $path_key = Application::GET_PATH_KEY; $parameters = []; $query = trim((string) $this->option('query'), '?'); parse_str($query, $parameters); if ($add_csrf_tokens) { $ts = time(); $parameters['__elgg_ts'] = $ts; $parameters['__elgg_token'] = _elgg_services()->actions->generateActionToken($ts); } $request = Request::create("?{$path_key}=" . urlencode($uri), $method, $parameters); $cookie_name = _elgg_services()->config->getCookieConfig()['session']['name']; $session_id = _elgg_services()->session->getId(); $request->cookies->set($cookie_name, $session_id); $request->headers->set('Referer', elgg_normalize_url()); if ($this->option('export')) { elgg_set_viewtype('json'); $request->headers->set('X-Elgg-Ajax-API', '2'); } _elgg_services()->setValue('request', $request); Application::index(); }
/** * {@inheritdoc} */ protected function handle() { $action = trim($this->argument('action_name'), '/'); $path_key = Application::GET_PATH_KEY; $uri = "action/{$action}"; $parameters = []; $query = trim((string) $this->option('query'), '?'); parse_str($query, $parameters); $ts = time(); $parameters['__elgg_ts'] = $ts; $parameters['__elgg_token'] = _elgg_services()->actions->generateActionToken($ts); $request = Request::create("?{$path_key}=" . urlencode($uri), 'POST', $parameters); $cookie_name = _elgg_services()->config->getCookieConfig()['session']['name']; $session_id = _elgg_services()->session->getId(); $request->cookies->set($cookie_name, $session_id); $request->headers->set('Referer', elgg_normalize_url('cli')); $request->headers->set('X-Elgg-Ajax-API', 2); elgg_set_viewtype('json'); _elgg_services()->setValue('request', $request); Application::index(); }
<?php $autoload_path = __DIR__ . '/vendor/autoload.php'; $autoload_available = (include_once $autoload_path); if (!$autoload_available) { die("Couldn't include '{$autoload_path}'. Did you run `composer install`?"); } \Elgg\Application::index();