function runCommand($command) { $commands = $this->getOptionsFromCommand($command); $generator_name = isset($commands['generator']) ? $commands['generator'] : array_shift($commands); if (empty($generator_name)) { echo "\n " . Ak::t("You must supply a valid generator as the first command.\n\n Available generator are:"); echo "\n\n " . join("\n ", $this->_getAvailableGenerators()) . "\n\n"; AK_CONSOLE_MODE ? null : exit; return; } if (count(array_diff($commands, array('help', '-help', 'usage', '-usage', 'h', '-h', 'USAGE', '-USAGE'))) != count($commands) || count($commands) == 0) { $usage = method_exists($this, 'banner') ? $this->banner() : @Ak::file_get_contents(AK_SCRIPT_DIR . DS . 'generators' . DS . $generator_name . DS . 'USAGE'); echo empty($usage) ? "\n" . Ak::t('Could not locate usage file for this generator') : "\n" . $usage . "\n"; return; } if (file_exists(AK_SCRIPT_DIR . DS . 'generators' . DS . $generator_name . DS . $generator_name . '_generator.php')) { include_once AK_SCRIPT_DIR . DS . 'generators' . DS . $generator_name . DS . $generator_name . '_generator.php'; $generator_class_name = AkInflector::camelize($generator_name . '_generator'); $generator = new $generator_class_name(); $generator->type = $generator_name; $generator->_identifyUnnamedCommands($commands); $generator->_assignVars($commands); $generator->cast(); $generator->_generate(); } else { echo "\n" . Ak::t('Could not find %generator_name generator', array('%generator_name' => $generator_name)) . "\n"; } }
/** * Displays a tring representation of the model for debugging. */ public function toString($print = false) { $result = ''; if (!AK_CLI || AK_ENVIRONMENT == 'testing' && !AK_CLI) { $result = "<h2>Details for " . AkInflector::humanize(AkInflector::underscore($this->_Model->getModelName())) . " with " . $this->_Model->getPrimaryKey() . " " . $this->_Model->getId() . "</h2>\n<dl>\n"; foreach ($this->_Model->getColumnNames() as $column => $caption) { $result .= "<dt>{$caption}</dt>\n<dd>" . $this->_Model->getAttribute($column) . "</dd>\n"; } $result .= "</dl>\n<hr />"; if ($print) { echo $result; } } elseif (AK_DEV_MODE) { $result = "\n" . str_replace("\n", " ", var_export($this->_Model->getAttributes(), true)); $result .= "\n"; echo $result; return ''; } elseif (AK_CLI) { $result = "\n-------\n Details for " . AkInflector::humanize(AkInflector::underscore($this->_Model->getModelName())) . " with " . $this->_Model->getPrimaryKey() . " " . $this->_Model->getId() . " ==\n\n/==\n"; foreach ($this->_Model->getColumnNames() as $column => $caption) { $result .= "\t * {$caption}: " . $this->_Model->getAttribute($column) . "\n"; } $result .= "\n\n-------\n"; if ($print) { echo $result; } } return $result; }
function cast() { $this->model_name = AkInflector::camelize($this->model_name); $this->model_file_path = AkInflector::toModelFilename($this->model_name); if (empty($this->actions) && !empty($this->controller_name) && strstr($this->controller_name, ',')) { $this->controller_name = ''; } $this->controller_name = empty($this->controller_name) ? AkInflector::pluralize($this->model_name) : AkInflector::camelize($this->controller_name); $this->controller_file_path = AkInflector::toControllerFilename($this->controller_name); $this->controller_class_name = str_replace(array('/', '::'), '_', $this->controller_name . 'Controller'); $this->controller_name = AkInflector::demodulize($this->controller_name); $this->controller_human_name = AkInflector::humanize($this->controller_name); $this->helper_name = (AkInflector::is_plural($this->controller_name) ? AkInflector::singularize($this->controller_name) : $this->controller_name) . 'Helper'; $this->helper_var_name = '$' . AkInflector::underscore($this->helper_name); $this->singular_name = AkInflector::underscore($this->model_name); $this->plural_name = AkInflector::pluralize($this->singular_name); $this->singular_controller_name = AkInflector::underscore($this->controller_name); $this->module_preffix = AkInflector::underscore(substr($this->controller_class_name, 0, strrpos($this->controller_class_name, '_'))); $this->module_preffix = empty($this->module_preffix) ? '' : DS . $this->module_preffix; $this->files = array('controller.php' => $this->controller_file_path, 'helper.php' => AK_HELPERS_DIR . $this->module_preffix . DS . trim($this->helper_var_name, '$') . '.php', 'layout' => AK_VIEWS_DIR . DS . 'layouts' . DS . $this->singular_controller_name . '.tpl', 'view_add' => AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . 'add.tpl', 'view_destroy' => AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . 'destroy.tpl', 'view_edit' => AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . 'edit.tpl', 'view_listing' => AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . 'listing.tpl', 'view_show' => AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . 'show.tpl', 'form' => AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . '_form.tpl'); $this->user_actions = array(); foreach ((array) @$this->actions as $action) { $this->user_actions[$action] = AK_VIEWS_DIR . $this->module_preffix . DS . $this->singular_controller_name . DS . $action . '.tpl'; } }
public function createController($controller_name) { $controller_class_name = AkInflector::camelize($controller_name) . 'Controller'; $this->Controller = $this->partialMock($controller_class_name, $this->getMethodsToMockForController()); #$this->Controller->Template = $this->getMock('AkActionView'); return $this->Controller; }
function cast() { $this->model_name = AkInflector::camelize($this->model_name); $this->model_file_path = AkInflector::toModelFilename($this->model_name); $this->controller_name = empty($this->controller_name) ? $this->model_name : (AkInflector::camelize($this->controller_name)); $this->controller_file_path = AkInflector::toControllerFilename($this->controller_name); $this->controller_class_name = $this->controller_name.'Controller'; $this->controller_human_name = AkInflector::humanize($this->controller_name); $this->helper_var_name = '$'.AkInflector::underscore($this->controller_name).'_helper'; $this->singular_name = AkInflector::underscore($this->model_name); $this->plural_name = AkInflector::pluralize($this->singular_name); $this->singular_controller_name = AkInflector::underscore($this->controller_name); $this->files = array( 'controller.php' => $this->controller_file_path, /** * @todo Implement generic functional tests */ // 'functional_test.php' => AK_TEST_DIR.DS.'functional'.DS.'test_'.$this->controller_class_name.'.php', 'helper.php' => AK_HELPERS_DIR.DS.trim($this->helper_var_name,'$').'.php', 'layout' => AK_VIEWS_DIR.DS.'layouts'.DS.$this->singular_controller_name.'.tpl', 'view_add' => AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.'add.tpl', 'view_destroy' => AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.'destroy.tpl', 'view_edit' => AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.'edit.tpl', 'view_listing' => AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.'listing.tpl', 'view_show' => AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.'show.tpl', 'form' => AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.'_form.tpl', ); $this->user_actions = array(); foreach ((array)@$this->actions as $action){ $this->user_actions[$action] = AK_VIEWS_DIR.DS.$this->singular_controller_name.DS.$action.'.tpl'; } }
function generate() { $this->_preloadPaths(); $this->class_name = AkInflector::camelize($this->class_name); $files = array( 'mailer'=>AkInflector::toModelFilename($this->class_name), 'unit_test'=>AK_TEST_DIR.DS.'unit'.DS.'app'.DS.'models'.DS.$this->underscored_class_name.'.php' ); foreach ($files as $template=>$file_path){ $this->save($file_path, $this->render($template)); } $mailer_views_folder = AK_VIEWS_DIR.DS.AkInflector::underscore($this->class_name); @Ak::make_dir($mailer_views_folder); foreach ($this->actions as $action){ $this->assignVarToTemplate('action', $action); $path = $mailer_views_folder.DS.$action.'.tpl'; $this->assignVarToTemplate('path', $path); $this->save($path, $this->render('view')); } }
function runCommand($command) { $commands = $this->getOptionsFromCommand($command); $generator_name = AkInflector::underscore(isset($commands['generator']) ? $commands['generator'] : array_shift($commands)); $available_generators = $this->_getAvailableGenerators(); $generator_file_name = array_shift(array_keys($available_generators, $generator_name)); if (empty($generator_file_name)) { echo "\n " . Ak::t("You must supply a valid generator as the first command.\n\n Available generator are:"); echo "\n\n " . join("\n ", $available_generators) . "\n\n"; defined('AK_CONSOLE_MODE') && AK_CONSOLE_MODE ? null : exit; return; } if (include_once $generator_file_name) { $generator_class_name = AkInflector::camelize($generator_name . '_generator'); $generator = new $generator_class_name(); $generator->_generator_base_path = dirname($generator_file_name); if (count(array_diff($commands, array('help', '-help', 'usage', '-usage', 'h', '-h', 'USAGE', '-USAGE'))) != count($commands) || count($commands) == 0) { if (empty($generator->command_values) && empty($commands)) { // generator without commands } else { $generator->banner(); return; } } $generator->type = $generator_name; $generator->_identifyUnnamedCommands($commands); $generator->_assignVars($commands); $generator->cast(); $generator->_generate(); } else { echo "\n" . Ak::t('Could not find %generator_name generator', array('%generator_name' => $generator_name)) . "\n"; } }
public function guide() { $this->tab = 'docs'; $this->docs_helper->docs_path = 'guides'; $this->title = AkInflector::titleize(@$this->params['id']) . ', Akelos guides'; $this->guide = $this->docs_helper->get_doc_contents(empty($this->params['id']) ? 'getting_started' : $this->params['id']); }
function _getSingularAttributeName($attribute_name) { $singular_name = AkInflector::singularize($attribute_name); if ($singular_name === $attribute_name) { return false; } return $singular_name; }
public static function getUrlParamsForModel(AkBaseModel $Model) { $url_function = AkInflector::underscore($Model->getModelName()) . '_params'; if (!function_exists($url_function)) { throw new Exception($url_function . ' function not found for AkRouterHelper::getUrlOptionsForModel'); } return $url_function($Model); }
function init($options = array()) { $success = $this->_ensureIsActiveRecordInstance($this->_ActiveRecordInstance); $singularized_model_name = AkInflector::underscore(AkInflector::singularize($this->_ActiveRecordInstance->getTableName())); $default_options = array('class_name' => $this->_ActiveRecordInstance->getModelName() . 'IpGeocodeLookup'); $this->options = array_merge($default_options, $options); return $success; }
public function generate() { $destination_path = AK_APP_LIB_DIR . DS . 'generators' . DS . $this->generator_name; $this->assignVarToTemplate('class_name', AkInflector::camelize($this->generator_name)); $this->save($destination_path . DS . $this->generator_name . '_generator.php', $this->render('generator')); $this->save($destination_path . DS . 'templates' . DS . 'template.tpl', $this->render('template')); $this->save($destination_path . DS . 'USAGE', $this->render('usage')); }
public function link_to_node($Node, $options = array()) { $detault_options = array('display' => 'name', 'id' => $Node->id, 'controller' => AkInflector::underscore($Node->getModelName()), 'action' => 'edit'); $options = array_merge($detault_options, $options); $display = $Node->get($options['display']); unset($options['display']); return $this->_controller->url_helper->link_to($display, $options); }
public function init($options = array()) { $success = $this->_ensureIsActiveRecordInstance($this->_ActiveRecordInstance); $singularized_model_name = AkInflector::underscore(AkInflector::singularize($this->_ActiveRecordInstance->getTableName())); $default_options = array('base_path' => AK_BASE_DIR . DS . 'index' . AK_ENVIRONMENT . DS); $this->options = array_merge($default_options, $options); return $success; }
/** * Returns a paginator object * * Options: * 'items_per_page' => 15, // Number of items per page * 'page_var_on_url' => 'page', // This var will be passed thru the url for pointing to current page * 'count_method' => 'count' // This method will be called on selected model to get the total number of items. * 'count_conditions' => null // A string that will be passed as the first parameter (conditions) to the count method * 'count_joins' => null // A string that will be passed as the seccond parameter (join options) to the count method. * 'column_dictionary' => array() // In case you need to map the sort key from the url to the database column you must define an array pair * 'include' => array() // In case current sort column is not found on current model or in the column_dictionary this helper will look for the first associated model witrh a column named like given sort parameter. */ public function getPaginator(&$object, $options = array()) { $default_options = array('items_per_page' => 15, 'page_var_on_url' => 'page', 'count_method' => 'count', 'count_conditions' => null, 'count_joins' => null); $options = array_merge($default_options, $options); $paginator_name = AkInflector::underscore($object->getModelName()) . '_pages'; $this->{$paginator_name} = new AkPaginator($this->_controller, $object->{$options['count_method']}($options['count_conditions'], $options['count_joins']), $options['items_per_page'], @$this->_controller->params[$options['page_var_on_url']]); $this->{$paginator_name}->_ak_options =& $options; return $this->{$paginator_name}; }
/** * @return boolean */ static function includeClass($search_path, $class_name) { $file_name = AkInflector::underscore($class_name) . '.php'; if ($full_filename = self::searchFilenameInPath($search_path, $file_name)) { require_once $full_filename; return true; } return false; }
function _render_menu($type) { $controller =& $this->_controller; $current_controller = AkInflector::urlize($controller->getControllerName()); $current_action = !empty($controller->params['action'])?$controller->params['action']:''; $menu_options = $this->_getMenuOptions($type); $result = ''; $i = 0; foreach ($menu_options as $k=>$menu_option) { $i++; $is_active = (@$controller->{"{$type}_selected_tab"} == $k || $current_controller == $menu_option['url']['controller'] && ( $type == 'admin' || ( empty($menu_option['url']['action']) || $current_action == $menu_option['url']['action']) ) ? true : false); //$is_active ? $controller->capture_helper->_addVarToView("{$type}_selected_tab", $k) : null; if(!empty($menu_option['url'])){ $list_item_options = array( 'id' => $menu_option['id'].'_link', 'class' => 'tab'.($is_active?' active':'') ); }else{ trigger_error($this->t('You need to provide a valid URL for the menu tab.', E_USER_ERROR)); } $show_tab = false; if(is_string($menu_option['url'])){ $show_tab = $this->can($k.' ('.$menu_option['url'].')', 'Admin Menu Tabs'); }elseif(empty($menu_option['url']['action'])){ $show_tab = $this->can($k.' ('.$menu_option['url']['controller'].' controller)', 'Admin Menu Tabs'); }else{ $show_tab = $this->can($k.' ('.$menu_option['url']['controller'].' controller, '.$menu_option['url']['action'].' action)', 'Admin Menu Tabs'); } if(empty($show_tab)){ continue; } $link_options = (array)@$menu_option['link_options']; if($type == 'controller' && !isset($link_options['accesskey'])){ $link_options['accesskey'] = $i; } $access_key_info = isset($link_options['accesskey']) ? ' '.$this->t('(Access key: %key)', array('%key'=>$link_options['accesskey'])) : ''; isset($link_options['title']) ? $link_options['title'] = $this->t($link_options['title']).$access_key_info : null; !empty($access_key_info) && empty($link_options['title']) ? $link_options['title'] = trim($access_key_info,"() ") : null; $result .= $controller->tag_helper->content_tag('li', $controller->url_helper->link_to($this->t($k), $menu_option['url'], $link_options), $list_item_options); } return empty($result) ? '' : '<ul id="'.$type.'_menu">'.$result.'</ul>'; }
function &recognize($Map = null) { AK_ENVIRONMENT != 'setup' ? $this->_connectToDatabase() : null; $this->_startSession(); $this->_enableInternationalizationSupport(); $this->_mapRoutes($Map); $params = $this->getParams(); $module_path = $module_class_peffix = ''; if (!empty($params['module'])) { $module_path = trim(str_replace(array('/', '\\'), DS, Ak::sanitize_include($params['module'], 'high')), DS) . DS; $module_shared_model = AK_CONTROLLERS_DIR . DS . trim($module_path, DS) . '_controller.php'; $module_class_peffix = str_replace(' ', '_', AkInflector::titleize(str_replace(DS, ' ', trim($module_path, DS)))) . '_'; } $controller_file_name = AkInflector::underscore($params['controller']) . '_controller.php'; $controller_class_name = $module_class_peffix . AkInflector::camelize($params['controller']) . 'Controller'; $controller_path = AK_CONTROLLERS_DIR . DS . $module_path . $controller_file_name; include_once AK_APP_DIR . DS . 'application_controller.php'; if (!empty($module_path) && file_exists($module_shared_model)) { include_once $module_shared_model; } if (!is_file($controller_path) || !(include_once $controller_path)) { defined('AK_LOG_EVENTS') && AK_LOG_EVENTS && $this->Logger->error('Controller ' . $controller_path . ' not found.'); if (AK_ENVIRONMENT == 'development') { trigger_error(Ak::t('Could not find the file /app/controllers/<i>%controller_file_name</i> for ' . 'the controller %controller_class_name', array('%controller_file_name' => $controller_file_name, '%controller_class_name' => $controller_class_name)), E_USER_ERROR); } elseif (@(include AK_PUBLIC_DIR . DS . '404.php')) { $response = new AkTestResponse(); $response->addHeader('Status', 404); return false; //exit; } else { //header("HTTP/1.1 404 Not Found"); $response = new AkResponse(); $response->addHeader('Status', 404); return false; //die('404 Not found'); } } if (!class_exists($controller_class_name)) { defined('AK_LOG_EVENTS') && AK_LOG_EVENTS && $this->Logger->error('Controller ' . $controller_path . ' does not implement ' . $controller_class_name . ' class.'); if (AK_ENVIRONMENT == 'development') { trigger_error(Ak::t('Controller <i>%controller_name</i> does not exist', array('%controller_name' => $controller_class_name)), E_USER_ERROR); } elseif (@(include AK_PUBLIC_DIR . DS . '405.php')) { exit; } else { $response = new AkResponse(); $response->addHeader('Status', 405); return false; //header("HTTP/1.1 405 Method Not Allowed"); //die('405 Method Not Allowed'); } } $Controller =& new $controller_class_name(array('controller' => true)); $Controller->_module_path = $module_path; isset($_SESSION) ? $Controller->session =& $_SESSION : null; return $Controller; }
public static function suite() { $class_name = substr(basename(__FILE__), 0, -4); $test_folder = strtolower(substr($class_name, 0, -9)); $suite = new ExamplesTestSuite(AkInflector::titleize($class_name)); $path = dirname(dirname(dirname(__FILE__))) . DIRECTORY_SEPARATOR . $test_folder; $directory = new PHPUnit_Runner_IncludePathTestCollector(array($path)); $suite->addTestFiles($directory->collectTests()); return $suite; }
public function hasCollisions() { $this->collisions = array(); $this->namespace = AkInflector::underscore(Ak::first(explode(':', $this->task_name . ':'))); $this->task_name = AkInflector::underscore(Ak::last(explode(':', ':' . $this->task_name))); $this->destination_path = AK_TASKS_DIR . DS . $this->namespace; if (file_exists($this->destination_path . DS . $this->task_name . '.task.php')) { $this->collisions[] = Ak::t('%path already exists', array('%path' => $this->destination_path . DS . $this->task_name . '.task.php')); } return count($this->collisions) > 0; }
public function __construct($client_driver) { $client_driver = AkInflector::underscore($client_driver); if (in_array($client_driver, $this->_available_drivers)) { $client_class_name = 'Ak' . AkInflector::camelize($client_driver) . 'Client'; require_once AK_ACTION_PACK_DIR . DS . 'action_web_service' . DS . 'clients' . DS . $client_driver . '.php'; $this->_Client = new $client_class_name($this); } else { trigger_error(Ak::t('Invalid Web Service driver provided. Available Drivers are: %drivers', array('%drivers' => join(', ', $this->_available_drivers))), E_USER_WARNING); } }
public function typeCondition($table_alias = null) { $inheritance_column = $this->_ActiveRecord->getInheritanceColumn(); $type_condition = array(); $table_name = $this->_ActiveRecord->getTableName(); $available_types = array_merge(array($this->_ActiveRecord->getModelName()), $this->getSubclasses()); foreach ($available_types as $subclass) { $type_condition[] = ' ' . ($table_alias != null ? $table_alias : $table_name) . '.' . $inheritance_column . ' = \'' . AkInflector::humanize(AkInflector::underscore($subclass)) . '\' '; } return empty($type_condition) ? '' : '(' . join('OR', $type_condition) . ') '; }
function _preloadPaths() { $this->api_name = AkInflector::camelize($this->api_name); $this->api_class_name = $this->api_name . 'Api'; $this->assignVarToTemplate('api_class_name', $this->api_class_name); $this->service_class_name = $this->api_name . 'Service'; $this->assignVarToTemplate('service_class_name', $this->service_class_name); $this->api_path = AK_APIS_DIR . DS . AkInflector::underscore($this->api_class_name) . '.php'; $this->underscored_service_name = AkInflector::underscore($this->api_name); $this->service_path = AK_MODELS_DIR . DS . $this->underscored_service_name . '_service.php'; }
public function &getDatabase($database_name = null) { $database_name = AkInflector::underscore(empty($database_name) ? $this->getOption('database') : $database_name); if (isset($this->_MongoDatabases[$this->_connetion_signature][$database_name])) { return $this->_MongoDatabases[$this->_connetion_signature][$database_name]; } $Database = $this->getConnection()->selectDB($database_name); $this->_authenticateDatabase($Database); $this->_MongoDatabases[$this->_connetion_signature][$database_name] = $Database; return $Database; }
public function install($version = null, $options = array()) { $this->createTable('dummy_posts', 'id, title, body, hip_factor int, comments_count, posted_on, expires_at'); $this->createTable('dummy_comments', 'id,name,body,dummy_post_id,created_at'); $DummyPost = new DummyPost(); $Post = $DummyPost->create(array('title' => 'One', 'body' => 'First post')); foreach (range(1, 5) as $n) { $Post->dummy_comment->add(new DummyComment(array('body' => AkInflector::ordinalize($n) . ' post'))); } $Post->save(); }
public function _preloadPaths() { $this->api_name = AkInflector::camelize($this->api_name); $this->api_class_name = $this->api_name . 'Api'; $this->assignVarToTemplate('api_class_name', $this->api_class_name); $this->service_class_name = $this->api_name . 'Service'; $this->assignVarToTemplate('service_class_name', $this->service_class_name); $this->api_path = AkConfig::getDir('apis') . DS . AkInflector::underscore($this->api_class_name) . '.php'; $this->underscored_service_name = AkInflector::underscore($this->api_name); $this->service_path = AkConfig::getDir('models') . DS . $this->underscored_service_name . '_service.php'; }
function _createNewTestingModelDatabase($test_model_name) { static $shutdown_called; // Create a data dictionary object, using this connection $db =& AK::db(); //$db->debug = true; $table_name = AkInflector::tableize($test_model_name); if (in_array($table_name, (array) $db->MetaTables())) { return false; } switch ($table_name) { case 'ak_test_people': $table = array('table_name' => 'ak_test_people', 'fields' => 'id I AUTO KEY, user_name C(32), first_name C(200), last_name C(200), phone_number I(18), city C(40), state C(40), email C(150), country C(2), sex C(1), birth T, age I(3), password C(32), tos L(1), score I(3), comments X, created_at T, updated_at T, expires T', 'index_fileds' => 'id', 'table_options' => array('mysql' => 'TYPE=InnoDB', 'REPLACE')); break; default: return false; break; } $dict = NewDataDictionary($db); $sqlarray = $dict->CreateTableSQL($table['table_name'], $table['fields'], $table['table_options']); $dict->ExecuteSQLArray($sqlarray); if (isset($table['index_fileds'])) { $sqlarray = $dict->CreateIndexSQL('idx_' . $table['table_name'], $table['table_name'], $table['index_fileds']); $dict->ExecuteSQLArray($sqlarray); } $db->CreateSequence('seq_' . $table['table_name']); $this->_testing_model_databases_to_delete[] = $table_name; if (!isset($shutdown_called)) { $shutdown_called = true; register_shutdown_function(array(&$this, '_deleteTestingModelDatabases')); } //$db->debug = false; return true; }
public function _linkWebServiceApi($api) { $api_path = AkInflector::underscore($api); if (substr($api_path, -4) != '_api') { $api_name_space = $api_path; $api_path = $api_path . '_api'; } else { $api_name_space = substr($api_path, 0, -4); } $api_class_name = AkInflector::camelize($api_path); require_once AkConfig::getDir('apis') . DS . $api_path . '.php'; $this->_apis[$api_name_space] = new $api_class_name(); }
/** * @return TemplatePathsController */ function createControllerFor($action_name, $mime_type = 'html') { $controller_class_name = AkInflector::camelize($this->controller_name) . 'Controller'; $controller = new $controller_class_name(); $Request = $this->createGetRequest($action_name, $mime_type); $Response = $this->getMock('AkResponse', array('outputResults')); $controller->setRequestAndResponse($Request, $Response); $this->Template = $controller->Template = $this->getMock('AkActionView', array('renderFile'), array(AK_VIEWS_DIR . DS . $this->controller_name)); $this->Template->_registerTemplateHandler('tpl', 'AkPhpTemplateHandler'); $this->Template->_registerTemplateHandler('html.tpl', 'AkPhpTemplateHandler'); $this->action_name = $action_name; return $this->Controller = $controller; }
function _linkWebServiceApi($api) { $api_path = AkInflector::underscore($api); if (substr($api_path, -4) != '_api') { $api_name_space = $api_path; $api_path = $api_path . '_api'; } else { $api_name_space = substr($api_path, 0, -4); } $api_class_name = AkInflector::camelize($api_path); require_once AK_LIB_DIR . DS . 'AkActionWebService' . DS . 'AkActionWebServiceApi.php'; require_once AK_APIS_DIR . DS . $api_path . '.php'; $this->_apis[$api_name_space] =& new $api_class_name(); }