SystemTasksController
class SystemTasksController extends Controller implements GroupControllerInterface mixin SystemTasksControllerDocumentation
Traits
Trait CoreLinkMethods
Static Cache Trait Adds a static (per request) cache to the object which can hold data for the time of the request (in the frontend) or a certain duration during long running processes. It works together with the global caching system and enforces a static cache clearing in case of global cache clearings as well.
Trait ObjectManager XELOS Framework
Constants
| EVENT_MODEL_CREATED |
Global modules events. |
| EVENT_MODEL_UPDATED |
|
| EVENT_MODEL_DELETED |
|
Properties
| protected array | $object_cache | Each object created by a success call of |
from ObjectManager |
| protected array | $registry | The instantiation of a requested object can be processed only if the class of the object is registered with the class name as key and its information as array in this property. The element should have at least the class name or the relative path to "class" folder. |
from ObjectManager |
| protected string | $lib_class_dir | This property contains the path to the folder served as root for all requested classes. This folder can contains other folder or classes. All requested and registered classes will be searched in this folder by concating this path with the relative path defined in the registration of the requested class. If the class is not included it will be done on the fly. |
from ObjectManager |
| protected string | $lib_class_prefix | An optional possibility to pretend a prefix for all registered classes. |
from ObjectManager |
| protected string | $ns_class_prefix | An optional possibility to pretend a namespace prefix for classes have no namespace yet. |
from ObjectManager |
| protected bool | $factory_mode | This property effects the object cache. By default it is set to false to enable the object cache for all requested objects. If this property is set true, the object cache will be disabled. |
from ObjectManager |
| protected array | $injection_objects | This is an assoc array and contains objects that will be injected into each requested object. Each containing object will be injected by the name of the key. E.g. ['mod' => $object] this would inject the property named mod with the value of $object. |
from ObjectManager |
| protected bool | $auto_init | This property controls if the init method of requested objects is called by this trait or not. |
from ObjectManager |
| bool | $full_module_namespace_support | from Controller | |
| Config | $config | from Core | |
| bool | $instance_copy_id | from Core | |
| mixed | $template | from Core | |
| string | $context | from Core | |
| Core | $parent_context | from Core | |
| array | $meta_info | from Core | |
| int deprecated | $group_context | from Core | |
| string | $group_name | from Core | |
| string | $storage_path | from Core | |
| protected Link | $xf_link | from Core | |
| array | $GPvars | from Core | |
| MagicMethodHelper | $action | from Controller | |
| Model read-only | $model | ||
| MagicMethodHelper | $page | from Controller | |
| MagicMethodHelper | $ui | from Controller | |
| MagicMethodHelper | $collection | from Controller | |
| MagicMethodHelper | $cf | from Controller | |
| SystemTasksController | $mod |
Methods
Gettext Wrapper using current module context for module specific translations
No description
No description
Add CSS file from the wwwres/css folder to the page
Add JS file from the wwwres/js folder to the page
Returns the passed JSON and returns the module template directly to the view class for rendering
Attach a Link to each model in the collection
Calls dbquery() after given SQL has been converted by $XF->lib->i18n->convert_i18n_sql()
No description
No description
Fetches all lists in this instance and deletes them, which will also trigger the deletion of all their tasks assigned.
Generates and returns the completed sentences for the dyn tree params field.
Uses another method to make sure at least one list exists and this instance is ready to use.
No description
Used to fetch the methods from the page passed.
Get dependency with unknown group context
Placeholder method, that simply returns an empty array, in case the user chose a module, which isn't able to provide dynamic tree parameters.
Get the group_security_id for this instance (optional: based on a local group_context)
Defines an array containing pages, which will then be returned to the group navigation form in order to display them as entries in the select field 'ref_page'.
This method will return an object without killing the whole process by triggering a fatal error You can use this method if its possible that the object is not available, e.g. due to user configurations
Get the configured languages for this instance
No description
returns the global document index fron document_index
returns the global document id fron document_index
Constructs and returns a download link for file
No description
No description
No description
Returns true if the i18n translation has been set to required for this instance
Call specific object - allows to use constructor-params (overload function) This function is primarily called from the magic GET and CALL Methods
No description
Returns the default dms to store application files.
No description
Guess the group ID by evaluating GP and CMD Vars
Checks if the user has access to the hook
Declare this method in a XELOS module if you require standard code to be executed after __construct with all members and references available
Is the current instance used in groups?
Returns the passed data object as JSON body response
No description
No description
Notification
DeepLink Page (will be called for unresolvable deeplinks, e.g. from hooks search or others
No description
No description
Print File Link (Alias Function)
Wrapper for XF->lib->link substituting modules with instance names etc.
Render Module Output, this will get the template of the default page and render the template
Resolve URL like https://local.xelos-project.net/_doc/goto/FCF68648-A8CE-4362-9901-1CEA704515D6
Resolve a Link for a local dependency (a - by returning a valid template or b - by sending a http-redirect)
Needed for Index Search
Returns the xfs_document in the storage DMS to a ID.
Get the data... $args = array('download','myfile.txt')
Enforce Link Context based on Current Parent Instance for the local Page and CMD
No description
No description
sets the numerical Context-ID (PrimaryKey in Instance_Registry)
Set Dep Link Context - generated URLs will be considered relative to the given parent instance
Add given objects to injection object list that will be inject into object by magic call. The array should consists of property name as key and object as value.
Clears the specified cache pool from the static cache
Retrieves a value from the static cache
Returns an array of all cache keys which have been set
Returns an key/value array with all cached values from the passed pool
Checks if the passed is key has a value set
Removes the passed key
Store a value in the static cache
Stores the file in the system DMS
No description
Counts the tasks in this instance and gives back the information as array containing the value (string) and the raw_value (double).
Check if user has PAGE access to the instance
Return the group_security ids the user has access to
No description
Return the group_security ids the user has the policy in
User has policy values
trait constructor This method have to be called from constructor of each class that uses this trait.
Details
in
Core at line 165
string
_(string $token, string[] $placeholder = [])
Gettext Wrapper using current module context for module specific translations
in
ObjectManager at line 250
mixed
__call($class, $args)
Magic method.
Returns the requested object. If the object is not cached, it will be instantiated with given arguments.
This method calls xf_trait::get_object.
in
Controller at line 60
__construct(string $instance = null)
No description
in
ObjectManager at line 232
mixed
__get($class)
Magic method.
First it checks if the requested property is defined and returns it if null. If not defined of null, it calls
xf_trait::get_object and returns its return value.
in
ObjectManager at line 200
bool
__isset($property)
Magic method.
This method checks whether the property is defined or injected by __set. If not
injected or defined, it will check the registry for an entry of requested property.
in
ObjectManager at line 220
__set($name, $value)
Magic method.
Sets the given value by $name
in
Core at line 2451
__toString()
No description
in
Core at line 2401
addActionLog(DocumentIndex $documentIndex, int $action_key, int $user_id = null, string $subject = null, int $target_user_id = null, array $link_params = [])
No description
in
Core at line 2369
add_actionlog(int $action_id, int|bool $user_id = false, string|bool $what = false, int|bool $target_user_id = false, array|bool $link_params = false, int|bool $post_id = false, int|bool $post_type = 0, int|bool $group_id = false)
deprecated
deprecated
No description
in
Core at line 659
final
add_class_to_registry($registry)
No description
in
Core at line 862
add_config_array(mixed $configArray, mixed $context = false)
No description
in
Controller at line 159
add_css_file(string $filename_in_css_dir, string $position = 'bottom', bool $media = false, bool $if_condition = false)
Add CSS file from the wwwres/css folder to the page
in
Controller at line 170
add_js_file(string $filename_in_js_dir, string $position = 'bottom')
Add JS file from the wwwres/js folder to the page
in
Core at line 466
bool|string|xelos_global_template
ajax_response(array|bool $json_response = false, bool|int $error_code = false, bool|xelos_global_template $template = false, bool|string $render_mode = false)
Returns the passed JSON and returns the module template directly to the view class for rendering
in
Controller at line 337
ModelCollection
attach_link(ModelCollection|Model $model_collection, string $property_name, array $link_params, bool $current_link = true)
Attach a Link to each model in the collection
in
Core at line 1877
check_download_file(mixed $path_to_file, mixed $download_params)
No description
in
Core at line 1505
clear_template()
No description
in
Core at line 725
dblquery($sql, $mode = 'fetch_assoc', $file = __FILE__, $line = __LINE__, $cache_ttl = false, $cache_group = false, $query_type = false)
Calls dbquery() after given SQL has been converted by $XF->lib->i18n->convert_i18n_sql()
in
Core at line 676
mixed
dbquery(string $sql, string $mode = 'fetch_assoc', string $file = __FILE__, int $line = __LINE__, int|bool $cache_ttl = false, int|bool $cache_group = false, string|bool $query_type = false)
No description
in
Core at line 701
array|int|false
dbquery_with_params(string $sql, array $params, string $mode = 'fetch_assoc', string $file = __FILE__, int $line = __LINE__, int|bool $cache_ttl = false, int|bool $cache_group = false, string|bool $query_type = false)
No description
at line 149
deleteGroupContext($group_id)
Fetches all lists in this instance and deletes them, which will also trigger the deletion of all their tasks assigned.
in
Core at line 2634
bool
delete_file(int $id)
Deletes the file stored in the storage DMS.
If the file does not exist in the DMS, it checks the mod_storage_path if the file exists there and deletes it there.
in
Controller at line 131
MagicDocumentHelper|null
document(DocumentIndex|int $document_index)
No description
in
ModulePageCollector at line 29
array
dynTreeAutocompletion(array $acceptedDyntreeParams)
Generates and returns the completed sentences for the dyn tree params field.
at line 29
mixed
ensureInitialization()
Uses another method to make sure at least one list exists and this instance is ready to use.
in
Core at line 543
xelos_global_template|string
error_response(string $err_msg = 'access_denied', string $err_type = 'denied', string $render_mode = 'full')
No description
in
ModulePageCollector at line 85
array
getCommandsForPage(string $searchString, string $refPage = '')
Used to fetch the methods from the page passed.
Per default, if this method won't be overridden, this will return the methods of a page class.
in
Core at line 1404
Core|null
getDependencyInGuessGroupContext(string $dependency, string $page_id, array $cmd)
Get dependency with unknown group context
in
ModulePageCollector at line 18
array
getDynTreeParams()
Placeholder method, that simply returns an empty array, in case the user chose a module, which isn't able to provide dynamic tree parameters.
in
Core at line 429
int
getGroupContext()
No description
in
Core at line 1332
int
getGroupSecurityId(int $group_context = 0)
Get the group_security_id for this instance (optional: based on a local group_context)
in
Core at line 1275
array
getHooksAsObject($hookName)
No description
in
Core at line 195
string
getI18nTokenDomain()
Return i18n Token Domain
in
ModulePageCollector at line 52
array
getModulePages()
Defines an array containing pages, which will then be returned to the group navigation form in order to display them as entries in the select field 'ref_page'.
The user then is able to select one of these pages (of the selected instance).
in
ObjectManager at line 267
object|null
getObjectIfAvailable(string $class)
This method will return an object without killing the whole process by triggering a fatal error You can use this method if its possible that the object is not available, e.g. due to user configurations
in
Core at line 2568
static SystemDMSController|null
getSystemDMS()
Get System DMS, using static cache
in
Controller at line 147
mixed
get_action(string $helper)
No description
in
Core at line 2416
protected SystemActionlogController
get_actionlog()
Return the actionlog instance
in
Core at line 2494
array
get_available_languages($includeTitle = false)
Get the configured languages for this instance
in
Core at line 613
mixed
get_config(string $var, mixed $context = false)
No description
in
Core at line 2460
int
get_context_id()
gets the numerical Context-ID (PrimaryKey in Instance_Registry)
in
CoreLinkMethods at line 174
array|false
get_current_link(array $params = array())
No description
in
CoreLinkMethods at line 190
get_current_url()
No description
in
Core at line 2477
string
get_default_i18n()
Get the default language set for this instance
in
Core at line 351
Template
get_dep_page(bool|string $default = false, bool|string $cmd = false, bool $preserve_render_mode = false)
No description
in
Core at line 1428
array
get_deps($group_context = false)
No description
in
Core at line 2539
DocumentIndex
get_document_index(int $local_document_id, int $document_type = 0)
returns the global document index fron document_index
requires the model is registered in document_registry for being index by document_index!
in
Core at line 2521
int|false
get_document_index_id(int $local_document_id, int $document_type = 0)
returns the global document id fron document_index
requires the model is registered in document_registry for being index by document_index!
in
Core at line 2434
bool|mixed
get_dyn_config($var, bool $order_set_name = false, bool $context = false)
deprecated
deprecated
No description
in
Core at line 1795
string|bool
get_file_link(string $path_to_file, array $params = array())
Get File Link
in
Core at line 1681
mixed
get_file_url(string $path_to_file, bool $inline_disposition = true, string|bool $name = false, bool $zipOnTheFly = false, int|bool $width = false, int|bool $height = false, string|bool $resize_mode = false, bool $public_file_link = false)
Constructs and returns a download link for file
in
Core at line 1852
array
get_file_url_args(string $path_to_file, mixed $inline_disposition = true, mixed $name = false, mixed $zipOnTheFly = false)
No description
in
Core at line 408
int
get_group()
deprecated
deprecated
No description
in
Core at line 976
mixed
get_hook(string $original_hook_name, string $provider_instance = 'self', bool $force_new = false, bool $skip_access_check = false)
No description
in
Core at line 1114
array
get_hooks(string $local_hook_name, array|bool $limit_to_instances = false, bool $instantiate = true, mixed $parentContext = false, string $hook_class = null)
No description
in
Core at line 2508
bool
get_i18n_translation_required()
Returns true if the i18n translation has been set to required for this instance
in
ObjectManager at line 168
string
get_lib_class_dir()
Returns the path to class directory.
in
ObjectManager at line 178
string
get_lib_class_prefix()
Returns the defined prefix for all classes.
in
CoreLinkMethods at line 101
array|bool
get_link()
No description
in
Controller at line 119
mixed
get_model(string $model, bool $new_instance = false)
No description
in
Core at line 634
final mixed
get_object(string $class, null|array $args = null, bool $call_init = true)
Call specific object - allows to use constructor-params (overload function) This function is primarily called from the magic GET and CALL Methods
in
ObjectManager at line 188
array
get_object_cache()
Returns an array containing all objects were requested.
at line 33
xelos_global_template
get_page(string $page_id, array $args = array())
No description
in
Core at line 1445
Core|null
get_parent_context()
Get Parent Context
in
Controller at line 385
string
get_parsed_message(string $template_name, string $section)
No description
in
Core at line 204
mixed
get_plugin(string $name)
No description
in
Core at line 223
array
get_plugins_by_prefix(string $prefix)
No description
in
Core at line 1750
get_preview_url($path_to_file, $name = false)
No description
in
Core at line 1737
static
get_resize_hash(int $w, int $h)
Calculate Resize Hash !Is also called static
in
Core at line 438
bool
get_security_level()
deprecated
deprecated
No description
in
Core at line 2559
SystemDMSController|null
get_system_dms()
Returns the default dms to store application files.
It uses the DMS configured in Expert Configuration -> GUI -> Filebrowser DMS: system config key filebrowser_dms
in
Core at line 1741
get_thumb_url($path_to_file, $name = false)
No description
in
CoreLinkMethods at line 117
string
get_url()
No description
in
Controller at line 271
VarsTemplate|bool
get_vars(string $file, string $block = null)
Get Vars Model
in
Controller at line 300
VarsTemplate
get_vars_from_text(string $text)
Create a Vars model from text
in
Controller at line 183
Template
get_view(string $view, string $section = null, bool $template_auto_setup = true, bool $force_new = false)
No description
at line 106
int
guessGroupId(string $page_id, array $args)
Guess the group ID by evaluating GP and CMD Vars
in
Core at line 1355
bool
hasDependency(string $dep_id)
Does module have an existing dependency
in
Core at line 1295
bool
has_hook_access(string $hook_instance_id, string $hook_name)
Checks if the user has access to the hook
in
Core at line 149
init()
Declare this method in a XELOS module if you require standard code to be executed after __construct with all members and references available
at line 162
bool
isGroupsTasks()
Is the current instance used in groups?
in
Core at line 2655
bool
isXlabsFeaturePreview()
No description
in
Core at line 448
void
jsonResponse($data, $httpResponseCode = 200)
Returns the passed data object as JSON body response
in
Core at line 802
mixed
lpquery(string $query, array $params = array(), string $file = __FILE__, int $line = __LINE__, int $cache_ttl = 0, null $cache_group = null)
No description
in
Core at line 186
string
ngettext(string $singularToken, string $pluralToken, int $count, array $placeholder = [])
No description
in
Core at line 2698
Notification
notification_info($user_id, $token_id)
deprecated
deprecated
No description
in
Core at line 2705
notification_mark_read($userId, $token)
deprecated
deprecated
No description
in
Core at line 2680
notify(int|array $user_id, string $token, string $subject, string $plaintext = null, mixed $html = false, mixed $url = null, string $icon = null, string $type = XF\Lib\Notification\NotificationType::ACTIVITY)
deprecated
deprecated
Notification
in
Core at line 2232
string|void|xelos_global_template
page__deeplink(array $dependency_id)
DeepLink Page (will be called for unresolvable deeplinks, e.g. from hooks search or others
in
Core at line 1885
page__feed(UniversalFeedCreator $feed)
No description
in
Core at line 1896
page__file()
No description
in
Core at line 776
mixed
pquery(string $query, array $params = array(), string $file = __FILE__, int $line = __LINE__, int $cache_ttl = 0, null $cache_group = null)
No description
in
Core at line 716
string|string[]|null
prepareQueryWithParams(string $sql, array $params)
No description
in
Core at line 753
string
prepare_lquery($sql)
No description
in
Core at line 743
string
prepare_query(string $sql)
No description
in
Core at line 1636
string
print_context_menu($params, array $context_links, bool $current_link = false, bool $no_js_fallback = true, $onMouseOver = false)
No description
in
Core at line 1664
string
print_context_menu_with_submenu(array $entries, array $params = array())
deprecated
deprecated
No description
in
CoreLinkMethods at line 207
print_current_link()
No description
in
Core at line 1784
string
print_file_link(string $path_to_file, array $params = array())
Print File Link (Alias Function)
in
CoreLinkMethods at line 156
string
print_link(array $params = array())
Wrapper for XF->lib->link substituting modules with instance names etc.
Example:
$this->mod->print_link(array('label'=>$label, 'page'=>$page, 'ajax_modal'=>array('form' => 'noajax')));
$this->mod->print_link(array('label'=>$label, 'page'=>$page, 'JS-FSLoader'=>array('message' => 'loading..','autohide'=>'5000')));
in
Core at line 1760
print_preview_link($path_to_file, $params = array())
No description
in
Core at line 384
string
render()
Render Module Output, this will get the template of the default page and render the template
in
Core at line 2345
string|null
resolveDocumentIndexPermaURL(DocumentIndex $documentIndex)
at line 72
string|false
resolve_dep_link(string $dependency, string $page_id, array $cmd)
Resolve a Link for a local dependency (a - by returning a valid template or b - by sending a http-redirect)
at line 47
array
resolve_doc_link(int $post_id, int $post_type = null)
Needed for Index Search
in
Core at line 2588
XfsDocument|null
retrieve_document(int $document_index_id, DocumentIndex|DocumentModel|int $main_document_index_id = null)
Returns the xfs_document in the storage DMS to a ID.
in
Core at line 1921
bool
send_file(array $args, bool $binary = false, bool $is_full_path = false)
Get the data... $args = array('download','myfile.txt')
Redeclare for binary downloads: function send_file($args, $binary = false) { switch($args[1]) { case 'mybinard.txt': parent::send_file($args,'mybinarycontent'); } }
in
Core at line 315
setDepLinkContext(string $localPage, string $localCmd)
Enforce Link Context based on Current Parent Instance for the local Page and CMD
in
Core at line 579
void
set_config(string $var, mixed $value, string|bool $context = false, string|bool $subcontext = false)
No description
in
Core at line 597
void
set_config_for_session(string $var, string $value, string $context = false, string $subcontext = false)
No description
in
Core at line 2469
set_context_id(int $context_id)
sets the numerical Context-ID (PrimaryKey in Instance_Registry)
in
Core at line 331
set_dep_link_context(Core $parent, string $view, string $page, string $cmd)
Set Dep Link Context - generated URLs will be considered relative to the given parent instance
in
Core at line 398
void
set_group(int $group_id, string|bool $short_name = false)
No description
in
ObjectManager at line 126
set_injection_objects(array $objects)
Add given objects to injection object list that will be inject into object by magic call. The array should consists of property name as key and object as value.
in
ObjectManager at line 142
set_lib_class_dir($lib_class_dir)
Sets the directory where classes are stored.
This folder can contains other folder or classes. All requested and registered classes will be searched in this folder by concating this path with the relative path defined in the registration of the requested class. If the class is not included it will be done on the fly.
in
ObjectManager at line 157
set_lib_class_prefix($lib_class_prefix)
Sets the class name prefix.
An optional possibility to pretend a prefix for all registered classes. This prefix is only required in the class name of the requested object. The registered class name should not contains this prefix. E.g. a class called xf_foobar should be registered as foobar.
in
Controller at line 370
bool
set_message_vars($values, bool $reset = false)
No description
in
Core at line 1515
void
set_xf_link($xf_link)
No description
in
Core at line 950
xelos_global_template|bool
setup_check($args = array())
Check/Get Setup Page
in
StaticCacheTrait at line 121
static void
staticCacheClearAllCachePools()
No description
in
StaticCacheTrait at line 114
static void
staticCacheClearCachePool($cache_pool = 'default')
Clears the specified cache pool from the static cache
in
StaticCacheTrait at line 61
static array|string|int|bool|null
staticCacheGet($key, string $cache_pool = 'default')
Retrieves a value from the static cache
in
StaticCacheTrait at line 98
static array
staticCacheGetKeys(string $cache_pool = 'default')
Returns an array of all cache keys which have been set
in
StaticCacheTrait at line 107
static array
staticCacheGetPool($cache_pool)
Returns an key/value array with all cached values from the passed pool
in
StaticCacheTrait at line 34
static bool
staticCacheIsEnabled()
No description
in
StaticCacheTrait at line 85
static bool
staticCacheIsSet($key, string $cache_pool = 'default')
Checks if the passed is key has a value set
in
StaticCacheTrait at line 73
static
staticCacheRemove($key, string $cache_pool = 'default')
Removes the passed key
in
StaticCacheTrait at line 46
static void
staticCacheSet(string|int $key, mixed $value, string $cache_pool = 'default')
Store a value in the static cache
in
Core at line 2606
Document|null
store_file(string $path, string|null $xfsPath, string|null $file_name = null, DocumentModel|null $ownerDocumentModel = null)
Stores the file in the system DMS
in
Controller at line 316
bool|string|Template|xelos_global_template
templateResponse(mixed $content, string $title)
No description
at line 133
array
usedResources($group_id)
Counts the tasks in this instance and gives back the information as array containing the value (string) and the raw_value (double).
in
Core at line 1607
bool
userHasApiAccess()
Does the user have API access to this instance?
in
Core at line 1587
bool
user_has_access(?string $page = null, string|bool $instance_id = false, int $group_security_id = 0)
Check if user has PAGE access to the instance
in
Core at line 1618
array
user_has_access_in_groups(string $page)
Return the group_security ids the user has access to
in
Core at line 1541
bool
user_has_policy(string $policy, mixed $policy_value = '*', int|bool $target_user = false, int|bool $group_id = false, string $default_policy = 'deny')
No description
in
Core at line 1554
array
user_has_policy_in_groups(string $policy, string $policy_value = false)
Return the group_security ids the user has the policy in
in
Core at line 1567
array
user_has_policy_values(string $policy, string $treeTable = null)
User has policy values
in
ObjectManager at line 104
xelos_object_manager_init(bool $lib_class_dir, string $lib_class_prefix = '', string $ns_prefix = '')
trait constructor This method have to be called from constructor of each class that uses this trait.
It sets the defaults and all necessary properties.