/** * Makes a call to the specified module+action and returns back to the caller * @param string $module * @param string $action * @param array $request * @return array */ public function call($module = 'default', $action = 'index', $request = array('GET' => array(), 'POST' => array())) { $moduleClass = SkinnyControllerWPCsvFree::camelize($module) . 'Actions'; $actionMethod = 'execute' . SkinnyControllerWPCsvFree::camelize($action); $moduleObj = new $moduleClass(); if ($moduleObj->authenticatedOnly()) { if (!$this->skinnyUser->isAuthenticated()) { //Not authenticated! return null; } } if (is_callable(array($moduleObj, $actionMethod))) { $data = call_user_func_array(array($moduleObj, $actionMethod), array($request)); if (SkinnySettings::$CONFIG['debug']) { global $__DEBUG; array_push($__DEBUG['data'], $data); } } return $data; }