ILIAS  release_7 Revision v7.30-3-g800a261c036
ilUDFClaimingPlugin Class Reference

Abstract parent class for all udf claiming plugin classes. More...

+ Inheritance diagram for ilUDFClaimingPlugin:
+ Collaboration diagram for ilUDFClaimingPlugin:

Public Member Functions

 getComponentType ()
 Get Component Type. More...
 
 getComponentName ()
 Get Component Name. More...
 
 getSlot ()
 Get Slot Name. More...
 
 getSlotId ()
 Get Slot ID. More...
 
 checkPermission ($a_user_id, $a_context_type, $a_context_id, $a_action_id, $a_action_sub_id)
 Check permission. More...
 
- Public Member Functions inherited from ilPlugin
 __construct ()
 
 getComponentType ()
 Get Component Type. More...
 
 getComponentName ()
 Get Component Name. More...
 
 getSlot ()
 Get Slot Name. More...
 
 getSlotId ()
 Get Slot ID. More...
 
 getPluginName ()
 Get Plugin Name. More...
 
 getId ()
 
 getLastUpdateVersion ()
 Get Version of last update. More...
 
 getVersion ()
 
 getIliasMinVersion ()
 
 getIliasMaxVersion ()
 Get Required ILIAS max. More...
 
 getActive ()
 
 setDBVersion (int $a_dbversion)
 
 getDBVersion ()
 
 writeDBVersion (int $a_dbversion)
 
 getDirectory ()
 Get Plugin Directory. More...
 
 includeClass ($a_class_file_name)
 Include (once) a class file. More...
 
 getPrefix ()
 Get plugin prefix, used for lang vars. More...
 
 getTablePrefix ()
 Get db table plugin prefix. More...
 
 updateLanguages ($a_lang_keys=null)
 
 updateDatabase ()
 Update database. More...
 
 loadLanguageModule ()
 Load language module for plugin. More...
 
 txt (string $a_var)
 Get Language Variable (prefix will be prepended automatically) More...
 
 getTemplate (string $a_template, bool $a_par1=true, bool $a_par2=true)
 gets a ilTemplate instance of a html-file in the plugin /templates More...
 
 getImagePath (string $a_img)
 Get image path. More...
 
 getStyleSheetLocation (string $a_css_file)
 
 addBlockFile ($a_tpl, $a_var, $a_block, $a_tplname)
 Add template content to placeholder variable. More...
 
 isActive ()
 Check whether plugin is active. More...
 
 needsUpdate ()
 Check whether update is needed. More...
 
 install ()
 
 activate ()
 Activate. More...
 
 deactivate ()
 Deactivate. More...
 
 uninstall ()
 
 update ()
 Update plugin. More...
 
 promoteGlobalScreenProvider ()
 
 getGlobalScreenProviderCollection ()
 
 exchangeUIRendererAfterInitialization (\ILIAS\DI\Container $dic)
 This methods allows to replace the UI Renderer (see src/UI) of ILIAS after initialization by returning a closure returning a custom renderer. More...
 
 exchangeUIFactoryAfterInitialization (string $dic_key, \ILIAS\DI\Container $dic)
 This methods allows to replace some factory for UI Components (see src/UI) of ILIAS after initialization by returning a closure returning a custom factory. More...
 
 getMessage ()
 

Static Public Member Functions

static hasDBField ($a_field_id)
 Check if field has db entry. More...
 
static createDBField ($a_type, $a_title, array $a_access=null, array $a_options=null)
 Create field db entry. More...
 
static updateDBField ($a_field_id, $a_title, array $a_access=null, array $a_options=null)
 Update field db entry. More...
 
static deleteDBField ($a_field_id)
 Delete field db entry. More...
 
- Static Public Member Functions inherited from ilPlugin
static _getDirectory (string $a_ctype, string $a_cname, string $a_slot_id, string $a_pname)
 Get plugin directory. More...
 
static getAvailableLangFiles (string $a_lang_directory)
 Get array of all language files in the plugin. More...
 
