SproutCMS

This is the code documentation for the SproutCMS project

class Controller

Kohana Controller class. The controller class must be extended to work
properly, so this class is defined as abstract.

Source code (95 results)

/modules/Demo/admin_load.php   Highlighted file source

Line 17: Register::adminControllers('Karmabunny\Demo', [
Line 18: 'demo_item' => 'Admin\DemoItemAdminController',
Line 19: 'demo_item_category' => 'Admin\DemoItemCategoryAdminController',
Line 20: 'word' => 'Admin\WordAdminController',
Line 21: 'word_category' => 'Admin\WordCategoryAdminController',

/modules/Demo/config/routes.php   Highlighted file source

Line 17: use SproutModules\Karmabunny\Demo\Controllers\MultiStepDemoController;
Line 19: $config[] = MultiStepDemoController::class;

/modules/Demo/Controllers/Admin/DemoItemAdminController.php   Highlighted file source

Line 14: namespace SproutModules\Karmabunny\Demo\Controllers\Admin;
Line 18: use Sprout\Controllers\Admin\HasCategoriesAdminController;
Line 31: class DemoItemAdminController extends HasCategoriesAdminController
Line 33: protected $controller_name = 'demo_item';
Line 63: $url = "admin/call/{$this->controller_name}/runWorker";
Line 80: * Return the sub-actions for adding; for spec {@see AdminController::renderSubActions}
Line 114: * Return the sub-actions for editing; for spec {@see AdminController::renderSubActions}

/modules/Demo/Controllers/Admin/DemoItemCategoryAdminController.php   Highlighted file source

Line 14: namespace SproutModules\Karmabunny\Demo\Controllers\Admin;
Line 16: use Sprout\Controllers\Admin\CategoryAdminController;
Line 22: class DemoItemCategoryAdminController extends CategoryAdminController
Line 24: protected $controller_name = 'demo_item_category';

/modules/Demo/Controllers/Admin/WordAdminController.php   Highlighted file source

Line 14: namespace SproutModules\Karmabunny\Demo\Controllers\Admin;
Line 18: use Sprout\Controllers\Admin\HasCategoriesAdminController;
Line 25: class WordAdminController extends HasCategoriesAdminController
Line 27: protected $controller_name = 'word';
Line 62: * Return the sub-actions for adding; for spec {@see AdminController::renderSubActions}
Line 96: * Return the sub-actions for editing; for spec {@see AdminController::renderSubActions}

/modules/Demo/Controllers/Admin/WordCategoryAdminController.php   Highlighted file source

Line 14: namespace SproutModules\Karmabunny\Demo\Controllers\Admin;
Line 16: use Sprout\Controllers\Admin\CategoryAdminController;
Line 22: class WordCategoryAdminController extends CategoryAdminController
Line 24: protected $controller_name = 'word_category';

/modules/Demo/Controllers/DemoController.php   Highlighted file source

Line 14: namespace SproutModules\Karmabunny\Demo\Controllers;
Line 18: use Sprout\Controllers\Controller;
Line 27: * A basic demonstration of a front-end controller
Line 29: class DemoController extends Controller implements FrontEndEntrance

/modules/Demo/Controllers/MultiStepDemoController.php   Highlighted file source

Line 14: namespace SproutModules\Karmabunny\Demo\Controllers;
Line 21: * A basic demonstration of how {@see MultiStepFormController} works
Line 23: class MultiStepDemoController extends \Sprout\Controllers\MultiStepFormController

/modules/Demo/sprout_load.php   Highlighted file source

Line 5: Register::frontEndController('SproutModules\\Karmabunny\\Demo\\Controllers\\DemoController', 'Demo');

/modules/HarborAndSprout/admin_load.php   Highlighted file source

Line 17: Register::adminControllers('Karmabunny\HarborAndSprout', [
Line 18: 'fruit' => 'Admin\FruitAdminController',
Line 19: 'fruit_category' => 'Admin\FruitCategoryAdminController',

/modules/HarborAndSprout/config/routes.php   Highlighted file source

Line 2: $ns = 'SproutModules\\Karmabunny\\HarborAndSprout\\Controllers\\';
Line 4: $config['google-drive/auth-connect'] = $ns . 'HarborController/googleAuthConnect';
Line 5: $config['google-drive/auth-action'] = $ns . 'HarborController/googleAuthAction';

/modules/HarborAndSprout/Controllers/HarborController.php   Highlighted file source

Line 2: namespace SproutModules\Karmabunny\HarborAndSprout\Controllers;
Line 8: use Sprout\Controllers\Controller;
Line 15: class HarborController extends Controller

/modules/HarborAndSprout/sprout_load.php   Highlighted file source

Line 7: 'class' => 'SproutModules\\Karmabunny\\HarborAndSprout\\Controllers\\HarborController',
Line 14: 'class' => 'SproutModules\\Karmabunny\\HarborAndSprout\\Controllers\\HarborController',

/modules/HomePage/admin_load.php   Highlighted file source

Line 14: Sprout\Helpers\Register::adminControllers('Karmabunny\HomePage', ['home_page' => 'Admin\\HomePageAdminController']);

/modules/HomePage/Controllers/Admin/HomePageAdminController.php   Highlighted file source

Line 14: namespace SproutModules\Karmabunny\HomePage\Controllers\Admin;
Line 16: use Sprout\Controllers\Admin\ManagedAdminController;
Line 17: use Sprout\Controllers\Admin\PageAdminController;
Line 24: class HomePageAdminController extends ManagedAdminController
Line 26: protected $controller_name = 'home_page';
Line 51: * Proxies navigation to the 'page' controller.
Line 55: $pages = new PageAdminController();
Line 61: * Proxies tools to the 'page' controller.
Line 65: $ctlr = new PageAdminController();
Line 71: * Gets the name of the controller to use for the top nav

/modules/HomePage/Controllers/HomePageController.php   Highlighted file source

Line 14: namespace SproutModules\Karmabunny\HomePage\Controllers;
Line 20: use Sprout\Controllers\Controller;
Line 28: class HomePageController extends Controller

/modules/Welcome/config/routes.php   Highlighted file source

Line 17: $ns = 'SproutModules\\Karmabunny\\Welcome\\Controllers\\';
Line 20: $config[''] = $ns . 'WelcomeController/redirect';
Line 23: $config['welcome/info'] = $ns . 'WelcomeController/phpInfo';
Line 26: $config['welcome/checklist'] = $ns . 'WelcomeController/checklist';
Line 27: $config['welcome/run_test/([_a-z]+)'] = $ns . 'WelcomeController/runTest/$1';
Line 28: $config['welcome/db_conf_form'] = $ns . 'WelcomeController/dbConfForm';
Line 29: $config['welcome/db_conf_test'] = $ns . 'WelcomeController/dbConfTest';
Line 30: $config['welcome/db_conf_result'] = $ns . 'WelcomeController/dbConfResult';
Line 31: $config['welcome/db_conf_database'] = $ns . 'WelcomeController/dbConfDatabase';
Line 32: $config['welcome/db_conf_hosts'] = $ns . 'WelcomeController/dbConfHosts';
Line 33: $config['welcome/db_conf_password'] = $ns . 'WelcomeController/dbConfPassword';
Line 34: $config['welcome/sync'] = $ns . 'WelcomeController/sync';
Line 35: $config['welcome/super_op_form'] = $ns . 'WelcomeController/superOperatorForm';
Line 36: $config['welcome/super_op_action'] = $ns . 'WelcomeController/superOperatorAction';
Line 37: $config['welcome/super_op_result'] = $ns . 'WelcomeController/superOperatorResult';
Line 38: $config['welcome/super_op_conf'] = $ns . 'WelcomeController/superOperatorConf';
Line 39: $config['welcome/add_sample_action'] = $ns . 'WelcomeController/addSampleAction';

/modules/Welcome/Controllers/WelcomeController.php   Highlighted file source

Line 14: namespace SproutModules\Karmabunny\Welcome\Controllers;
Line 21: use Sprout\Controllers\Controller;
Line 45: class WelcomeController extends Controller

/sprout/config/page.php   Highlighted file source

Line 21: * @see PageAdminController

/sprout/config/routes.php   Highlighted file source

Line 23: * Default controller to use
Line 25: $config['_default'] = 'SproutModules\Karmabunny\HomePage\Controllers\HomePageController';
Line 28: // $config['admin/edit/.+'] = 'AdminController/edit/$1';
Line 29: $config['admin_ajax/widget_settings/([^/]+)'] = 'AdminAjaxController/widgetSettings/$1';
Line 30: $config['admin_ajax/widget_disp_conds'] = 'AdminAjaxController/widgetDispConds';
Line 31: $config['admin_ajax/widget_disp_cond_params'] = 'AdminAjaxController/widgetDispCondParams';
Line 32: $config['admin_ajax/add_addon/([0-9]+)/([^/]+)'] = 'AdminAjaxController/addAddon/$1/$2';
Line 33: $config['admin_ajax/footer_compat'] = 'AdminAjaxController/footerCompat';
Line 34: $config['admin_ajax/get_tag_suggestions/([^/]+)'] = 'AdminAjaxController/getTagSuggestions/$1';
Line 35: $config['admin_ajax/get_tag_suggestions'] = 'AdminAjaxController/getTagSuggestions';
Line 36: $config['admin_ajax/get_entrance_arguments/([^/]+)'] = 'AdminAjaxController/getEntranceArguments/$1';
Line 37: $config['admin_ajax/get_entrance_arguments'] = 'AdminAjaxController/getEntranceArguments';
Line 38: $config['admin_ajax/add_category'] = 'AdminAjaxController/addCategory';
Line 39: $config['admin_ajax/attr_editor'] = 'AdminAjaxController/attrEditor';
Line 40: $config['admin_ajax/lnk_editor'] = 'AdminAjaxController/lnkEditor';
Line 41: $config['admin_ajax/tour_complete/([-_a-zA-Z0-9]+)'] = 'AdminAjaxController/setTourCompleted/$1';
Line 42: $config['admin_ajax/richtext_import/([^/]+)'] = 'AdminAjaxController/richtextImport/$1';
Line 43: $config['admin_ajax/richtext_import_iframe'] = 'AdminAjaxController/richtextImportIframe';
Line 44: $config['admin_ajax/lnk_editor'] = 'AdminAjaxController/lnkEditor';
Line 45: $config['admin_ajax/style_guide_demo_conditions'] = 'AdminAjaxController/styleGuideDemoConditions';
Line 47: $config['admin/?'] = 'AdminController/index';
Line 48: $config['admin/login'] = 'AdminController/login';
Line 49: $config['admin/login_action'] = 'AdminController/loginAction';
Line 50: $config['admin/login-two-factor'] = 'AdminController/loginTwoFactor';
Line 51: $config['admin/login-two-factor-action'] = 'AdminController/loginTwoFactorAction';
Line 52: $config['admin/logout'] = 'AdminController/logout';
Line 53: $config['admin/set_richtext/([^/]+)'] = 'AdminController/setRichtext/$1';
Line 54: $config['admin/style_guide'] = 'AdminController/styleGuide/index';
Line 55: $config['admin/style_guide/([_a-z]+)'] = 'AdminController/styleGuide/$1';
Line 56: $config['admin/dashboard'] = 'AdminController/dashboard';
Line 57: $config['admin/close_firstrun'] = 'AdminController/closeFirstrun';
Line 58: $config['admin/intro/([^/]+)'] = 'AdminController/intro/$1';
Line 59: $config['admin/search/([^/]+)'] = 'AdminController/search/$1';
Line 60: $config['admin/contents/([^/]+)'] = 'AdminController/contents/$1';
Line 61: $config['admin/export/([^/]+)'] = 'AdminController/export/$1';
Line 62: $config['admin/export_action/([^/]+)'] = 'AdminController/exportAction/$1';
Line 63: $config['admin/import_upload/([^/]+)'] = 'AdminController/importUpload/$1';
Line 64: $config['admin/import_upload_action/([^/]+)'] = 'AdminController/importUploadAction/$1';
Line 65: $config['admin/import_options/([^/]+)'] = 'AdminController/importOptions/$1';
Line 66: $config['admin/import_action/([^/]+)'] = 'AdminController/importAction/$1';
Line 67: $config['admin/add/([^/]+)'] = 'AdminController/add/$1';
Line 68: $config['admin/add_save/([^/]+)'] = 'AdminController/addSave/$1';
Line 69: $config['admin/edit/([^/]+)/([0-9]+)'] = 'AdminController/edit/$1/$2';
Line 70: $config['admin/edit_save/([^/]+)/([0-9]+)'] = 'AdminController/editSave/$1/$2';
Line 71: $config['admin/delete/([^/]+)/([0-9]+)'] = 'AdminController/delete/$1/$2';
Line 72: $config['admin/delete_save/([^/]+)/([0-9]+)'] = 'AdminController/deleteSave/$1/$2';
Line 73: $config['admin/restore/([0-9]+)'] = 'AdminController/restore/$1';
Line 74: $config['admin/duplicate/([^/]+)/([0-9]+)'] = 'AdminController/duplicate/$1/$2';
Line 75: $config['admin/duplicate_save/([^/]+)/([0-9]+)'] = 'AdminController/duplicateSave/$1/$2';
Line 76: $config['admin/moderate'] = 'AdminController/moderate';
Line 77: $config['admin/moderate_action'] = 'AdminController/moderateAction';
Line 78: $config['admin/extra/(.+)'] = 'AdminController/extra/$1';
Line 79: $config['admin/call/([^/]+)/(.+)'] = 'AdminController/call/$1/$2';
Line 80: $config['admin/set_active_subsite'] = 'AdminController/setActiveSubsite';
Line 81: $config['admin/ajax_unlock'] = 'AdminController/ajaxUnlock';
Line 82: $config['admin/user-agent'] = 'AdminController/userAgent';
Line 83: $config['admin/heartbeat'] = 'AdminController/heartbeat';
Line 85: $config['content_subscribe/unsub/([0-9]+)/([a-z0-9]+)'] = 'Sprout\\Controllers\\ContentSubscribeController/unsub/$1/$2';
Line 86: $config['content_subscribe/unsub_action/([0-9]+)/([a-z0-9]+)'] = 'Sprout\\Controllers\\ContentSubscribeController/unsubAction/$1/$2';
Line 88: $config['dbtools/?'] = 'DbToolsController/index';
Line 89: $config['dbtools/(.+)'] = 'DbToolsController/$1';
Line 91: $config['email_share/share'] = 'Sprout\\Controllers\\EmailShareController/share';
Line 92: $config['email_share/submit'] = 'Sprout\\Controllers\\EmailShareController/submit';
Line 93: $config['email_share/thanks'] = 'Sprout\\Controllers\\EmailShareController/thanks';
Line 95: $config['page/view_by_name/([^/]+)'] = 'Sprout\\Controllers\\PageController/viewByName/$1';
Line 96: $config['page/view_by_id/([0-9]+)'] = 'Sprout\\Controllers\\PageController/viewById/$1';
Line 97: $config['page/view_specific_rev/([0-9]+)/([0-9]+(?:/[a-zA-Z0-9]+)?)'] = 'Sprout\\Controllers\\PageController/viewSpecificRev/$1/$2';
Line 98: $config['page/preview_store/([0-9]+)'] = 'Sprout\\Controllers\\PageController/previewStore/$1';
Line 99: $config['page/preview/([0-9]+)'] = 'Sprout\\Controllers\\PageController/preview/$1';
Line 100: $config['page/additional_css/([0-9]+)/([^/]+)'] = 'Sprout\\Controllers\\PageController/additionalCss/$1/$2';
Line 101: $config['page/additional_css/([0-9]+)'] = 'Sprout\\Controllers\\PageController/additionalCss/$1';
Line 102: $config['page/front_end_search/([0-9]+)/([^/]+)/([^/]+)'] = 'Sprout\\Controllers\\PageController/frontEndSearch/$1/$2/$3';
Line 103: $config['page/review/([0-9]+)'] = 'Sprout\\Controllers\\PageController/review/$1';
Line 105: $config['search(?:/(?:index)?)?'] = 'Sprout\\Controllers\\SearchController/index';
Line 107: $config['file/resize/([^/]+)/([^/]+)'] = 'Sprout\\Controllers\\FileController/resize/$1/$2';
Line 108: $config['file/redirect_resize/([^/]+)/([^/]+)'] = 'Sprout\\Controllers\\FileController/redirectResize/$1/$2';
Line 109: $config['file/play_audio/([^/]+)'] = 'Sprout\\Controllers\\FileController/playAudio/$1';
Line 110: $config['file/download/([0-9]+)(?:/([a-z_]+))?'] = 'Sprout\\Controllers\\FileController/download/$1/$2';
Line 111: $config['file/name_lookup'] = 'Sprout\\Controllers\\FileController/nameLookup';
Line 113: $config['tinymce4/image'] = 'Tinymce4Controller/image';
Line 114: $config['tinymce4/image_list/([0-9]+)'] = 'Tinymce4Controller/imageList/$1';
Line 115: $config['tinymce4/image_search'] = 'Tinymce4Controller/imageSearch';
Line 116: $config['tinymce4/image_size/([0-9]+)'] = 'Tinymce4Controller/imageSize/$1';
Line 117: $config['tinymce4/library'] = 'Tinymce4Controller/library';
Line 118: $config['tinymce4/library_search'] = 'Tinymce4Controller/librarySearch';
Line 119: $config['tinymce4/library_browse/([^/]+)'] = 'Tinymce4Controller/libraryBrowse/$1';
Line 120: $config['tinymce4/video'] = 'Tinymce4Controller/video';
Line 121: $config['tinymce4/video_list/([0-9]+)'] = 'Tinymce4Controller/videoList/$1';
Line 122: $config['tinymce4/video_search'] = 'Tinymce4Controller/videoSearch';
Line 123: $config['tinymce4/upload'] = 'Tinymce4Controller/upload';
Line 124: $config['tinymce4/gallery'] = 'Tinymce4Controller/gallery';
Line 126: $config['cron_job/run/([a-zA-Z0-9_]+)'] = 'CronJobController/run/$1';
Line 127: $config['cron_job/runJob'] = 'CronJobController/runJob';
Line 129: $config['worker_job/run/([0-9]+)/([a-zA-Z0-9]+)'] = 'WorkerJobController/run/$1/$2';
Line 131: $config['locale/get_address_fields/([^/]+)'] = 'LocaleController/getAddressFields/$1';
Line 132: $config['locale/get_address_fields_required/([^/]+)'] = 'LocaleController/getAddressFieldsRequired/$1';
Line 135: $config['robots\.txt'] = 'SeoController/robots';
Line 137: $config['robots\.txt'] = 'SeoController/robotsDeny';
Line 140: $config['seo/xmlSitemap'] = 'SeoController/xmlSitemap';
Line 142: $config['embed_video/thumb/([^/]+)/([^/]+)/([^/]+)'] = 'EmbedVideoController/thumb/$1/$2/$3';
Line 144: $config['file_upload/upload_begin'] = 'Sprout\\Controllers\\FileUploadController/uploadBegin';
Line 145: $config['file_upload/upload_chunk'] = 'Sprout\\Controllers\\FileUploadController/uploadChunk';
Line 146: $config['file_upload/upload_done'] = 'Sprout\\Controllers\\FileUploadController/uploadDone';
Line 147: $config['file_upload/upload_form'] = 'Sprout\\Controllers\\FileUploadController/uploadForm';
Line 148: $config['file_upload/upload_cancel'] = 'Sprout\\Controllers\\FileUploadController/uploadCancel';
Line 150: $config['captcha/image/([0-9]+)'] = 'Sprout\\Controllers\\CaptchaController/image/$1';
Line 151: $config['captcha/about'] = 'Sprout\\Controllers\\CaptchaController/about';
Line 153: $config['advanced_search'] = 'Sprout\\Controllers\\AdvancedSearchController/index';
Line 155: $config['result/(error|success)'] = 'Sprout\\Controllers\\ResultController/$1';

/sprout/Controllers/Admin/ActionLogAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 37: class ActionLogAdminController extends ManagedAdminController
Line 39: protected $controller_name = 'action_log';
Line 139: $ctlr_class = $view->data['controller'];
Line 142: $view->controller = $ctlr->getControllerName();

/sprout/Controllers/Admin/CategoryAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 34: * This is a generic controller which category controllers should extend.
Line 36: abstract class CategoryAdminController extends ManagedAdminController {
Line 37: protected $controller_name;
Line 55: * Instance of the parent controller
Line 62: $base_name = str_replace('_category', '', $this->controller_name);
Line 65: $parent_class = preg_replace('/CategoryAdminController$/', 'AdminController', get_class($this));
Line 74: * Return the instance of the parent controller
Line 82: * Proxy for top nav name => the main controller class
Line 90: * Proxy for navigation => the main controller class
Line 98: * Proxy for tools => the main controller class
Line 141: $view->controller_name = $this->controller_name;
Line 217: $view->controller_name = $this->controller_name;
Line 248: Url::redirect('admin/edit/' . $this->controller_name . '/' . $item_id);
Line 296: $main_controller = str_replace('_category', '', $this->controller_name);
Line 297: $main_table = Inflector::plural($main_controller);
Line 306: INNER JOIN ~{$joiner_table} AS joiner ON joiner.{$main_controller}_id = main.id
Line 311: $view->controller_name = $this->controller_name;
Line 337: Url::redirect('admin/delete/' . $this->controller_name . '/' . $id);
Line 340: $main_controller = str_replace('_category', '', $this->controller_name);
Line 341: $main_table = Inflector::plural($main_controller);
Line 352: INNER JOIN ~{$joiner_table} AS joiner ON joiner.{$main_controller}_id = main.id
Line 383: if (! AdminPerms::controllerAccess($this->parent_inst->getControllerName(), 'reorder')) {
Line 387: $item_name = str_replace('_category', '', $this->controller_name);
Line 421: $view->controller_name = $this->controller_name;
Line 439: if (! AdminPerms::controllerAccess($this->parent_inst->getControllerName(), 'reorder')) {
Line 441: Url::redirect('admin/contents/' . $this->controller_name);
Line 444: $item_name = str_replace('_category', '', $this->controller_name);
Line 469: if (! AdminPerms::controllerAccess($this->parent_inst->getControllerName(), 'categories')) {
Line 483: $view->action = 'admin/call/' . $this->controller_name . '/reorderCategoriesSave';
Line 498: if (! AdminPerms::controllerAccess($this->parent_inst->getControllerName(), 'categories')) {
Line 500: Url::redirect('admin/contents/' . $this->controller_name);
Line 513: $item_name = str_replace('_category', '', $this->controller_name);

/sprout/Controllers/Admin/ContentSubscriptionAdminController.php   Highlighted file source

Line 13: namespace Sprout\Controllers\Admin;
Line 24: class ContentSubscriptionAdminController extends ManagedAdminController
Line 26: protected $controller_name = 'content_subscription';
Line 60: * @param anything $unused Not used in this controller, but used by has_categories
Line 77: $itemlist->addAction('Duplicate', "SITE/admin/duplicate/{$this->controller_name}/%%", 'button-grey icon-before icon-add');
Line 80: $itemlist->addAction('Delete', "SITE/admin/delete/{$this->controller_name}/%%", 'button button-red icon-before icon-delete');
Line 97: $outer->controller_name = $this->controller_name;

/sprout/Controllers/Admin/CronJobAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 33: class CronJobAdminController extends ListAdminController
Line 35: protected $controller_name = 'cron_job';
Line 162: ['Sprout\\Controllers\\Controller']

/sprout/Controllers/Admin/DocumentTypeAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 24: class DocumentTypeAdminController extends ListAdminController
Line 26: protected $controller_name = 'document_type';
Line 68: * Return the sub-actions for adding; for spec {@see AdminController::renderSubActions}
Line 106: * Return the sub-actions for editing; for spec {@see AdminController::renderSubActions}

/sprout/Controllers/Admin/EmailTextAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 24: class EmailTextAdminController extends ManagedAdminController
Line 26: protected $controller_name = 'email_text';
Line 72: * Return the sub-actions for editing; for spec {@see AdminController::renderSubActions}

/sprout/Controllers/Admin/ExtraPageAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 29: class ExtraPageAdminController extends ManagedAdminController
Line 31: protected $controller_name = 'extra_page';
Line 150: * Return the sub-actions for adding; for spec {@see AdminController::renderSubActions}
Line 205: * Return the sub-actions for editing; for spec {@see AdminController::renderSubActions}

/sprout/Controllers/Admin/FileAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 60: class FileAdminController extends HasCategoriesAdminController implements FrontEndSearch
Line 62: protected $controller_name = 'file';
Line 514: // The file upload controller has a perfect implementation of this, so just use that
Line 515: $ctlr = new \Sprout\Controllers\FileUploadController();
Line 573: if (! AdminPerms::controllerAccess('file', 'add')) {
Line 652: if (!AdminPerms::controllerAccess('file', 'categories')) {
Line 740: * Return the sub-actions for editing; for spec {@see AdminController::renderSubActions}
Line 748: 'url' => 'admin/extra/' . $this->controller_name . '/find_usage/' . $item_id,
Line 998: * They are removed later, when the deletion log is cleared; see {@see ActionLogAdminController::cronCleanup}.
Line 1283: $view->controller_name = $this->controller_name;
Line 1367: if (! AdminPerms::controllerAccess('file', 'add')) {
Line 1370: if (! AdminPerms::controllerAccess('file', 'contents')) {
Line 1373: $view->cat_create = AdminPerms::controllerAccess('file', 'categories');
Line 1384: if (! AdminPerms::controllerAccess('file', 'contents')) {
Line 1565: $cont = new \Sprout\Controllers\FileController();

/sprout/Controllers/Admin/FileCategoryAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 20: class FileCategoryAdminController extends CategoryAdminController
Line 22: protected $controller_name = 'file_category';

/sprout/Controllers/Admin/HasCategoriesAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 39: * An abstract class for controllers of things which have categories.
Line 41: abstract class HasCategoriesAdminController extends ManagedAdminController {
Line 42: protected $controller_name;
Line 191: $view->controller_name = $this->controller_name;
Line 218: $tools['reorder'] = "<li class=\"reorder\"><a href=\"admin/extra/{$this->controller_name}_category/reorder_categories\">Reorder Categories</a></li>";
Line 259: * Returns the main list of records for this controller
Line 334: $_GET['main_mode'] = @$_SESSION['admin'][$this->controller_name]['main_mode'];
Line 336: $_SESSION['admin'][$this->controller_name]['main_mode'] = $_GET['main_mode'];
Line 414: $itemlist->addAction('edit', "SITE/admin/edit/{$this->controller_name}/%%");
Line 419: $itemlist->addAction('Duplicate', "SITE/admin/duplicate/{$this->controller_name}/%%", 'button-grey icon-before icon-add');
Line 422: $itemlist->addAction('Delete', "SITE/admin/delete/{$this->controller_name}/%%", 'button button-red icon-before icon-delete');
Line 439: $outer->controller_name = $this->controller_name;
Line 543: $view = new View("{$view_dir}/admin/{$this->controller_name}_add");
Line 546: $view->controller_name = $this->controller_name;
Line 612: $view = new View("{$view_dir}/admin/{$this->controller_name}_edit");
Line 627: $view->controller_name = $this->controller_name;
Line 668: // Clobber duplication fields with any defaults defined in controller
Line 692: WHERE {$this->controller_name}_id = ?";
Line 708: $view = new View("{$view_dir}/admin/{$this->controller_name}_edit");
Line 710: $view->controller_name = $this->controller_name;
Line 764: * Updates the category table for this controller (so for articles, the updated table will be articles_cat_join)
Line 780: $item_column = $this->controller_name . '_id';
Line 808: $this->logAddCategory(Inflector::plural($this->controller_name), $item_id, $cat_id);
Line 818: $this->logDeleteCategory(Inflector::plural($this->controller_name), $item_id, $cat_id);
Line 831: if (! AdminPerms::controllerAccess($this->getControllerName(), 'edit')) {
Line 837: Url::redirect('admin/contents/' . $this->controller_name);
Line 844: $view->controller_name = $this->controller_name;
Line 878: if (! AdminPerms::controllerAccess($this->getControllerName(), 'edit')) {
Line 880: Url::redirect('admin/contents/' . $this->controller_name);
Line 885: Url::redirect('admin/contents/' . $this->controller_name);
Line 890: Url::redirect('admin/extra/' . $this->controller_name . '/multi_categorise' . '?' . http_build_query($_POST));
Line 901: Url::redirect('admin/contents/' . $this->controller_name);
Line 920: Url::redirect('admin/contents/' . $this->controller_name);

/sprout/Controllers/Admin/ListAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 28: * Any controller which is essentially a short list of items, which are not substantial enough
Line 31: * Required fields for a list controller table:
Line 36: abstract class ListAdminController extends ManagedAdminController {
Line 57: $view->controller_name = $this->controller_name;
Line 80: $items[] = "<li class=\"reorder\"><a href=\"admin/call/{$this->controller_name}/reorder\" onclick=\"$.facebox({'ajax':this.href}); return false;\">Reorder</a></li>";
Line 125: $view->controller_name = $this->controller_name;
Line 155: Url::redirect("admin/intro/" . $this->controller_name);

/sprout/Controllers/Admin/ManagedAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 19: use Sprout\Controllers\Controller;
Line 49: * This is a generic controller which all controllers which are managed in the admin area should extend.
Line 51: * Required fields for a managed controller table:
Line 57: abstract class ManagedAdminController extends Controller {
Line 59: * This is the name of the controller - should match the class name, but without the '_Controller' bit.
Line 61: protected $controller_name;
Line 64: * This is the friendly name of the controller. In 99% of cases, should be the plural form of the controller name
Line 74: * This is the name of the table to get data from. Will be automatically deducted from the controller name if not specified
Line 153: /** Should this controller log add/edit/delete actions? */
Line 183: if ($this->controller_name == '') throw new Exception ('Managed controller without a defined name!');
Line 184: if ($this->friendly_name == '') throw new Exception ('Managed controller without a defined friendly name!');
Line 217: * Most controllers which need a custom refine bar should call this before adding their own search widgets
Line 236: * Initialises the table name if it isn't already set, using the plural of the shorthand controller name
Line 242: $this->table_name = Inflector::plural($this->controller_name);
Line 247: * Returns the defined controller name.
Line 249: final public function getControllerName() {
Line 250: return $this->controller_name;
Line 254: * Returns the defined controller friendly name
Line 261: * Returns the defined controller navigation name
Line 275: * Gets the name of the controller to use for the top nav
Line 279: return $this->controller_name;
Line 298: * Returns the intro HTML for this controller.
Line 302: Url::redirect('admin/contents/' . $this->controller_name);
Line 378: $export->controller_name = $this->controller_name;
Line 545: $view = new View("sprout/admin/{$this->controller_name}_import");
Line 549: $view->controller_name = $this->controller_name;
Line 886: $view->controller_name = $this->controller_name;
Line 915: // Determine if per-record permissions used for this controller
Line 918: $restrict = PerRecordPerms::controllerRestricted($this);
Line 924: array_unshift($params, $this->controller_name);
Line 926: ON rec_perm.controller = ? AND item.id = rec_perm.item_id";
Line 945: * Return HTML which represents a list of records for this controller
Line 992: $_GET['main_mode'] = @$_SESSION['admin'][$this->controller_name]['main_mode'];
Line 994: $_SESSION['admin'][$this->controller_name]['main_mode'] = $_GET['main_mode'];
Line 1047: * @param anything $unused Not used in this controller, but used by has_categories
Line 1059: * @param anything $unused Not used in this controller, but used by has_categories
Line 1072: $itemlist->addAction('edit', "SITE/admin/edit/{$this->controller_name}/%%");
Line 1077: $itemlist->addAction('Duplicate', "SITE/admin/duplicate/{$this->controller_name}/%%", 'button-grey icon-before icon-add');
Line 1080: $itemlist->addAction('Delete', "SITE/admin/delete/{$this->controller_name}/%%", 'button button-red icon-before icon-delete');
Line 1097: $outer->controller_name = $this->controller_name;
Line 1218: $view = new View("{$view_dir}/admin/{$this->controller_name}_add");
Line 1221: $view->controller_name = $this->controller_name;
Line 1304: * These are rendered into HTML using {@see AdminController::renderSubActions}
Line 1391: $view = new View("{$view_dir}/admin/{$this->controller_name}_edit");
Line 1406: $view->controller_name = $this->controller_name;
Line 1448: * These are rendered into HTML using {@see AdminController::renderSubActions}
Line 1462: 'url' => 'admin/delete/' . $this->controller_name . '/' . $item_id,
Line 1526: * These are rendered into HTML using {@see AdminController::renderSubActions}
Line 1549: // Clobber duplication fields with any defaults defined in controller
Line 1579: $view = new View("{$view_dir}/admin/{$this->controller_name}_edit");
Line 1581: $view->controller_name = $this->controller_name;
Line 1633: $view = new View("{$this->getModulePath()}/admin/{$this->controller_name}_delete");
Line 1637: $view->controller_name = $this->controller_name;
Line 1647: 'content' => "Invalid id specified - {$this->controller_name} does not exist",
Line 1672: * These are rendered into HTML using {@see AdminController::renderSubActions}
Line 1681: 'url' => 'admin/edit/' . $this->controller_name . '/' . $item_id,
Line 1738: * Return the navigation for this controller
Line 1758: $tools['import'] = "<li class=\"import\"><a href=\"SITE/admin/import_upload/{$this->controller_name}\">Import {$friendly}</a></li>";
Line 1759: $tools['export'] = "<li class=\"export\"><a href=\"SITE/admin/export/{$this->controller_name}\">Export {$friendly}</a></li>";
Line 1791: if (! AdminPerms::controllerAccess($this->getControllerName(), 'delete')) {
Line 1797: Url::redirect('admin/contents/' . $this->controller_name);
Line 1801: $view->controller_name = $this->controller_name;
Line 1815: if (! AdminPerms::controllerAccess($this->getControllerName(), 'delete')) {
Line 1817: Url::redirect('admin/contents/' . $this->controller_name);
Line 1822: Url::redirect('admin/contents/' . $this->controller_name);
Line 1850: Url::redirect('admin/contents/' . $this->controller_name);
Line 1861: if (! AdminPerms::controllerAccess($this->getControllerName(), 'edit')) {

/sprout/Controllers/Admin/MySettingsAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 33: class MySettingsAdminController extends NoRecordsAdminController
Line 35: protected $controller_name = 'my_settings';

/sprout/Controllers/Admin/NoRecordsAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 18: * Provides a base class for controllers which don't manage records, but are just a set of tools
Line 20: abstract class NoRecordsAdminController extends ManagedAdminController

/sprout/Controllers/Admin/OperatorAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 33: class OperatorAdminController extends HasCategoriesAdminController
Line 41: protected $controller_name = 'operator';
Line 116: * Return the sub-actions for adding; for spec {@see AdminController::renderSubActions}

/sprout/Controllers/Admin/OperatorCategoryAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 29: class OperatorCategoryAdminController extends CategoryAdminController
Line 31: protected $controller_name = 'operator_category';
Line 63: $controllers = Register::getAdminControllers();
Line 65: // Remove category controllers, use controller friendly name
Line 66: foreach ($controllers as $shorthand => $ctlr_class) {
Line 68: if ($reflect->isSubclassOf('Sprout\\Controllers\\Admin\\CategoryAdminController')) {
Line 69: unset($controllers[$shorthand]);
Line 73: $controllers[$shorthand] = $props['friendly_name'];
Line 76: asort($controllers);
Line 77: $view->controllers = $controllers;
Line 81: $view->data['multiedit_permissions'] = MultiEdit::load('operatorcategory_permissions', ['operatorcategory_id' => $item_id], 'controller');
Line 176: $update_fields['controller'] = $data['controller'];

/sprout/Controllers/Admin/PageAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 21: use Sprout\Controllers\PageController;
Line 77: class PageAdminController extends TreeAdminController
Line 79: protected $controller_name = 'page';
Line 157: if (!empty($_SESSION['admin'][$this->controller_name . '_nav'])) {
Line 158: $nodes_string = "'" . implode ("', '", $_SESSION['admin'][$this->controller_name . '_nav']) . "'";
Line 166: $view->controller_name = $this->controller_name;
Line 183: * Return the sub-actions for adding; for spec {@see AdminController::renderSubActions}
Line 246: // Controller list for entrance dropdown
Line 247: $front_end_controllers = Register::getFrontEndControllers();
Line 248: asort($front_end_controllers);
Line 251: $controller_arguments = [];
Line 252: if (!empty($data['controller_entrance'])) {
Line 253: $inst = Sprout::instance($data['controller_entrance']);
Line 255: $controller_arguments = $inst->_getEntranceArguments();
Line 256: if (empty($controller_arguments)) {
Line 257: $controller_arguments = ['' => '- Nothing available -'];
Line 275: $view->front_end_controllers = $front_end_controllers;
Line 276: $view->controller_arguments = $controller_arguments;
Line 319: $valid->required(['controller_entrance']);
Line 320: $valid->check('controller_entrance', 'Validity::length', 1, 200);
Line 321: if (!self::checkControllerEntrance($_POST['controller_entrance'], $page_id)) {
Line 322: $valid->addFieldError('controller_entrance', 'Invalid value');
Line 325: // Tell core AdminController the right URL to redirect to upon validation error
Line 394: $update_fields['controller_entrance'] = $_POST['controller_entrance'];
Line 395: $update_fields['controller_argument'] = $_POST['controller_argument'];
Line 444: return 'admin/edit/' . $this->controller_name . '/' . $page_id . '?suppress=true';
Line 1072: // Controller list for entrance dropdown
Line 1073: $front_end_controllers = Register::getFrontEndControllers();
Line 1074: asort($front_end_controllers);
Line 1077: $controller_arguments = array();
Line 1078: if ($data['controller_entrance']) {
Line 1079: $inst = Sprout::instance($data['controller_entrance']);
Line 1081: $controller_arguments = $inst->_getEntranceArguments();
Line 1082: if (empty($controller_arguments)) {
Line 1083: $controller_arguments = array('' => '- Nothing available -');
Line 1148: $view->front_end_controllers = $front_end_controllers;
Line 1149: $view->controller_arguments = $controller_arguments;
Line 1279: $q = "SELECT page.*, rev.type, rev.controller_entrance, rev.controller_argument, rev.redirect
Line 1412: if ($orig_page['controller_entrance'] != $_POST['controller_entrance']) $revision_changed = true;
Line 1413: if ($orig_page['controller_argument'] != $_POST['controller_argument']) $revision_changed = true;
Line 1424: if (empty($_POST['controller_argument'])) {
Line 1425: $_POST['controller_argument'] = '';
Line 1476: $valid->required(['controller_entrance', 'controller_argument']);
Line 1477: $valid->check('controller_entrance', 'Validity::length', 1, 200);
Line 1478: if (!self::checkControllerEntrance($_POST['controller_entrance'], $page_id)) {
Line 1479: $valid->addFieldError('controller_entrance', 'Invalid value');
Line 1599: $update_fields['controller_entrance'] = $_POST['controller_entrance'];
Line 1600: $update_fields['controller_argument'] = $_POST['controller_argument'];
Line 1798: $view->controller_name = $this->controller_name;
Line 2031: $list->addAction('edit', "SITE/admin/edit/{$this->controller_name}/%%");
Line 2063: * Returns the intro HTML for this controller.
Line 2064: * Looks for a view named "admin/<controller-name>_intro", and loads it if found.
Line 2070: $intro->controller_name = $this->controller_name;
Line 2087: $itemlist->addAction('edit', "SITE/admin/edit/{$this->controller_name}/%%");
Line 2194: * Validate given controller implements FrontEndEntrance
Line 2196: * @param string $controller Controller class
Line 2200: private static function checkControllerEntrance($controller, $page_id)
Line 2204: $front_end_controllers = Register::getFrontEndControllers();
Line 2205: if (empty($front_end_controllers[$controller])) return false;
Line 2207: $inst = Sprout::instance($controller);
Line 2290: if ($_SESSION['admin'][$this->controller_name . '_nav'] == null) $_SESSION['admin'][$this->controller_name . '_nav'] = array();
Line 2291: if ($_POST['dir'] != '/' and !in_array ($_POST['dir'], $_SESSION['admin'][$this->controller_name . '_nav'])) {
Line 2292: $_SESSION['admin'][$this->controller_name . '_nav'][] = $_POST['dir'];
Line 2304: if (empty($_SESSION['admin'][$this->controller_name . '_nav'])) return;
Line 2306: $index = array_search ($_POST['dir'], $_SESSION['admin'][$this->controller_name . '_nav']);
Line 2307: unset ($_SESSION['admin'][$this->controller_name . '_nav'][$index]);
Line 2336: $view->controller_name = $this->controller_name;
Line 2465: $items[] = "<li class=\"action-log\"><a href=\"SITE/admin/search/{$this->controller_name}\">Search pages</a></li>";
Line 2473: $items[] = "<li class=\"reorder\"><a href=\"admin/call/{$this->controller_name}/reorderTop\" onclick=\"$.facebox({'ajax':this.href}); return false;\">Reorder top-level</a></li>";
Line 2765: $ctlr = new PageController();

/sprout/Controllers/Admin/PerRecordPermissionAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 35: * Manages which controllers have per-record permissions enabled
Line 37: class PerRecordPermissionAdminController extends NoRecordsAdminController
Line 39: protected $controller_name = 'per_record_permission';
Line 41: protected $table_name = 'per_record_controllers';
Line 45: * Gets the list of controllers which can have per-category permissions set
Line 49: protected function getControllerList()
Line 51: $controllers = Register::getAdminControllers();
Line 53: unset($controllers['page']); // already has tree-based permissions system
Line 54: unset($controllers['file']); // quite complex to implement with file selectors
Line 59: unset($controllers['form_submission']);
Line 61: foreach ($controllers as $shorthand => $ctlr_class) {
Line 65: // Ignore category controllers
Line 66: if ($reflect->isSubclassOf('Sprout\\Controllers\\Admin\\CategoryAdminController')) {
Line 67: unset($controllers[$shorthand]);
Line 71: // Ignore controllers without records
Line 72: if ($reflect->isSubclassOf('Sprout\\Controllers\\Admin\\NoRecordsAdminController')) {
Line 73: unset($controllers[$shorthand]);
Line 77: $controllers[$shorthand] = $props['friendly_name'];
Line 79: asort($controllers);
Line 81: return $controllers;
Line 86: * Return the navigation for this controller
Line 93: $out .= "<li><a href=\"admin/contents/{$this->controller_name}\">Configure tabs</a></li>";
Line 102: * Generate a form where operators can specify which controllers should have per-record permissions enabled
Line 104: * This is instead of the normal behaviour: HTML which represents a list of records for a controller
Line 106: * @return array Contains elements 'title' and 'content' as per {@see ManagedAdminController::_getContents}
Line 112: $controllers = $this->getControllerList();
Line 115: $view->enabled = Pdb::q('SELECT name FROM ~per_record_controllers WHERE active = 1', [], 'col');
Line 116: $view->controllers = $controllers;
Line 126: * Save which controllers should have per-record permissions enabled
Line 133: $controllers = @$_POST['controllers'];
Line 134: if (!is_array($controllers)) $controllers = [];
Line 136: if (count($controllers) == 0) {
Line 137: Pdb::update('per_record_controllers', ['active' => 0], [1]);
Line 141: $q = "UPDATE ~per_record_controllers SET active = 0 WHERE id = ?";
Line 144: $q = "UPDATE ~per_record_controllers SET active = 1 WHERE id = ?";
Line 147: $q = "INSERT INTO ~per_record_controllers (name, active) VALUES (?, 1)";
Line 151: FROM ~per_record_controllers";
Line 155: if (in_array($row['name'], $controllers)) {
Line 158: $this->logEdit('per_record_controllers', $row['id'], $row);
Line 163: $this->logEdit('per_record_controllers', $row['id'], $row);
Line 170: foreach ($controllers as $controller) {
Line 171: if (isset($extant[$controller])) continue;
Line 173: Pdb::execute($insert, [$controller], 'null');
Line 175: $this->logAdd('per_record_controllers', $id);
Line 183: Url::redirect('admin/contents/' . $this->controller_name);
Line 189: $controllers = $this->getControllerList();
Line 191: $q = "SELECT name FROM ~per_record_controllers WHERE active = 1 ORDER BY name";
Line 192: $active_controllers = Pdb::q($q, [], 'col');
Line 194: foreach ($controllers as $controller => $label) {
Line 195: if (!in_array($controller, $active_controllers)) {
Line 196: unset($controllers[$controller]);
Line 200: $out = '<form method="post" action="admin/call/' . $this->controller_name . '/resetSave">';
Line 204: $out .= Form::dropdown('controller', [], $controllers);
Line 237: $url = 'admin/extra/' . $this->controller_name . '/reset';
Line 240: if (empty($_POST['controller'])) {
Line 248: $ctlr = Admin::getController($_POST['controller']);

/sprout/Controllers/Admin/RedirectAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 27: class RedirectAdminController extends HasCategoriesAdminController
Line 29: protected $controller_name = 'redirect';

/sprout/Controllers/Admin/RedirectCategoryAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 19: class RedirectCategoryAdminController extends CategoryAdminController
Line 21: protected $controller_name = 'redirect_category';

/sprout/Controllers/Admin/SubsiteAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 28: class SubsiteAdminController extends ListAdminController
Line 30: protected $controller_name = 'subsite';
Line 85: * Return the sub-actions for adding; for spec {@see AdminController::renderSubActions}
Line 149: * Return the sub-actions for editing; for spec {@see AdminController::renderSubActions}

/sprout/Controllers/Admin/TreeAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 31: * Any controller which is essentially a tree-based structure of nodes and sub-nodes.
Line 33: * Required fields for a tree controller table:
Line 42: abstract class TreeAdminController extends ManagedAdminController {
Line 61: if (!empty($_SESSION['admin'][$this->controller_name . '_nav'])) {
Line 62: $nodes_string = "'" . implode ("', '", $_SESSION['admin'][$this->controller_name . '_nav']) . "'";
Line 67: $view->controller_name = $this->controller_name;
Line 83: $items[] = "<li class=\"reorder\"><a href=\"admin/call/{$this->controller_name}/reorderTop\" onclick=\"$.facebox({'ajax':this.href}); return false;\">Reorder top-level</a></li>";
Line 86: $items[] = "<li class=\"config\"><a href=\"admin/extra/{$this->controller_name}/organise\">Organise tree</a></li>";
Line 124: $view = new View("{$this->getModulePath()}/admin/{$this->controller_name}_delete");
Line 128: $view->controller_name = $this->controller_name;
Line 138: 'content' => "Invalid id specified - {$this->controller_name} does not exist",
Line 216: if (! AdminPerms::controllerAccess($this->getControllerName(), 'reorder')) {
Line 258: $view->controller_name = $this->controller_name;
Line 271: if (! AdminPerms::controllerAccess($this->getControllerName(), 'reorder')) {
Line 293: $view->controller_name = $this->controller_name;
Line 307: if (! AdminPerms::controllerAccess($this->getControllerName(), 'reorder')) {
Line 309: Url::redirect('admin/contents/' . $this->getControllerName());
Line 328: Url::redirect("admin/intro/" . $this->controller_name);
Line 361: $view->controller_name = $this->controller_name;
Line 381: Url::redirect('admin/extra/' . $this->controller_name . '/organise');
Line 424: Url::redirect('admin/extra/' . $this->controller_name . '/organise');
Line 482: echo "&#43; <a href=\"SITE/admin/add/{$this->controller_name}?parent_id={$parent_id}\">Add Child</a>";
Line 484: echo "&#8597; <a href=\"SITE/{$this->controller_name}/reorder/{$parent_id}\" onclick=\"$.facebox({'ajax':this.href}); return false;\">Re-order</a>";
Line 488: if (empty($_SESSION['admin'][$this->controller_name . '_nav'])) {
Line 489: $_SESSION['admin'][$this->controller_name . '_nav'] = array();
Line 491: if ($_POST['dir'] != '/' and !in_array ($_POST['dir'], $_SESSION['admin'][$this->controller_name . '_nav'])) {
Line 492: $_SESSION['admin'][$this->controller_name . '_nav'][] = $_POST['dir'];
Line 502: if (empty($_SESSION['admin'][$this->controller_name . '_nav'])) return;
Line 504: $index = array_search ($_POST['dir'], $_SESSION['admin'][$this->controller_name . '_nav']);
Line 505: unset ($_SESSION['admin'][$this->controller_name . '_nav'][$index]);

/sprout/Controllers/Admin/WorkerJobAdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers\Admin;
Line 36: class WorkerJobAdminController extends ListAdminController
Line 38: protected $controller_name = 'worker_job';

/sprout/Controllers/AdminAjaxController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 46: class AdminAjaxController extends Controller

/sprout/Controllers/AdminController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 24: use Sprout\Controllers\Admin\CategoryAdminController;
Line 25: use Sprout\Controllers\Admin\ManagedAdminController;
Line 26: use Sprout\Controllers\Admin\PageAdminController;
Line 66: * This delegates processing to controllers registered with {@see Register::adminControllers}
Line 68: class AdminController extends Controller
Line 106: Register::coreContentControllers();
Line 375: $ctlr = $this->getController('Sprout\Controllers\Admin\PageAdminController');
Line 378: $view->controller_name = '_style_guide';
Line 401: $ctlr = $this->getController('Sprout\Controllers\Admin\PageAdminController');
Line 409: $view->controller_name = '_dashboard';
Line 445: $ctlr = $this->getController($type);
Line 480: $ctlr = $this->getController($type);
Line 517: $ctlr = $this->getController($type);
Line 552: $ctlr = $this->getController($type);
Line 584: $ctlr = $this->getController($type);
Line 620: $ctlr = $this->getController($type);
Line 726: $ctlr = $this->getController($type);
Line 768: $ctlr = $this->getController($type);
Line 792: * @param ManagedAdminController $ctlr A controller to show the navigation of.
Line 794: private function error($message, ManagedAdminController $ctlr = null)
Line 817: * Check access for a given controller/access flag combo
Line 820: * @param ManagedAdminController $ctlr A controller to check
Line 825: private function checkAccess(ManagedAdminController $ctlr, $access_flag, $action)
Line 829: if ($ctlr instanceof CategoryAdminController) {
Line 834: if (AdminPerms::controllerAccess($ctlr->getControllerName(), $access_flag)) {
Line 867: * @param ManagedAdminController $ctlr The controller which manages the table containing the record
Line 871: function checkRecordAccess(ManagedAdminController $ctlr, $item_id)
Line 873: $restrict = PerRecordPerms::controllerRestricted($ctlr);
Line 879: $params[] = $ctlr->getControllerName();
Line 884: WHERE controller = ? AND item_id = ?";
Line 896: * @param ManagedAdminController $ctlr
Line 898: private function cleanupCommonPostData(ManagedAdminController $ctlr)
Line 966: * @param string ManagedAdminController $ctlr The controller to check permissions for
Line 970: protected function perRecordPermissionsFields(ManagedAdminController $ctlr, $item_id)
Line 972: if (!PerRecordPerms::controllerRestricted($ctlr)) {
Line 980: WHERE controller = ? AND item_id = ?";
Line 981: $access = Pdb::q($q, [$ctlr->getControllerName(), $item_id], 'arr');
Line 1062: $ctlr = $this->getController($type);
Line 1088: echo '<form action="admin/add_save/' . Enc::html($ctlr->getControllerName()) . '" method="post">';
Line 1108: $content = '<form action="admin/add_save/' . Enc::html($ctlr->getControllerName()) . '" method="post" id="edit-form" class="-clearfix">';
Line 1179: $ctlr = $this->getController($type);
Line 1250: $ctlr = $this->getController($type);
Line 1286: $content = '<form action="admin/edit_save/' . Enc::html($ctlr->getControllerName()) . '/' . $id;
Line 1366: $ctlr = $this->getController($type);
Line 1419: * @param string $type Shorthand controller name; see {@see Register::adminControllers}
Line 1426: $ctlr = $this->getController($type);
Line 1451: $content = '<form action="admin/delete_save/' . Enc::html($ctlr->getControllerName()) . '/' . $id . '" method="post" id="edit-form">';
Line 1494: $ctlr = $this->getController($type);
Line 1558: $ctlr = $this->getController($type);
Line 1564: $this->error("Duplication is not enabled for this controller");
Line 1602: $content = '<form action="admin/duplicate_save/' . Enc::html($ctlr->getControllerName()) . '/' . $id . '" method="post" id="edit-form">';
Line 1668: $ctlr = $this->getController($type);
Line 1756: $this->setNavigation($view, new PageAdminController());
Line 1858: * Calls any 'extra' commands that might be provided by the controller
Line 1869: * class BookingAdminController extends ManagedAdminController {
Line 1876: * @param string $type The class name of the method to call (must extend ManagedAdminController)
Line 1891: $ctlr = $this->getController($class);
Line 1930: * Directly calls a method provided by an admin controller
Line 1941: $ctlr = $this->getController($class);
Line 1942: if (!$ctlr or !($ctlr instanceof ManagedAdminController)) {
Line 1943: throw new InvalidArgumentException('Controller "' . $class . '" does not exist');
Line 1990: * Sets up the sidebar navigation for a view to show the navigation for a specific controller.
Line 1993: * @param Controller $ctlr The controller to use for navigation (and searching if supported).
Line 1995: private function setNavigation(View $view, Controller $ctlr)
Line 2002: $view->controller_name = $ctlr->getControllerName();
Line 2003: $view->controller_navigation_name = $ctlr->getNavigationName();
Line 2041: * Returns an instance of a controller class for a given type
Line 2043: * @deprecated This function is now just an alias for {@see Admin::getController}
Line 2045: * e.g. 'Sprout\Controllers\AwesomeController' or 'awesome'
Line 2046: * @return Controller
Line 2049: * and get SproutModules\AwesomeDeveloper\Controllers\ThingyController
Line 2051: private function getController($type)
Line 2053: return Admin::getController($type);
Line 2060: * @param string $type Admin controller slug, e.g. 'page'
Line 2101: * Unlocks lock for a given record/controller, all records for a controller, or all locks
Line 2138: $q = "SELECT id, record_id, record_table, controller, data
Line 2188: $ctlr_class = $main_record['controller'];
Line 2191: Url::redirect('admin/edit/' . Enc::url($ctlr->getControllerName()) . '/' . $main_record['record_id']);

/sprout/Controllers/AdvancedSearchController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 36: class AdvancedSearchController extends Controller implements FrontEndEntrance
Line 49: * Acts as the entrance-point of the controller.
Line 58: * Return an array of valid arguments to the entrance of this controller.
Line 88: $page_view->controller_name = 'user';
Line 213: // Iterate through results, passing the rendering task off to the appropriate controller
Line 216: $ctlr = $handler_inst[$row['controller_class']];

/sprout/Controllers/BaseController.php   Highlighted file source

Line 17: namespace Sprout\Controllers;
Line 26: * This is a true base controller.
Line 30: * @package Sprout\Controllers
Line 32: abstract class BaseController
Line 35: // Allow all controllers to run in production by default
Line 45: // Set the instance to the first controller loaded
Line 88: * Gets the relative path to the module the controller lives in, or sprout itself
Line 104: * Return the class name for this controller, expressed in CSS style, i.e. with dashes
Line 106: * Example: When called from BlogPostController --> 'blog-post-controller'

/sprout/Controllers/CaptchaController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 24: class CaptchaController extends Controller

/sprout/Controllers/ContentSubscribeController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 38: class ContentSubscribeController extends Controller
Line 99: $page_view->controller_name = $this->getCssClassName();

/sprout/Controllers/Controller.php   Highlighted file source

Line 16: namespace Sprout\Controllers;
Line 21: use Sprout\Controllers\Admin\ManagedAdminController;
Line 37: * Kohana Controller class. The controller class must be extended to work
Line 40: abstract class Controller extends BaseController
Line 43: /** Should this controller log add/edit/delete actions? */
Line 51: * e.g. {@see Controller::logAdd}, {@see Controller::logEdit}
Line 123: (record_table, record_id, type, modified_editor, ip_address, user_agent, controller,
Line 126: (:record_table, :record_id, :type, :modified_editor, :ip_address, :user_agent, :controller,
Line 138: $insert_data['controller'] = get_class($this);
Line 155: * @return array|bool False if not using logging for this controller, else the record row
Line 170: * Logs an add action. This is a wrapper for {@see Controller::logAction}
Line 183: * Logs the adding of a record to a category. This is a wrapper for {@see Controller::logAction}
Line 197: * Logs an edit action. This is a wrapper for {@see Controller::logAction}
Line 211: * Logs a delete action. This is a wrapper for {@see Controller::logAction}
Line 229: * Logs the removal of a record from a category. This is a wrapper for {@see Controller::logAction}
Line 321: if ($this instanceof ManagedAdminController) {
Line 323: $conds = ['controller' => $this->getControllerName(), 'item_id' => $record_id];
Line 348: if ($this instanceof ManagedAdminController) {
Line 349: $where = ['controller' => $this->getControllerName(), 'item_id' => $record_id];
Line 361: * Loads a config file for a JsonForm associated with this controller
Line 387: * Loads a JSON config file for an automated edit-type form for this controller
Line 395: $class = preg_replace('/Controller$/', '', $class);
Line 491: if ($this instanceof ManagedAdminController) {
Line 711: } // End Controller Class

/sprout/Controllers/CronJobController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 25: class CronJobController extends Controller
Line 108: * Just creates an instance of the class (must be a controller), then calls the method
Line 119: ['Sprout\\Controllers\\Controller']

/sprout/Controllers/DbToolsController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 78: class DbToolsController extends Controller
Line 160: // Load registered API test controllers
Line 201: $view->controller_name = 'dbtools';
Line 202: $view->controller_navigation_name = 'Dev tools';

/sprout/Controllers/EmailShareController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 37: class EmailShareController extends Controller
Line 121: $page_view->controller = 'email_share';
Line 217: $page_view->controller_name = 'email_share';

/sprout/Controllers/EmbedVideoController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 28: class EmbedVideoController extends Controller

/sprout/Controllers/FileController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 37: class FileController extends Controller
Line 288: $page_view->controller = 'file';
Line 289: $page_view->controller_name = $this->getCssClassName();

/sprout/Controllers/FileUploadController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 31: class FileUploadController extends Controller
Line 153: * Perform additional checks (beyond the checks already in {@see FileUploadController::uploadChunk}) on an uploaded chunk.

/sprout/Controllers/LocaleController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 22: class LocaleController extends Controller

/sprout/Controllers/MediaMushController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 24: class MediaMushController extends Controller

/sprout/Controllers/MultiStepFormController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 33: abstract class MultiStepFormController extends Controller {
Line 62: * This should be called by the entry function of the subclass controller
Line 117: $page_view->controller_name = $this->getCssClassName();
Line 124: * This should be called by the submit function of the subclass controller

/sprout/Controllers/PageController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 54: class PageController extends Controller implements FrontEndSearch
Line 118: revs.controller_entrance, revs.controller_argument
Line 144: // Front-end controller entrance
Line 146: $page['controller_entrance'],
Line 147: ['Sprout\\Controllers\\Controller', 'Sprout\\Helpers\\FrontEndEntrance']
Line 153: Router::$controller = $page['controller_entrance'];
Line 155: $inst->entrance($page['controller_argument']);
Line 232: * see e.g. {@see PageController::viewById} or {@see PageController::viewSpecificRev}
Line 309: $page_view->controller_name = $this->getCssClassName();

/sprout/Controllers/ResultController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 23: class ResultController extends Controller

/sprout/Controllers/SearchController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 31: class SearchController extends Controller
Line 101: // Iterate through results, passing the rendering task off to the appropriate controller
Line 105: $ctlr = $handler_inst[$row['controller_class']];
Line 121: $page_view->controller_name = $this->getCssClassName();

/sprout/Controllers/SeoController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 23: class SeoController extends Controller

/sprout/Controllers/Tinymce4Controller.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 37: class Tinymce4Controller extends Controller
Line 75: $view->can_upload = AdminPerms::controllerAccess('file', 'add');
Line 491: if (!AdminPerms::controllerAccess('file', 'add')) {

/sprout/Controllers/WorkerJobController.php   Highlighted file source

Line 14: namespace Sprout\Controllers;
Line 24: class WorkerJobController extends Controller

/sprout/core/Kohana.php   Highlighted file source

Line 16: use Sprout\Controllers\BaseController;
Line 39: // The singleton instance of the controller
Line 177: * Loads the controller and initializes it. Runs the pre_controller,
Line 178: * post_controller_constructor, and post_controller events. Triggers
Line 179: * a system.404 event when the route cannot be mapped to a controller.
Line 181: * @return object instance of controller
Line 188: // Start validation of the controller
Line 189: $class = new ReflectionClass(Router::$controller);
Line 191: // Controller does not exist
Line 197: // Controller is not allowed to run in production
Line 214: // Run system.pre_controller
Line 215: Event::run('system.pre_controller');
Line 217: // Create a new controller instance
Line 218: $controller = $class->newInstance();
Line 220: if (!($controller instanceof BaseController)) {
Line 221: throw new Exception("Class doesn't extend BaseController: " . get_class($controller));
Line 224: // Controller constructor has been executed
Line 225: Event::run('system.post_controller_constructor');
Line 229: // Load the controller method
Line 242: throw new ReflectionException('protected controller method');
Line 249: $controller->_run(Router::$method, Router::$arguments);
Line 251: // Controller method has been executed
Line 252: Event::run('system.post_controller');
Line 831: $view->controller = '404-error';
Line 888: echo "<b>Route:</b> ", Router::$controller, '::';

/sprout/Helpers/Admin.php   Highlighted file source

Line 51: 'check_controller_entrance\[.*\]' => 'Only one page may reference any given module',
Line 301: if (self::getControllerSlug() === 'page') {
Line 529: $controller = Inflector::singular(Category::tableCat2main(self::$cat_tablename));
Line 530: if (AdminPerms::controllerAccess($controller, 'categories')) {
Line 667: * @param string $selected_controller
Line 670: public static function topNav($selected_controller)
Line 676: if (AdminPerms::controllerAccess('page', 'contents')) {
Line 678: if ($selected_controller == '_dashboard') {
Line 684: if ($selected_controller == 'page') {
Line 691: if (AdminPerms::controllerAccess('file', 'contents')) {
Line 692: if ($selected_controller == 'file') {
Line 699: if (Register::hasFeature('users') and AdminPerms::controllerAccess('user', 'contents')) {
Line 700: if ($selected_controller == 'user') {
Line 713: foreach ($tile['controllers'] as $ctlr => $name) {
Line 714: if ($ctlr == $selected_controller) {
Line 751: foreach ($tile['controllers'] as $ctlr => $name) {
Line 773: * When in the admin, return the slug of the controller being used, e.g. 'page' or 'blog_post'
Line 777: public static function getControllerSlug()
Line 850: * @param string $ctlr Controller name
Line 881: * @param string $ctlr The controller responsible for the record
Line 940: * @param string $ctlr Will refine lock removal by controller
Line 988: * Gets an instance of a managed admin controller
Line 991: * e.g. 'Sprout\Controllers\Admin\AwesomeAdminController' or 'awesome'
Line 992: * @return ManagedAdminController
Line 995: public static function getController($class_name)
Line 1002: $full_name = Register::getAdminController($class_name);
Line 1004: // Auto-determine names of Sprout internal controllers
Line 1007: if (substr($full_name, -15) != 'AdminController') {
Line 1008: $full_name .= 'AdminController';
Line 1010: $full_name = 'Sprout\\Controllers\\Admin\\' . $full_name;
Line 1016: 'Sprout\\Controllers\\Admin\\ManagedAdminController'

/sprout/Helpers/AdminPerms.php   Highlighted file source

Line 287: * @param string $controller The name of the controller to check an access flag for
Line 290: public static function controllerAccess($controller, $access_flag)
Line 299: if ($controller == 'home_page') {
Line 303: // Operators have special logic at the controller level for edits
Line 305: if ($controller == 'operator') return true;
Line 308: if ($controller == 'tools' or $controller == 'action_log' or $controller == 'subsites') {
Line 340: $conditions = [['operatorcategory_id', 'IN', $cat_ids], 'controller' => $controller];
Line 357: * For a given list of controllers, return a list of controllers which the current user can actually access.
Line 361: public static function controllerAccessMulti(array $controllers)
Line 366: if ($_SESSION['admin']['super']) return $controllers;
Line 391: $conditions = [['operatorcategory_id', 'IN', $cat_ids], ['controller', 'IN', $controllers]];
Line 393: $q = "SELECT controller, MAX(access_contents) AS flag
Line 396: GROUP BY controller";
Line 402: if ($row['flag']) $out[] = $row['controller'];
Line 403: unset($controllers[array_search($row['controller'], $controllers)]);
Line 406: // If the default is "allow", add any controllers which didn't return a result
Line 408: foreach ($controllers as $c) {
Line 425: * Get the name of the first controller the user has access to.
Line 430: $controller_names = array_keys(Register::getAdminControllers());
Line 431: array_unshift($controller_names, 'user');
Line 432: array_unshift($controller_names, 'file');
Line 433: array_unshift($controller_names, 'page');
Line 435: $allowed_ctlrs = AdminPerms::controllerAccessMulti($controller_names);
Line 442: * Remove controllers and tiles for which the user doesn't have access
Line 445: * @return array Tile definitions sans unpermitted controllers
Line 450: foreach ($tile['controllers'] as $ctlr => $name) {
Line 451: if (!AdminPerms::controllerAccess($ctlr, 'contents')) {
Line 452: unset($tile['controllers'][$ctlr]);
Line 455: if (count($tile['controllers']) === 0) {

/sprout/Helpers/ColModifier.php   Highlighted file source

Line 19: * e.g. in {@see ManagedAdminController::_getContents}

/sprout/Helpers/Cron.php   Highlighted file source

Line 44: // the CronJobAdminController's UI but it's possible to call the methods directly

/sprout/Helpers/FileUpload.php   Highlighted file source

Line 26: * i.e. where chunked upload data has been stitched together by {@see FileUploadController}

/sprout/Helpers/FrontEndEntrance.php   Highlighted file source

Line 17: * Defines that a specific controller is able to handle front-end entrances from the pages module
Line 22: * Return the list of [argument => label] options a tool page can call on this controller.
Line 24: * See {@see UserController::_getEntranceArguments} for an example implementation
Line 32: * Acts as the entrance-point of the controller, calling internal methods specific to each argument
Line 34: * See {@see UserController::entrance} for an example implementation
Line 37: * each of which must be handled, usually by mapping onto one of the controller's own methods.

/sprout/Helpers/Itemlist.php   Highlighted file source

Line 24: * UI to operators for a given {@see ManagedAdminController}

/sprout/Helpers/JsonForm.php   Highlighted file source

Line 23: * A generic implementation which should work for most cases is found in {@see ManagedAdminController::_getEditForm}
Line 24: * (generates the form) and {@see Controller::saveJsonData} (saves the POST submission)
Line 475: * @param array $conf Config, typically loaded by Controller::loadFormJson()

/sprout/Helpers/Needs.php   Highlighted file source

Line 124: if (Router::$controller != 'Sprout\\Controllers\\AdminController' and @in_array($name, is_array(Kohana::config('sprout.dont_need'))? Kohana::config('sprout.dont_need') : [])) return;
Line 126: if (Router::$controller != 'Sprout\\Controllers\\AdminController' and in_array($name, Kohana::config('sprout.dont_need') ?? [])) return;

/sprout/Helpers/Page.php   Highlighted file source

Line 69: * Fetches the URL for a tool page for a specific controller entrance method
Line 70: * @param string|Controller $class Class
Line 80: if (!$node) throw new Exception('Page for controller entrance not found');

/sprout/Helpers/PageRouting.php   Highlighted file source

Line 20: * Logic for selecting the page if no controller matches
Line 75: Router::$controller = 'SproutModules\Karmabunny\HomePage\Controllers\HomePageController';
Line 81: // If we've already got a controller, there isn't anything to do here
Line 82: if (Router::$controller !== NULL) {
Line 86: Router::$controller = 'Sprout\\Controllers\\PageController';

/sprout/Helpers/PerRecordPerms.php   Highlighted file source

Line 16: use Sprout\Controllers\Admin\ManagedAdminController;
Line 26: * Checks to see if per-record permissions apply to a particular controller
Line 28: * @param ManagedAdminController $ctlr The controller to check
Line 31: public static function controllerRestricted(ManagedAdminController $ctlr)
Line 33: $controller_name = $ctlr->getControllerName();
Line 35: $q = "SELECT 1 FROM ~per_record_controllers WHERE name = ? AND active = 1";
Line 36: return (bool) Pdb::query($q, [$controller_name], 'count');
Line 41: * Checks if a given controller has at least one permission rule in place
Line 43: * @param ManagedAdminController $ctlr The controller to check
Line 46: public static function hasRecordPerms(ManagedAdminController $ctlr)
Line 48: $controller_name = $ctlr->getControllerName();
Line 50: $q = "SELECT id FROM ~per_record_permissions WHERE controller = ? LIMIT 1";
Line 51: return (bool) Pdb::query($q, [$controller_name], 'count');
Line 78: * @param ManagedAdminController $ctlr Admin controller for the record in question
Line 85: public static function fetchDetails(ManagedAdminController $ctlr, $item_id)
Line 89: WHERE controller = ? AND item_id = ?";
Line 90: $row = Pdb::q($q, [$ctlr->getControllerName(), $item_id], 'row');
Line 105: * @param ManagedAdminController $ctlr Admin controller for the record in question
Line 109: public static function save(ManagedAdminController $ctlr, $item_id)
Line 111: if (!PerRecordPerms::controllerRestricted($ctlr)) {
Line 116: 'controller' => $ctlr->getControllerName(),
Line 145: 'controller' => $perms['controller'],

/sprout/Helpers/Preview.php   Highlighted file source

Line 18: use Sprout\Controllers\Admin\ManagedAdminController;
Line 19: use Sprout\Controllers\Controller;
Line 30: * controller's _editSave method, and then calling a method it would
Line 33: * @param ManagedAdminController $ctlr The controller with the preview method
Line 45: public static function load(ManagedAdminController $ctlr, array $tables, $record_id = 0)
Line 111: * Run a controller method using the preview data.
Line 114: * @param Controller $ctlr
Line 119: public static function run(Controller $ctlr, $method, array $args = [])

/sprout/Helpers/Register.php   Highlighted file source

Line 38: private static $admin_controllers = [];
Line 41: private static $front_end_controllers = [];
Line 109: * Register a front-end controller (also called a tool page)
Line 110: * @param string $name Fully namespaced class name of Controller which MUST implement FrontEndEntrance,
Line 111: * e.g. 'SproutModules\\Karmabunny\\Users\\Controllers\\UserController'
Line 114: * @throws InvalidArgumentException If controller doesn't implement FrontEndEntrance
Line 116: public static function frontEndController($name, $label)
Line 122: self::$front_end_controllers[$name] = $label;
Line 126: * Get all front-end controllers
Line 128: public static function getFrontEndControllers()
Line 130: return self::$front_end_controllers;
Line 286: * Register the various "content" controllers which are provided by the SproutCMS core
Line 287: * This will allow these controllers to have permissions (e.g. per-tab or per-record)
Line 289: public static function coreContentControllers()
Line 291: self::$admin_controllers['document_type'] = '\\Sprout\\Controllers\\Admin\\DocumentTypeAdminController';
Line 292: self::$admin_controllers['email_text'] = '\\Sprout\\Controllers\\Admin\\EmailTextAdminController';
Line 293: self::$admin_controllers['extra_page'] = '\\Sprout\\Controllers\\Admin\\ExtraPageAdminController';
Line 294: self::$admin_controllers['file'] = '\\Sprout\\Controllers\\Admin\\FileAdminController';
Line 295: self::$admin_controllers['page'] = '\\Sprout\\Controllers\\Admin\\PageAdminController';
Line 296: self::$admin_controllers['redirect'] = '\\Sprout\\Controllers\\Admin\\RedirectAdminController';
Line 301: * Registers a module's shorthand controller names for the admin controller
Line 303: * name but not 'Controllers' segment, e.g. Karmabunny\HomePage\Admin
Line 304: * @param array $controllers map of lowercased shorthand names to class
Line 305: * names within the specified namespace, e.g. ['home' => 'Admin\HomePageAdminController']
Line 307: public static function adminControllers($namespace, array $controllers)
Line 313: foreach ($controllers as $shorthand => $class) {
Line 314: if (isset(self::$admin_controllers[$shorthand])) {
Line 317: $full_class = "SproutModules\\{$namespace}\\Controllers\\{$class}";
Line 318: self::$admin_controllers[$shorthand] = $full_class;
Line 323: * Converts an shorthand admin controller name to its full class name,
Line 328: public static function getAdminController($shorthand)
Line 330: if (!isset(self::$admin_controllers[$shorthand])) {
Line 333: return self::$admin_controllers[$shorthand];
Line 337: * Gets the list of modular admin controllers with registered shorthands
Line 340: public static function getAdminControllers()
Line 342: return self::$admin_controllers;
Line 354: * @param array $controllers Controllers to show as links, in format 'shorthand' => 'label'
Line 357: public static function adminTile($name, $icon, $text, array $controllers, $sort_order = 10)
Line 362: if (isset($controllers[$shorthand])) $controllers[$shorthand] .= ' [hidden]';
Line 366: unset($controllers[$shorthand]);
Line 370: if (count($controllers) === 0) return;
Line 376: 'controllers' => $controllers,
Line 383: * Each tile has four keys, 'name', 'icon', 'text', and 'controllers'.
Line 542: * Register::cronJob('daily', 'Sprout\\Controllers\\Admin\\PageAdminController', 'cronPageActivate');
Line 546: * @param string $class The class containing the cron job method. Must be a controller
Line 627: * @param string $class Controller to register which implements the

/sprout/Helpers/Router.php   Highlighted file source

Line 40: /** Controller/method URI to use, from the configured routes */
Line 46: /** Controller to use */
Line 47: public static $controller;
Line 49: /** Method to call on controller */
Line 52: /** Arguments to pass to controller method */
Line 62: * Router setup routine; determines controller/method from URI.
Line 95: // Find the controller from the registered route. If no namespace specified, assume Sprout\Controllers\...
Line 97: $controller = array_shift($segments);
Line 98: if (strpos($controller, '\\') === false) $controller = 'Sprout\\Controllers\\' . $controller;
Line 99: if (class_exists($controller)) {
Line 100: Router::$controller = $controller;
Line 191: // Remove the front controller from the current uri
Line 283: * Generates routed URI (i.e. controller/method/arg1/arg2/...) from given URI.
Line 286: * @return string|bool Routed URI or false, e.g. 'AdminController/edit/page/3'

/sprout/Helpers/SearchHandler.php   Highlighted file source

Line 33: * @param string $ctlr_name The name of a controller which implements the
Line 39: throw new \InvalidArgumentException('Controller name must be fully namespaced');
Line 77: * Gets the controller name, e.g. PageController
Line 85: * Sets the controller name, e.g. PageController. The specified controller must implement the FrontEndSearch interface.
Line 89: if (! class_exists($val)) throw new Exception("Specified controller class does not exist");

/sprout/module_template/has_categories/admin_load.php   Highlighted file source

Line 17: Register::adminControllers('AUTHOR\MODULE', [
Line 18: 'SNAME' => 'Admin\CNAMEAdminController',
Line 19: 'SNAME_category' => 'Admin\CNAMECategoryAdminController',

/sprout/module_template/has_categories/Controllers/Admin/CNAMEAdminController.php   Highlighted file source

Line 14: namespace SproutModules\AUTHOR\MODULE\Controllers\Admin;
Line 18: use Sprout\Controllers\Admin\HasCategoriesAdminController;
Line 25: class CNAMEAdminController extends HasCategoriesAdminController
Line 27: protected $controller_name = 'SNAME';
Line 61: * Return the sub-actions for adding; for spec {@see AdminController::renderSubActions}
Line 94: * Return the sub-actions for editing; for spec {@see AdminController::renderSubActions}

/sprout/module_template/has_categories/Controllers/Admin/CNAMECategoryAdminController.php   Highlighted file source

Line 14: namespace SproutModules\AUTHOR\MODULE\Controllers\Admin;
Line 16: use Sprout\Controllers\Admin\CategoryAdminController;
Line 22: class CNAMECategoryAdminController extends CategoryAdminController
Line 24: protected $controller_name = 'SNAME_category';

/sprout/module_template/list/admin_load.php   Highlighted file source

Line 17: Register::adminControllers('AUTHOR\MODULE', [
Line 18: 'SNAME' => 'Admin\CNAMEAdminController',

/sprout/module_template/list/Controllers/Admin/CNAMEAdminController.php   Highlighted file source

Line 14: namespace SproutModules\AUTHOR\MODULE\Controllers\Admin;
Line 18: use Sprout\Controllers\Admin\ListAdminController;
Line 26: class CNAMEAdminController extends ListAdminController
Line 28: protected $controller_name = 'SNAME';
Line 62: * Return the sub-actions for adding; for spec {@see AdminController::renderSubActions}
Line 100: * Return the sub-actions for editing; for spec {@see AdminController::renderSubActions}

/sprout/module_template/tree/admin_load.php   Highlighted file source

Line 17: Register::adminControllers('AUTHOR\MODULE', [
Line 18: 'SNAME' => 'Admin\CNAMEAdminController',

/sprout/module_template/tree/Controllers/Admin/CNAMEAdminController.php   Highlighted file source

Line 14: namespace SproutModules\AUTHOR\MODULE\Controllers\Admin;
Line 18: use Sprout\Controllers\Admin\TreeAdminController;
Line 26: class CNAMEAdminController extends TreeAdminController
Line 28: protected $controller_name = 'SNAME';
Line 62: * Return the sub-actions for adding; for spec {@see AdminController::renderSubActions}
Line 100: * Return the sub-actions for editing; for spec {@see AdminController::renderSubActions}

/sprout/sprout_load.php   Highlighted file source

Line 46: Register::searchHandler('Sprout\\Controllers\\PageController', 'page_keywords', ['main.active = 1', 'main.show_in_nav = 1']);
Line 48: Register::frontEndController('Sprout\\Controllers\\AdvancedSearchController', 'Advanced search');
Line 55: Register::cronJob('daily', 'Sprout\\Controllers\\Admin\\PageAdminController', 'cronPageActivate');
Line 56: Register::cronJob('daily', 'Sprout\\Controllers\\Admin\\PageAdminController', 'cronPageDeactivate');
Line 57: Register::cronJob('daily', 'Sprout\\Controllers\\Admin\\PageAdminController', 'cronCheckStale');
Line 58: Register::cronJob('daily', 'Sprout\\Controllers\\AdminController', 'cronGenericActivate');
Line 59: Register::cronJob('daily', 'Sprout\\Controllers\\Admin\\FileAdminController', 'cronCleanupInvalid');
Line 60: Register::cronJob('daily', 'Sprout\\Controllers\\ContentSubscribeController', 'cronSendSubscriptions');
Line 61: Register::cronJob('daily', 'Sprout\\Controllers\\Admin\\ActionLogAdminController', 'cronCleanup');
Line 184: 'class' => 'Sprout\\Controllers\\DbToolsController',

/sprout/tests/sproutTest.php   Highlighted file source

Line 250: ['Sprout\Helpers\Enc', 'Sprout\Controllers\Controller'],
Line 251: ['Sprout\Helpers\Enc', ['Sprout\Controllers\Controller']],
Line 254: ['Sprout\Helpers\Enc', ['Sprout\Controllers\Controller', 'Sprout\Helpers\FrontEndEntrance']],

/sprout/views/admin/page_navigation.php   Highlighted file source

Line 28: <a class="icon-after icon-add tree-list-add button button-small" href="SITE/admin/add/<?php echo $controller_name; ?>">Add <?php echo Inflector::singular($friendly_name); ?></a>
Line 30: <a class="icon-after icon-add tree-list-add button button-small" href="SITE/admin/add/<?php echo $controller_name; ?>?type=tool">Add tool <?php echo Inflector::singular($friendly_name); ?></a>
Line 36: $class = (Admin::getControllerSlug() === 'home_page' ? 'active-node' : '');

/sprout/views/dbtools/module_builder.php   Highlighted file source

Line 103: <?php echo Form::heading('Controller'); ?>
Line 107: <?php Form::nextFieldDetails('Template', true, 'Controller type'); ?>
Line 111: <?php Form::nextFieldDetails('Controller name', true, 'Singular'); ?>

/sprout/views/dbtools/module_builder_existing_form.php   Highlighted file source

Line 44: <th>Admin controller</th>
Line 45: <th>Controller name</th>

/sprout/views/dbtools/navigation.php   Highlighted file source

Line 2: use Sprout\Controllers\DbToolsController;
Line 11: <?php foreach (DbToolsController::$tools as $section => $subtools): ?>

A total of 1016 lines in 95 files were found