static hasConfigureClass (string $a_slot_dir, array $plugin_data, array $plugin_db_data)
 Has the plugin a configure class? More...
 
static getConfigureClassName (array $plugin_data)
 Get plugin configure class name. More...
 
static getDBUpdateScriptName (string $a_ctype, string $a_cname, string $a_slot_name, string $a_pname)
 
static lookupTxt (string $a_mod_prefix, string $a_pl_id, string $a_lang_var)
 
static langExitsById (string $pluginId, string $langVar)
 Is searched lang var available in plugin lang files. More...
 
static _getImagePath (string $a_ctype, string $a_cname, string $a_slot_id, string $a_pname, string $a_img)
 
static createPluginRecord (string $a_ctype, string $a_cname, string $a_slot_id, string $a_pname)
 
static getPluginRecord (string $a_ctype, string $a_cname, string $a_slot_id, string $a_pname)
 
static getPluginObject (string $a_ctype, string $a_cname, string $a_slot_id, string $a_pname)
 
static lookupStoredData (string $a_ctype, string $a_cname, string $a_slot_id, string $a_pname)
 Lookup information data in il_plugin. More...
 
static getActivePluginsForSlot (string $a_ctype, string $a_cname, string $a_slot_id)
 
static getActivePluginIdsForSlot (string $a_ctype, string $a_cname, string $a_slot_id)
 Get All active plugin ids for a slot. More...
 
static lookupNameForId (string $a_ctype, string $a_cname, string $a_slot_id, string $a_plugin_id)
 
static lookupIdForName (string $a_ctype, string $a_cname, string $a_slot_id, string $a_plugin_name)
 
static lookupTypeInformationsForId (string $id)
 

Protected Member Functions

 slotInit ()
 Object initialization done by slot. More...
 
- Protected Member Functions inherited from ilPlugin
 setSlotObject (ilPluginSlot $a_slot)
 
 getSlotObject ()
 
 getClassesDirectory ()
 
 getLanguageDirectory ()
 
 slotInit ()
 Object initialization done by slot. More...
 
 init ()
 Object initialization. More...
 
 afterInstall ()
 After install processing. More...
 
 beforeActivation ()
 Before activation processing. More...
 
 afterActivation ()
 After activation processing. More...
 
 afterDeactivation ()
 After deactivation processing. More...
 
 beforeUninstall ()
 
 afterUninstall ()
 This is Plugin-Specific and is triggered after the uninstall command of a plugin. More...
 
 readEventListening ()
 Read the event listening definitions from the plugin.xml (if file exists) More...
 
 clearEventListening ()
 Clear the entries of this plugin in the event handling table. More...
 
 beforeUpdate ()
 Before update processing. More...
 
 afterUpdate ()
 After update processing. More...
 

Static Protected Member Functions

static getDBField ($a_field_id)
 Get existing field values. More...
 
static isValidFieldType ($a_field_type)
 Validate field type. More...
 
static handleAccesss (array &$fields, array $a_access=null, array $a_existing=null)
 Convert access array to DB columns. More...
 

Additional Inherited Members

- Protected Attributes inherited from ilPlugin
 $slot
 
 $active = false
 
 $iliasmaxversion = ""
 
 $iliasminversion = ""
 
 $version = ""
 
 $lastupdateversion = ""
 
 $dbversion = 0
 
 $lang_initialised = false
 
 $id = ''
 
 $provider_collection
 
 $message
 

Detailed Description

Abstract parent class for all udf claiming plugin classes.

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

Definition at line 15 of file class.ilUDFClaimingPlugin.php.

Member Function Documentation

◆ checkPermission()

ilUDFClaimingPlugin::checkPermission (   $a_user_id,
  $a_context_type,
  $a_context_id,
  $a_action_id,
  $a_action_sub_id 
)
abstract

Check permission.

Parameters
int$a_user_id
int$a_context_type
int$a_context_id
int$a_action_id
int$a_action_sub_id
Returns
bool

◆ createDBField()

static ilUDFClaimingPlugin::createDBField (   $a_type,
  $a_title,
array  $a_access = null,
array  $a_options = null 
)
static

Create field db entry.

Parameters
int$a_type
string$a_title
array$a_access
array$a_options
Returns
int field id

Definition at line 149 of file class.ilUDFClaimingPlugin.php.

150 {
151 global $DIC;
152
153 $ilDB = $DIC['ilDB'];
154
155 $field_id = $ilDB->nextId("udf_definition");
156
157 // validating type
158 $a_type = (int) $a_type;
159 if (!self::isValidFieldType($a_type)) {
160 return;
161 }
162
163 if ($a_type != UDF_TYPE_SELECT) {
164 $a_options = null;
165 }
166
167 // :TODO: check unique title?
168
169 $fields = array(
170 "field_id" => array("integer", $field_id),
171 "field_type" => array("integer", $a_type),
172 "field_name" => array("text", trim($a_title)),
173 "field_values" => array("text", serialize((array) $a_options))
174 );
175
176 self::handleAccesss($fields, $a_access);
177
178 $ilDB->insert("udf_definition", $fields);
179
180 return $field_id;
181 }
const UDF_TYPE_SELECT
static handleAccesss(array &$fields, array $a_access=null, array $a_existing=null)
Convert access array to DB columns.
global $DIC
Definition: goto.php:24
global $ilDB

References $DIC, $ilDB, handleAccesss(), and UDF_TYPE_SELECT.

+ Here is the call graph for this function:

◆ deleteDBField()

static ilUDFClaimingPlugin::deleteDBField (   $a_field_id)
static

Delete field db entry.

Parameters
int$a_field_id
Returns
bool

Definition at line 229 of file class.ilUDFClaimingPlugin.php.

230 {
231 global $DIC;
232
233 $ilDB = $DIC['ilDB'];
234
235 if (self::hasDBField($a_field_id)) {
236 // :TODO: we are not deleting any values here
237
238 $ilDB->manipulate("DELETE FROM udf_definition" .
239 " WHERE field_id = " . $ilDB->quote($a_field_id, "integer"));
240 return true;
241 }
242
243 return false;
244 }

References $DIC, and $ilDB.

◆ getComponentName()

ilUDFClaimingPlugin::getComponentName ( )
final

Get Component Name.

Must be overwritten in plugin class of plugin slot.

Returns
string Component Name

Reimplemented from ilPlugin.

Definition at line 26 of file class.ilUDFClaimingPlugin.php.

27 {
28 return "User";
29 }

◆ getComponentType()

ilUDFClaimingPlugin::getComponentType ( )
final

Get Component Type.

Must be overwritten in plugin class of plugin slot.

Returns
string Component Type

Reimplemented from ilPlugin.

Definition at line 21 of file class.ilUDFClaimingPlugin.php.

22 {
23 return IL_COMP_SERVICE;
24 }
const IL_COMP_SERVICE

References IL_COMP_SERVICE.

◆ getDBField()

static ilUDFClaimingPlugin::getDBField (   $a_field_id)
staticprotected

Get existing field values.

Parameters
int$a_field_id
Returns
array

Definition at line 91 of file class.ilUDFClaimingPlugin.php.

92 {
93 global $DIC;
94
95 $ilDB = $DIC['ilDB'];
96
97 $set = $ilDB->query("SELECT * FROM udf_definition" .
98 " WHERE field_id = " . $ilDB->quote($a_field_id, "integer"));
99 return $ilDB->fetchAssoc($set);
100 }

References $DIC, and $ilDB.

Referenced by updateDBField().

+ Here is the caller graph for this function:

◆ getSlot()

ilUDFClaimingPlugin::getSlot ( )
final

Get Slot Name.

Must be overwritten in plugin class of plugin slot.

Returns
string Slot Name

Reimplemented from ilPlugin.

Definition at line 31 of file class.ilUDFClaimingPlugin.php.

32 {
33 return "UDFClaiming";
34 }

◆ getSlotId()

ilUDFClaimingPlugin::getSlotId ( )
final

Get Slot ID.

Must be overwritten in plugin class of plugin slot.

Returns
string Slot Id

Reimplemented from ilPlugin.

Definition at line 36 of file class.ilUDFClaimingPlugin.php.

37 {
38 return "udfc";
39 }

◆ handleAccesss()

static ilUDFClaimingPlugin::handleAccesss ( array &  $fields,
array  $a_access = null,
array  $a_existing = null 
)
staticprotected

Convert access array to DB columns.

Parameters
array$fields
array$a_access

Definition at line 124 of file class.ilUDFClaimingPlugin.php.

125 {
126 $map = array("visible", "changeable", "searchable", "required", "export",
127 "course_export", "group_export", "registration_visible", "visible_lua",
128 "changeable_lua", "certificate");
129 foreach ($map as $prop) {
130 if (isset($a_access[$prop])) {
131 $fields[$prop] = array("integer", (int) $a_access[$prop]);
132 } elseif (isset($a_existing[$prop])) {
133 $fields[$prop] = array("integer", (int) $a_existing[$prop]);
134 } else {
135 $fields[$prop] = array("integer", 0);
136 }
137 }
138 }

Referenced by createDBField(), and updateDBField().

+ Here is the caller graph for this function:

◆ hasDBField()

static ilUDFClaimingPlugin::hasDBField (   $a_field_id)
static

Check if field has db entry.

Parameters
int$a_field_id
Returns
bool

Definition at line 74 of file class.ilUDFClaimingPlugin.php.

75 {
76 global $DIC;
77
78 $ilDB = $DIC['ilDB'];
79
80 $set = $ilDB->query("SELECT field_id FROM udf_definition" .
81 " WHERE field_id = " . $ilDB->quote($a_field_id, "integer"));
82 return (bool) $ilDB->numRows($set);
83 }

References $DIC, and $ilDB.

◆ isValidFieldType()

static ilUDFClaimingPlugin::isValidFieldType (   $a_field_type)
staticprotected

Validate field type.

Parameters
string$a_field_type
Returns
bool

Definition at line 108 of file class.ilUDFClaimingPlugin.php.

109 {
110 // needed for the type constants
111 require_once "Services/User/classes/class.ilUserDefinedFields.php";
112
114
115 return in_array($a_field_type, $valid);
116 }
const UDF_TYPE_WYSIWYG
const UDF_TYPE_TEXT
$valid

References $valid, UDF_TYPE_SELECT, UDF_TYPE_TEXT, and UDF_TYPE_WYSIWYG.

◆ slotInit()

ilUDFClaimingPlugin::slotInit ( )
finalprotected

Object initialization done by slot.

Must be overwritten in plugin class of plugin slot.

(and should be made protected)

Reimplemented from ilPlugin.

Definition at line 41 of file class.ilUDFClaimingPlugin.php.

42 {
43 require_once "Services/User/classes/class.ilUDFPermissionHelper.php";
44 }

◆ updateDBField()

static ilUDFClaimingPlugin::updateDBField (   $a_field_id,
  $a_title,
array  $a_access = null,
array  $a_options = null 
)
static

Update field db entry.

Parameters
int$a_field_id
string$a_title
array$a_access
array$a_options
Returns
bool

Definition at line 192 of file class.ilUDFClaimingPlugin.php.

193 {
194 global $DIC;
195
196 $ilDB = $DIC['ilDB'];
197
198 if (self::hasDBField($a_field_id)) {
199 $old = self::getDBField($a_field_id);
200
201 if ($old["field_type"] != UDF_TYPE_SELECT) {
202 $a_options = null;
203 }
204
205 $fields = array(
206 "field_name" => array("text", trim($a_title)),
207 "field_values" => array("text", serialize((array) $a_options))
208 );
209
210 self::handleAccesss($fields, $a_access, $old);
211
212 $ilDB->update(
213 "udf_definition",
214 $fields,
215 array("field_id" => array("integer", $a_field_id))
216 );
217 return true;
218 }
219
220 return false;
221 }
static getDBField($a_field_id)
Get existing field values.

References $DIC, $ilDB, getDBField(), handleAccesss(), and UDF_TYPE_SELECT.

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: