ILIAS  release_7 Revision v7.30-3-g800a261c036
All Data Structures Namespaces Files Functions Variables Modules Pages
ilObjStyleSheet Class Reference

Class ilObjStyleSheet. More...

+ Inheritance diagram for ilObjStyleSheet:
+ Collaboration diagram for ilObjStyleSheet:

Public Member Functions

 __construct ($a_id=0, $a_call_by_reference=false)
 Constructor public. More...
 
 setRefId ($a_ref_id)
 Set ref id (show error message, since styles do not use ref ids) More...
 
 getRefId ()
 Get ref id (show error message, since styles do not use ref ids) More...
 
 putInTree ($a_parent_ref)
 Put in tree (show error message, since styles do not use ref ids) More...
 
 createReference ()
 Create a reference (show error message, since styles do not use ref ids) More...
 
 setUpToDate ($a_up_to_date=true)
 Set style up to date (false + update will trigger css generation next time) More...
 
 getUpToDate ()
 Get up to date. More...
 
 setScope ($a_scope)
 Set scope. More...
 
 getScope ()
 Get scope. More...
 
 assignMetaData (&$a_meta_data)
 assign meta data object More...
 
getMetaData ()
 get meta data object More...
 
 create ($a_from_style=0, $a_import_mode=false)
 Create a new style. More...
 
 deleteCharacteristic ($a_type, $a_tag, $a_class)
 Delete Characteristic. More...
 
 characteristicExists ($a_char, $a_style_type)
 Check whether characteristic exists. More...
 
 addCharacteristic ($a_type, $a_char, $a_hidden=false)
 Add characteristic. More...
 
 copyCharacteristic ( $a_from_style_id, $a_from_type, $a_from_char, $a_to_char)
 Copy characteristic. More...
 
 getCharacteristics ($a_type="", $a_no_hidden=false, $a_include_core=true)
 Get characteristics. More...
 
 setCharacteristics ($a_chars)
 Set characteristics. More...
 
 saveHideStatus ($a_type, $a_char, $a_hide)
 Save characteristic hide status. More...
 
 getHideStatus ($a_type, $a_char)
 Get characteristic hide status. More...
 
 ilClone ()
 clone style sheet (note: styles have no ref ids and return an object id) More...
 
 copyImagesToDir ($a_target)
 Copy images to directory. More...
 
 addParameter ($a_tag, $a_par, $a_type, $a_mq_id=0, $a_custom=false)
 write style parameter to db More...
 
 createImagesDirectory ()
 Create images directory <data_dir>/sty/sty_<id>/images. More...
 
 getImagesDirectory ()
 Get images directory. More...
 
 getThumbnailsDirectory ()
 Get thumbnails directory. More...
 
 getImages ()
 Get images of style. More...
 
 uploadImage ($a_file)
 Upload image. More...
 
 deleteImage ($a_file)
 Delete an image. More...
 
 deleteParameter ($a_id)
 delete style parameter More...
 
 deleteStylePar ($a_tag, $a_class, $a_par, $a_type, $a_mq_id=0, $a_custom=false)
 Delete style parameter by tag/class/parameter. More...
 
 deleteCustomStylePars ($a_tag, $a_class, $a_type, $a_mq_id=0)
 Delete style parameter by tag/class/parameter. More...
 
 deleteStyleParOfChar ($a_type, $a_class)
 Delete style parameters of characteristic. More...
 
 delete ()
 delete style object More...
 
 read ()
 read style properties More...
 
 writeCSSFile ($a_target_file="", $a_image_dir="")
 write css file to webspace directory More...
 
 getParametersOfClass ($a_type, $a_class, $a_mq_id=0)
 Get parameters of class. More...
 
 update ()
 
 updateStyleParameter ($a_id, $a_value)
 update style parameter per id More...
 
 replaceStylePar ($a_tag, $a_class, $a_par, $a_val, $a_type, $a_mq_id=0, $a_custom=false)
 Set style parameter per tag/class/parameter. More...
 
 getStyle ()
 todo: bad style! should return array of objects, not multi-dim-arrays More...
 
 setStyle ($a_style)
 set styles More...
 
 handleXmlString ($a_str)
 Handle xml strin. More...
 
 getXML ()
 get xml representation of style object todo: add mq_id More...
 
 createExportDirectory ()
 Create export directory. More...
 
 cleanExportDirectory ()
 Clear export directory. More...
 
 createExportSubDirectory ()
 Create export directory. More...
 
 setExportSubDir ($a_dir)
 Set local directory, that will be included within the zip file. More...
 
 getExportSubDir ()
 The local directory, that will be included within the zip file. More...
 
 export ()
 Create export file. More...
 
 exportXML ($a_dir)
 export style xml file to directory More...
 
 createImportDirectory ()
 Create import directory. More...
 
 import ($a_file)
 Import. More...
 
 createFromXMLFile ($a_file, $a_skip_parent_create=false)
 create style from xml file todo: add mq_id and custom More...
 
 getStyleParameterGroups ()
 Get grouped parameter. More...
 
 determineTemplateStyleClassType ($t, $k)
 
 do_3_10_Migration ()
 Migrates 3.10 style to 3.11 style. More...
 
 do_3_10_CharMigration ($a_id="")
 This is more or less a copy of Services/Migration/DBUpdate_1385/classes ilStyleMigration->addMissingStyleCharacteristics() More...
 
 do_3_9_Migration ($a_id)
 Migrate old 3.9 styles. More...
 
 getColors ()
 Get colors of style. More...
 
 addColor ($a_name, $a_code)
 Add color. More...
 
 updateColor ($a_name, $a_new_name, $a_code)
 Update color. More...
 
 removeColor ($a_name)
 Remove a color. More...
 
 colorExists ($a_color_name)
 Check whether color exists. More...
 
 getColorCodeForName ($a_name)
 Remove a color. More...
 
 getMediaQueries ()
 Get colors of style. More...
 
 addMediaQuery ($a_mquery, $order_nr=0)
 Add media query. More...
 
 getMaxMQueryOrderNr ()
 Get maximum media query order nr. More...
 
 updateMediaQuery ($a_id, $a_mquery)
 Update media query. More...
 
 getMediaQueryForId ($a_id)
 Get media query for id. More...
 
 deleteMediaQuery ($a_id)
 Delete media query. More...
 
 saveMediaQueryOrder ($a_order_nr=null)
 Save media query order. More...
 
 getTemplates ($a_type)
 Get table templates of style. More...
 
 getTemplateClasses ($a_tid)
 Get template classes. More...
 
 addTemplate ($a_type, $a_name, $a_classes)
 Add table template. More...
 
 updateTemplate ($a_t_id, $a_name, $a_classes)
 Update table template. More...
 
 addTemplateClass ($a_t_id, $a_type, $a_class)
 Update table template. More...
 
 templateExists ($a_template_name)
 Check whether template exists. More...
 
 getTemplate ($a_t_id)
 Get template. More...
 
 lookupTemplateName ($a_t_id)
 Lookup table template name for template ID. More...
 
 getTemplateXML ()
 Get table template xml. More...
 
 writeTemplatePreview ($a_t_id, $a_preview_html)
 Write table template preview. More...
 
 lookupTemplatePreview ($a_t_id)
 Lookup table template preview. More...
 
 removeTemplate ($a_t_id)
 Remove table template. More...
 
 writeStyleSetting ($a_name, $a_value)
 Write Style Setting. More...
 
 lookupStyleSetting ($a_name)
 Lookup style setting. More...
 
- Public Member Functions inherited from ilObject
 __construct ($a_id=0, $a_reference=true)
 Constructor public. More...
 
 withReferences ()
 determines wehter objects are referenced or not (got ref ids or not) More...
 
 read ()
 read object data from db into object More...
 
 getId ()
 get object id public More...
 
 setId ($a_id)
 set object id public More...
 
 setRefId ($a_id)
 set reference id public More...
 
 getRefId ()
 get reference id public More...
 
 getType ()
 get object type public More...
 
 setType ($a_type)
 set object type public More...
 
 getPresentationTitle ()
 get presentation title Normally same as title Overwritten for sessions More...
 
 getTitle ()
 get object title public More...
 
 getUntranslatedTitle ()
 get untranslated object title public More...
 
 setTitle ($a_title)
 set object title More...
 
 getDescription ()
 get object description More...
 
 setDescription ($a_desc)
 set object description More...
 
 getLongDescription ()
 get object long description (stored in object_description) More...
 
 getImportId ()
 get import id More...
 
 setImportId ($a_import_id)
 set import id More...
 
 setOfflineStatus ($a_status)
 Set offline status. More...
 
 getOfflineStatus ()
 Get offline status. More...
 
 supportsOfflineHandling ()
 Check whether object supports offline handling. More...
 
 getOwner ()
 get object owner More...
 
 getOwnerName ()
 
 setOwner ($a_owner)
 set object owner More...
 
 getCreateDate ()
 get create date public More...
 
 getLastUpdateDate ()
 get last update date public More...
 
 getDiskUsage ()
 Gets the disk usage of the object in bytes. More...
 
 create ()
 create More...
 
 update ()
 update object in db More...
 
 MDUpdateListener ($a_element)
 Meta data update listener. More...
 
 createMetaData ()
 create meta data entry More...
 
 updateMetaData ()
 update meta data entry More...
 
 deleteMetaData ()
 delete meta data entry More...
 
 updateOwner ()
 update owner of object in db More...
 
 putInTree ($a_parent_ref)
 maybe this method should be in tree object!? More...
 
 setPermissions ($a_parent_ref)
 set permissions of object More...
 
 setParentRolePermissions ($a_parent_ref)
 Initialize the permissions of parent roles (local roles of categories, global roles...) This method is overwritten in e.g courses, groups for building permission intersections with non_member templates. More...
 
 createReference ()
 creates reference for object More...
 
 countReferences ()
 count references of object More...
 
 delete ()
 delete object or referenced object (in the case of a referenced object, object data is only deleted if last reference is deleted) This function removes an object entirely from system!! More...
 
 initDefaultRoles ()
 init default roles settings Purpose of this function is to create a local role folder and local roles, that are needed depending on the object type If you want to setup default local roles you MUST overwrite this method in derived object classes (see ilObjForum for an example) public More...
 
 applyDidacticTemplate ($a_tpl_id)
 Apply template. More...
 
 setRegisterMode ($a_bool)
 
 isUserRegistered ($a_user_id=0)
 
 requireRegistration ()
 
 getXMLZip ()
 
 getHTMLDirectory ()
 
 appendCopyInfo ($a_target_id, $a_copy_id)
 Prepend Copy info if object with same name exists in that container. More...
 
 cloneDependencies ($a_target_id, $a_copy_id)
 Clone object dependencies. More...
 
 cloneMetaData ($target_obj)
 Copy meta data. More...
 
 getPossibleSubObjects ($a_filter=true)
 get all possible subobjects of this type the object can decide which types of subobjects are possible jut in time overwrite if the decision distinguish from standard model More...
 

Static Public Member Functions

static getBasicZipPath ()
 Get basic zip path. More...
 
static _writeUpToDate ($a_id, $a_up_to_date)
 Write up to date. More...
 
static _lookupUpToDate ($a_id)
 Looup up to date. More...
 
static _writeStandard ($a_id, $a_std)
 Write standard flag. More...
 
static _writeScope ($a_id, $a_scope)
 Write scope. More...
 
static _lookupStandard ($a_id)
 Lookup standard flag. More...
 
static _writeActive ($a_id, $a_active)
 Write active flag. More...
 
static _lookupActive ($a_id)
 Lookup active flag. More...
 
static _getStandardStyles ( $a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
 Get standard styles. More...
 
static _getClonableContentStyles ()
 Get all clonable styles (active standard styles and individual learning module styles with write permission). More...
 
static _getBasicStyleDom ()
 Get basic style dom. More...
 
static getBasicImageDir ()
 Get basic image dir. More...
 
static _createImagesDirectory ($a_style_id)
 Create images directory <data_dir>/sty/sty_<id>/images. More...
 
static _getImagesDirectory ($a_style_id)
 Get images directory. More...
 
static getEffectiveContentStyleId ($a_style_id, $a_type="")
 Get effective Style Id. More...
 
static getContentStylePath ($a_style_id, $add_random=true, $add_token=true)
 get content style path More...
 
static getContentPrintStyle ()
 get content print style More...
 
static getSyntaxStylePath ()
 get syntax style path More...
 
static getPlaceHolderStylePath ()
 get placeholder style path (for Page Layouts) More...
 
static _replaceStylePar ($style_id, $a_tag, $a_class, $a_par, $a_val, $a_type, $a_mq_id=0, $a_custom=false)
 
static _getStyleParameterInputType ($par)
 
static _getStyleParameterSubPar ($par)
 
static _getStyleParameters ($a_tag="")
 
static _getFilteredGroups ()
 
static _getStyleParameterNumericUnits ($a_no_percentage=false)
 
static _getStyleParameterValues ($par)
 
static _getStyleSuperTypes ()
 
static _isExpandable ($a_type)
 
static _isHideable ($a_type)
 
static _getStyleSuperTypeForType ($a_type)
 
static _getCoreStyles ()
 Get core styles. More...
 
static isCoreStyle ($a_type, $a_class)
 Is core style. More...
 
static _getTemplateClassTypes ($a_template_type="")
 Get template class types. More...
 
static _getPseudoClasses ($tag)
 
static _determineTag ($a_type)
 
static getAvailableParameters ()
 Get available parameters. More...
 
static _addMissingStyleClassesToStyle ($a_id)
 Add missing style classes to all styles. More...
 
static _addMissingStyleClassesToAllStyles ($a_styles="")
 Add missing style classes to all styles todo: add mq_id and custom handling. More...
 
static _getColorFlavor ($a_rgb, $a_i)
 Get color flavor. More...
 
static _explodeRGB ($a_rgb, $as_dec=false)
 Explode an RGB string into an array. More...
 
static _RGBToHLS ($a_rgb)
 RGB to HLS (both arrays, 0..255) More...
 
static _HLSToRGB ($a_hls)
 HLS to RGB (both arrays, 0..255) More...
 
static _lookupTemplateName ($a_t_id)
 Lookup table template name for template ID. More...
 
static _lookupTemplateIdByName ($a_style_id, $a_name)
 Lookup table template preview. More...
 
static writeStyleUsage ($a_obj_id, $a_style_id)
 Write style usage. More...
 
static lookupObjectStyle ($a_obj_id)
 Lookup object style. More...
 
static lookupObjectForStyle ($a_style_id)
 Lookup object style. More...
 
- Static Public Member Functions inherited from ilObject
static _lookupObjIdByImportId ($a_import_id)
 
static _lookupImportId ($a_obj_id)
 
static _lookupOwnerName ($a_owner_id)
 lookup owner name for owner id More...
 
static _getIdForImportId ($a_import_id)
 get current object id for import id (static) More...
 
static _getAllReferences ($a_id)
 get all reference ids of object More...
 
static _lookupTitle ($a_id)
 lookup object title More...
 
static lookupOfflineStatus ($a_obj_id)
 Lookup offline status using objectDataCache. More...
 
static _lookupOwner ($a_id)
 lookup object owner More...
 
static _getIdsForTitle ($title, $type='', $partialmatch=false)
 
static _lookupDescription ($a_id)
 lookup object description More...
 
static _lookupLastUpdate ($a_id, $a_as_string=false)
 lookup last update More...
 
static _getLastUpdateOfObjects ($a_objs)
 Get last update for a set of media objects. More...
 
static _lookupObjId ($a_id)
 
static _setDeletedDate ($a_ref_id, $a_deleted_by)
 
static setDeletedDates ($a_ref_ids, $a_user_id)
 Set deleted date. More...
 
static _resetDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes More...
 
static _lookupDeletedDate ($a_ref_id)
 only called in ilObjectGUI::insertSavedNodes More...
 
static _writeTitle ($a_obj_id, $a_title)
 write title to db (static) More...
 
static _writeDescription ($a_obj_id, $a_desc)
 write description to db (static) More...
 
static _writeImportId ($a_obj_id, $a_import_id)
 write import id to db (static) More...
 
static _lookupType ($a_id, $a_reference=false)
 lookup object type More...
 
static _isInTrash ($a_ref_id)
 checks wether object is in trash More...
 
static _hasUntrashedReference ($a_obj_id)
 checks wether an object has at least one reference that is not in trash More...
 
static _lookupObjectId ($a_ref_id)
 lookup object id More...
 
static _getObjectsDataForType ($a_type, $a_omit_trash=false)
 get all objects of a certain type More...
 
static _exists ($a_id, $a_reference=false, $a_type=null)
 checks if an object exists in object_data More...
 
static _getObjectsByType ($a_obj_type="", $a_owner="")
 Get objects by type. More...
 
static _prepareCloneSelection ($a_ref_ids, $new_type, $show_path=true)
 Prepare copy wizard object selection. More...
 
static _getIcon ( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
 Get icon for repository item. More...
 
static collectDeletionDependencies (&$deps, $a_ref_id, $a_obj_id, $a_type, $a_depth=0)
 Collect deletion dependencies. More...
 
static getDeletionDependencies ($a_obj_id)
 Get deletion dependencies. More...
 
static getLongDescriptions (array $a_obj_ids)
 Get long description data. More...
 
static getAllOwnedRepositoryObjects ($a_user_id)
 Get all ids of objects user owns. More...
 
static fixMissingTitles ($a_type, array &$a_obj_title_map)
 Try to fix missing object titles. More...
 
static _lookupCreationDate ($a_id)
 Lookup creation date. More...
 
static hasAutoRating ($a_type, $a_ref_id)
 Check if auto rating is active for parent group/course. More...
 

Data Fields

 $style
 
- Data Fields inherited from ilObject
const TITLE_LENGTH = 255
 max length of object title More...
 
const DESC_LENGTH = 128
 
 $lng
 
 $id
 
 $ref_id
 
 $type
 
 $title
 
 $untranslatedTitle
 
 $desc
 
 $long_desc
 
 $owner
 
 $create_date
 
 $last_update
 
 $import_id
 
 $register = false
 
 $referenced
 
 $objectList
 
 $max_title
 
 $max_desc
 
 $add_dots
 

Static Public Attributes

static $num_unit = array("px", "em", "ex", "%", "pt", "pc", "in", "mm", "cm")
 
static $num_unit_no_perc = array("px", "em", "ex", "pt", "pc", "in", "mm", "cm")
 
static $parameter
 
static $filtered_groups
 
static $style_super_types
 
static $expandable_types
 
static $hideable_types
 
static $assigned_tags
 
static $pseudo_classes
 
static $core_styles
 
static $templates
 

Static Protected Attributes

static $basic_style_file = "./libs/ilias/Style/basic_style/style.xml"
 
static $basic_style_zip = "./libs/ilias/Style/basic_style/style.zip"
 
static $basic_style_image_dir = "./libs/ilias/Style/basic_style/images"
 
static $basic_style_dom
 

Additional Inherited Members

- Protected Attributes inherited from ilObject
 $objDefinition
 
 $db
 
 $log
 
 $error
 
 $tree
 
 $app_event_handler
 
 $rbacadmin
 
 $rbacreview
 

Detailed Description

Class ilObjStyleSheet.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e $Id$

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

Constructor & Destructor Documentation

◆ __construct()

ilObjStyleSheet::__construct (   $a_id = 0,
  $a_call_by_reference = false 
)

Constructor public.

Parameters
integerreference_id or object_id
booleantreat the id as reference_id (true) or object_id (false)

Definition at line 559 of file class.ilObjStyleSheet.php.

References $DIC, and ILIAS\GlobalScreen\Provider\__construct().

560  {
561  global $DIC;
562 
563  $this->db = $DIC->database();
564  $this->lng = $DIC->language();
565  $this->type = "sty";
566  $this->style = array();
567  if ($a_call_by_reference) {
568  $this->ilias->raiseError("Can't instantiate style object via reference id.", $this->ilias->error_obj->FATAL);
569  }
570 
571  parent::__construct($a_id, false);
572  }
global $DIC
Definition: goto.php:24
redirection script todo: (a better solution should control the processing via a xml file) ...
__construct(Container $dic, ilPlugin $plugin)
+ Here is the call graph for this function:

Member Function Documentation

◆ _addMissingStyleClassesToAllStyles()

static ilObjStyleSheet::_addMissingStyleClassesToAllStyles (   $a_styles = "")
static

Add missing style classes to all styles todo: add mq_id and custom handling.

Definition at line 2539 of file class.ilObjStyleSheet.php.

References $core_styles, $DIC, ilObject\$id, $ilDB, $style, _createImagesDirectory(), _getBasicStyleDom(), _getCoreStyles(), _getImagesDirectory(), and ilObject\_getObjectsDataForType().

Referenced by _addMissingStyleClassesToStyle().

2540  {
2541  global $DIC;
2542 
2543  $ilDB = $DIC->database();
2544 
2545  if ($a_styles == "") {
2546  $styles = ilObject::_getObjectsDataForType("sty");
2547  } else {
2548  $styles = $a_styles;
2549  }
2552 
2553  // get all core image files
2554  $core_images = array();
2555  $core_dir = self::$basic_style_image_dir;
2556  if (is_dir($core_dir)) {
2557  $dir = opendir($core_dir);
2558  while ($file = readdir($dir)) {
2559  if (substr($file, 0, 1) != "." && is_file($core_dir . "/" . $file)) {
2560  $core_images[] = $file;
2561  }
2562  }
2563  }
2564 
2565  foreach ($styles as $style) {
2566  $id = $style["id"];
2567 
2568  foreach ($core_styles as $cs) {
2569  // check, whether core style class exists
2570  $set = $ilDB->queryF(
2571  "SELECT * FROM style_char WHERE style_id = %s " .
2572  "AND type = %s AND characteristic = %s",
2573  array("integer", "text", "text"),
2574  array($id, $cs["type"], $cs["class"])
2575  );
2576 
2577  // if not, add core style class
2578  if (!($rec = $ilDB->fetchAssoc($set))) {
2579  $ilDB->manipulateF(
2580  "INSERT INTO style_char (style_id, type, characteristic) " .
2581  " VALUES (%s,%s,%s) ",
2582  array("integer", "text", "text"),
2583  array($id, $cs["type"], $cs["class"])
2584  );
2585 
2586  $xpath = new DOMXPath($bdom);
2587  $par_nodes = $xpath->query("/StyleSheet/Style[@Tag = '" . $cs["tag"] . "' and @Type='" .
2588  $cs["type"] . "' and @Class='" . $cs["class"] . "']/StyleParameter");
2589  foreach ($par_nodes as $par_node) {
2590  // check whether style parameter exists
2591  $set = $ilDB->queryF(
2592  "SELECT * FROM style_parameter WHERE style_id = %s " .
2593  "AND type = %s AND class = %s AND tag = %s AND parameter = %s",
2594  array("integer", "text", "text", "text", "text"),
2595  array($id, $cs["type"], $cs["class"],
2596  $cs["tag"], $par_node->getAttribute("Name"))
2597  );
2598 
2599  // if not, create style parameter
2600  if (!($rec = $ilDB->fetchAssoc($set))) {
2601  $spid = $ilDB->nextId("style_parameter");
2602  $st = $ilDB->manipulateF(
2603  "INSERT INTO style_parameter (id, style_id, type, class, tag, parameter, value) " .
2604  " VALUES (%s,%s,%s,%s,%s,%s,%s)",
2605  array("integer", "integer", "text", "text", "text", "text", "text"),
2606  array($spid, $id, $cs["type"], $cs["class"], $cs["tag"],
2607  $par_node->getAttribute("Name"), $par_node->getAttribute("Value"))
2608  );
2609  }
2610  }
2611  }
2612  }
2613 
2614  // now check, whether some core image files are missing
2617  reset($core_images);
2618  foreach ($core_images as $cim) {
2619  if (!is_file($imdir . "/" . $cim)) {
2620  copy($core_dir . "/" . $cim, $imdir . "/" . $cim);
2621  }
2622  }
2623  }
2624  }
static _getBasicStyleDom()
Get basic style dom.
static _getCoreStyles()
Get core styles.
global $DIC
Definition: goto.php:24
static _createImagesDirectory($a_style_id)
Create images directory <data_dir>/sty/sty_<id>/images.
static _getImagesDirectory($a_style_id)
Get images directory.
global $ilDB
static _getObjectsDataForType($a_type, $a_omit_trash=false)
get all objects of a certain type
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _addMissingStyleClassesToStyle()

static ilObjStyleSheet::_addMissingStyleClassesToStyle (   $a_id)
static

Add missing style classes to all styles.

Definition at line 2529 of file class.ilObjStyleSheet.php.

References _addMissingStyleClassesToAllStyles().

Referenced by import(), and ilObjStyleSheetGUI\saveObject().

2530  {
2531  $styles = array(array("id" => $a_id));
2533  }
static _addMissingStyleClassesToAllStyles($a_styles="")
Add missing style classes to all styles todo: add mq_id and custom handling.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _createImagesDirectory()

static ilObjStyleSheet::_createImagesDirectory (   $a_style_id)
static

Create images directory <data_dir>/sty/sty_<id>/images.

Definition at line 1279 of file class.ilObjStyleSheet.php.

References $DIC, $ilErr, ilUtil\getWebspaceDir(), and ilUtil\makeDir().

Referenced by _addMissingStyleClassesToAllStyles(), create(), and createImagesDirectory().

1280  {
1281  global $DIC;
1282 
1283  $ilErr = $DIC["ilErr"];
1284 
1285  $sty_data_dir = ilUtil::getWebspaceDir() . "/sty";
1286  ilUtil::makeDir($sty_data_dir);
1287  if (!is_writable($sty_data_dir)) {
1288  $ilErr->raiseError("Style data directory (" . $sty_data_dir
1289  . ") not writeable.", $ilErr->FATAL);
1290  }
1291 
1292  $style_dir = $sty_data_dir . "/sty_" . $a_style_id;
1293  ilUtil::makeDir($style_dir);
1294  if (!@is_dir($style_dir)) {
1295  $ilErr->raiseError("Creation of style directory failed (" .
1296  $style_dir . ").", $ilErr->FATAL);
1297  }
1298 
1299  // create images subdirectory
1300  $im_dir = $style_dir . "/images";
1301  ilUtil::makeDir($im_dir);
1302  if (!@is_dir($im_dir)) {
1303  $ilErr->raiseError("Creation of Import Directory failed (" .
1304  $im_dir . ").", $ilErr->FATAL);
1305  }
1306 
1307  // create thumbnails directory
1308  $thumb_dir = $style_dir . "/images/thumbnails";
1309  ilUtil::makeDir($thumb_dir);
1310  if (!@is_dir($thumb_dir)) {
1311  $ilErr->raiseError("Creation of Import Directory failed (" .
1312  $thumb_dir . ").", $ilErr->FATAL);
1313  }
1314  }
$ilErr
Definition: raiseError.php:18
global $DIC
Definition: goto.php:24
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
static getWebspaceDir($mode="filesystem")
get webspace directory
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _determineTag()

static ilObjStyleSheet::_determineTag (   $a_type)
static

Definition at line 2507 of file class.ilObjStyleSheet.php.

Referenced by _getCoreStyles(), copyCharacteristic(), ilObjStyleSheetGUI\deleteTemplateObject(), ilStyleTableGUI\fillRow(), getXML(), and ilObjStyleSheetGUI\saveCharacteristicObject().

2508  {
2509  return self::$assigned_tags[$a_type];
2510  }
+ Here is the caller graph for this function:

◆ _explodeRGB()

static ilObjStyleSheet::_explodeRGB (   $a_rgb,
  $as_dec = false 
)
static

Explode an RGB string into an array.

Definition at line 3043 of file class.ilObjStyleSheet.php.

Referenced by _getColorFlavor().

3044  {
3045  $r["r"] = substr($a_rgb, 0, 2);
3046  $r["g"] = substr($a_rgb, 2, 2);
3047  $r["b"] = substr($a_rgb, 4, 2);
3048 
3049  if ($as_dec) {
3050  $r["r"] = (int) hexdec($r["r"]);
3051  $r["g"] = (int) hexdec($r["g"]);
3052  $r["b"] = (int) hexdec($r["b"]);
3053  }
3054 
3055  return $r;
3056  }
+ Here is the caller graph for this function:

◆ _getBasicStyleDom()

static ilObjStyleSheet::_getBasicStyleDom ( )
static

Get basic style dom.

Definition at line 863 of file class.ilObjStyleSheet.php.

Referenced by _addMissingStyleClassesToAllStyles().

864  {
865  if (!is_object(self::$basic_style_dom)) {
866  self::$basic_style_dom = new DOMDocument();
867  self::$basic_style_dom->load(self::$basic_style_file);
868  }
869 
870  return self::$basic_style_dom;
871  }
+ Here is the caller graph for this function:

◆ _getClonableContentStyles()

static ilObjStyleSheet::_getClonableContentStyles ( )
static

Get all clonable styles (active standard styles and individual learning module styles with write permission).

Definition at line 809 of file class.ilObjStyleSheet.php.

References $DIC, ilObject\$id, $ilDB, ilObject\$ref_id, ilObject\_getAllReferences(), ilObjContentObject\_lookupContObjIdByStyleId(), and ilObject\_lookupTitle().

Referenced by ilObjStyleSheetGUI\createObject().

810  {
811  global $DIC;
812 
813  $ilAccess = $DIC->access();
814  $ilDB = $DIC->database();
815 
816  $clonable_styles = array();
817 
818  $q = "SELECT * FROM style_data";
819  $style_set = $ilDB->query($q);
820  while ($style_rec = $ilDB->fetchAssoc($style_set)) {
821  $clonable = false;
822  if ($style_rec["standard"] == 1) {
823  if ($style_rec["active"] == 1) {
824  $clonable = true;
825  }
826  } else {
827  include_once("./Modules/LearningModule/classes/class.ilObjContentObject.php");
828  $obj_ids = ilObjContentObject::_lookupContObjIdByStyleId($style_rec["id"]);
829  if (count($obj_ids) == 0) {
830  $obj_ids = self::lookupObjectForStyle($style_rec["id"]);
831  }
832  foreach ($obj_ids as $id) {
833  $ref = ilObject::_getAllReferences($id);
834  foreach ($ref as $ref_id) {
835  if ($ilAccess->checkAccess("write", "", $ref_id)) {
836  $clonable = true;
837  }
838  }
839  }
840  }
841  if ($clonable) {
842  $clonable_styles[$style_rec["id"]] =
843  ilObject::_lookupTitle($style_rec["id"]);
844  }
845  }
846 
847  asort($clonable_styles);
848 
849  return $clonable_styles;
850  }
static _lookupContObjIdByStyleId($a_style_id)
lookup style sheet ID
static _lookupTitle($a_id)
lookup object title
static _getAllReferences($a_id)
get all reference ids of object
global $DIC
Definition: goto.php:24
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getColorFlavor()

static ilObjStyleSheet::_getColorFlavor (   $a_rgb,
  $a_i 
)
static

Get color flavor.

Definition at line 3019 of file class.ilObjStyleSheet.php.

References _explodeRGB(), _HLSToRGB(), and _RGBToHLS().

Referenced by ilStyleColorTableGUI\fillRow(), and getColorCodeForName().

3020  {
3021  $rgb = ilObjStyleSheet::_explodeRGB($a_rgb, true);
3022  $hls = ilObjStyleSheet::_RGBToHLS($rgb);
3023 
3024  if ($a_i > 0) {
3025  $hls["l"] = $hls["l"] + ((255 - $hls["l"]) * ($a_i / 100));
3026  }
3027  if ($a_i < 0) {
3028  $hls["l"] = $hls["l"] - (($hls["l"]) * (-$a_i / 100));
3029  }
3030 
3031  $rgb = ilObjStyleSheet::_HLSToRGB($hls);
3032 
3033  foreach ($rgb as $k => $v) {
3034  $rgb[$k] = str_pad(dechex($v), 2, "0", STR_PAD_LEFT);
3035  }
3036 
3037  return $rgb["r"] . $rgb["g"] . $rgb["b"];
3038  }
static _explodeRGB($a_rgb, $as_dec=false)
Explode an RGB string into an array.
static _HLSToRGB($a_hls)
HLS to RGB (both arrays, 0..255)
static _RGBToHLS($a_rgb)
RGB to HLS (both arrays, 0..255)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getCoreStyles()

static ilObjStyleSheet::_getCoreStyles ( )
static

Get core styles.

Definition at line 2455 of file class.ilObjStyleSheet.php.

References _determineTag().

Referenced by ilStyleTableGUI\__construct(), _addMissingStyleClassesToAllStyles(), deleteCharacteristic(), ilObjStyleSheetGUI\deleteCharacteristicConfirmationObject(), and ilObjStyleSheetGUI\deleteCoreCharMessage().

2456  {
2457  $c_styles = array();
2458  foreach (self::$core_styles as $cstyle) {
2459  $c_styles[$cstyle["type"] . "." . ilObjStyleSheet::_determineTag($cstyle["type"]) . "." . $cstyle["class"]]
2460  = array("type" => $cstyle["type"],
2461  "tag" => ilObjStyleSheet::_determineTag($cstyle["type"]),
2462  "class" => $cstyle["class"]);
2463  }
2464  return $c_styles;
2465  }
static _determineTag($a_type)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getFilteredGroups()

static ilObjStyleSheet::_getFilteredGroups ( )
static

Definition at line 2402 of file class.ilObjStyleSheet.php.

Referenced by ilObjStyleSheetGUI\getValues(), and ilObjStyleSheetGUI\initTagStyleForm().

2403  {
2404  return self::$filtered_groups;
2405  }
+ Here is the caller graph for this function:

◆ _getImagesDirectory()

static ilObjStyleSheet::_getImagesDirectory (   $a_style_id)
static

Get images directory.

Definition at line 1327 of file class.ilObjStyleSheet.php.

References ilUtil\getWebspaceDir().

Referenced by _addMissingStyleClassesToAllStyles(), getImagesDirectory(), ilStyleDataSet\getXmlRecord(), and ilStyleDataSet\importRecord().

1328  {
1329  return ilUtil::getWebspaceDir() . "/sty/sty_" . $a_style_id .
1330  "/images";
1331  }
static getWebspaceDir($mode="filesystem")
get webspace directory
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getPseudoClasses()

static ilObjStyleSheet::_getPseudoClasses (   $tag)
static

Definition at line 2497 of file class.ilObjStyleSheet.php.

2498  {
2499  return self::$pseudo_classes[$tag];
2500  }

◆ _getStandardStyles()

static ilObjStyleSheet::_getStandardStyles (   $a_exclude_default_style = false,
  $a_include_deactivated = false,
  $a_scope = 0 
)
static

Get standard styles.

Definition at line 763 of file class.ilObjStyleSheet.php.

References $DIC, $ilDB, $ilSetting, $res, ilObject\$tree, and ilObject\_lookupTitle().

Referenced by ilObjContentPageGUI\buildStylePropertiesForm(), ilPageLayoutGUI\initForm(), ilObjSCORM2004LearningModuleGUI\initPropertiesEditableForm(), ilObjContentObjectGUI\initStylePropertiesForm(), ilObjPortfolioBaseGUI\initStylePropertiesForm(), ilObjSCORM2004LearningModuleGUI\initStylePropertiesForm(), ilObjGlossaryGUI\initStylePropertiesForm(), ilObjWikiGUI\initStylePropertiesForm(), ilContainerGUI\initStylePropertiesForm(), ilObjBlogGUI\initStylePropertiesForm(), and ilObjSCORM2004LearningModuleGUI\properties().

767  {
768  global $DIC;
769 
770  $ilDB = $DIC->database();
771  $ilSetting = $DIC->settings();
772  $tree = $DIC->repositoryTree();
773 
774  $default_style = $ilSetting->get("default_content_style_id");
775 
776  $and_str = "";
777  if (!$a_include_deactivated) {
778  $and_str = " AND active = 1";
779  }
780 
781  $q = "SELECT * FROM style_data " .
782  " WHERE standard = 1" . $and_str;
783  $res = $ilDB->query($q);
784  $styles = array();
785  while ($sty = $ilDB->fetchAssoc($res)) {
786  if (!$a_exclude_default_style || $default_style != $sty["id"]) {
787  // check scope
788  if ($a_scope > 0 && $sty["category"] > 0) {
789  if ($tree->isInTree($sty["category"]) &&
790  $tree->isInTree($a_scope)) {
791  $path = $tree->getPathId($a_scope);
792  if (!in_array($sty["category"], $path)) {
793  continue;
794  }
795  }
796  }
797  $styles[$sty["id"]] = ilObject::_lookupTitle($sty["id"]);
798  }
799  }
800 
801  return $styles;
802  }
static _lookupTitle($a_id)
lookup object title
foreach($_POST as $key=> $value) $res
global $DIC
Definition: goto.php:24
global $ilSetting
Definition: privfeed.php:17
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ _getStyleParameterInputType()

static ilObjStyleSheet::_getStyleParameterInputType (   $par)
static

Definition at line 2374 of file class.ilObjStyleSheet.php.

Referenced by ilObjStyleSheetGUI\initTagStyleForm().

2375  {
2376  $input = self::$parameter[$par]["input"];
2377  return $input;
2378  }
+ Here is the caller graph for this function:

◆ _getStyleParameterNumericUnits()

static ilObjStyleSheet::_getStyleParameterNumericUnits (   $a_no_percentage = false)
static

Definition at line 2407 of file class.ilObjStyleSheet.php.

Referenced by ilFontSizeInputGUI\insert(), ilNumericStyleValueInputGUI\insert(), ilBackgroundPositionInputGUI\insert(), ilTRBLBorderWidthInputGUI\insert(), and ilTRBLNumericStyleValueInputGUI\insert().

2408  {
2409  if ($a_no_percentage) {
2410  return self::$num_unit_no_perc;
2411  }
2412  return self::$num_unit;
2413  }
+ Here is the caller graph for this function:

◆ _getStyleParameters()

static ilObjStyleSheet::_getStyleParameters (   $a_tag = "")
static

Definition at line 2386 of file class.ilObjStyleSheet.php.

Referenced by ilObjStyleSheetGUI\getValues(), and ilObjStyleSheetGUI\saveTagStyle().

2387  {
2388  if ($a_tag == "") {
2389  return self::$parameter;
2390  }
2391  $par = array();
2392  foreach (self::$parameter as $k => $v) {
2393  if (is_array(self::$filtered_groups[$v["group"]]) &&
2394  !in_array($a_tag, self::$filtered_groups[$v["group"]])) {
2395  continue;
2396  }
2397  $par[$k] = $v;
2398  }
2399  return $par;
2400  }
+ Here is the caller graph for this function:

◆ _getStyleParameterSubPar()

static ilObjStyleSheet::_getStyleParameterSubPar (   $par)
static

Definition at line 2380 of file class.ilObjStyleSheet.php.

2381  {
2382  $subpar = self::$parameter[$par]["subpar"];
2383  return $subpar;
2384  }

◆ _getStyleParameterValues()

static ilObjStyleSheet::_getStyleParameterValues (   $par)
static

Definition at line 2415 of file class.ilObjStyleSheet.php.

Referenced by ilFontSizeInputGUI\insert(), ilTRBLBorderStyleInputGUI\insert(), ilBackgroundPositionInputGUI\insert(), and ilTRBLBorderWidthInputGUI\insert().

2416  {
2417  return self::$parameter[$par]["values"];
2418  }
+ Here is the caller graph for this function:

◆ _getStyleSuperTypeForType()

static ilObjStyleSheet::_getStyleSuperTypeForType (   $a_type)
static

Definition at line 2440 of file class.ilObjStyleSheet.php.

Referenced by ilObjStyleSheetGUI\__construct().

2441  {
2442  foreach (self::$style_super_types as $s => $t) {
2443  if (in_array($a_type, $t)) {
2444  return $s;
2445  }
2446  if ($a_type == $s) {
2447  return $s;
2448  }
2449  }
2450  }
+ Here is the caller graph for this function:

◆ _getStyleSuperTypes()

static ilObjStyleSheet::_getStyleSuperTypes ( )
static

Definition at line 2425 of file class.ilObjStyleSheet.php.

Referenced by ilStyleTableGUI\__construct(), ilObjStyleSheetGUI\editObject(), ilStyleTableGUI\fillRow(), ilObjStyleSheetGUI\initCharacteristicForm(), and ilObjStyleSheetGUI\setSubTabs().

2426  {
2427  return self::$style_super_types;
2428  }
+ Here is the caller graph for this function:

◆ _getTemplateClassTypes()

static ilObjStyleSheet::_getTemplateClassTypes (   $a_template_type = "")
static

Get template class types.

Definition at line 2487 of file class.ilObjStyleSheet.php.

Referenced by create(), ilObjStyleSheetGUI\getTemplateFormValues(), getTemplateXML(), getXML(), ilObjStyleSheetGUI\initTemplateForm(), ilObjStyleSheetGUI\saveTemplateObject(), ilObjStyleSheetGUI\setTemplatesSubTabs(), and ilObjStyleSheetGUI\updateTemplateObject().

2488  {
2489  if ($a_template_type == "") {
2490  return self::$templates;
2491  }
2492 
2493  return self::$templates[$a_template_type];
2494  }
+ Here is the caller graph for this function:

◆ _HLSToRGB()

static ilObjStyleSheet::_HLSToRGB (   $a_hls)
static

HLS to RGB (both arrays, 0..255)

Definition at line 3103 of file class.ilObjStyleSheet.php.

Referenced by _getColorFlavor().

3104  {
3105  $h = $a_hls["h"] / 255;
3106  $l = $a_hls["l"] / 255;
3107  $s = $a_hls["s"] / 255;
3108 
3109  $rgb["r"] = $rgb["g"] = $rgb["b"] = 0;
3110 
3111  // If S=0, define R, G, and B all to L
3112  if ($s == 0) {
3113  $rgb["r"] = $rgb["g"] = $rgb["b"] = $l;
3114  } else {
3115  if ($l < 0.5) {
3116  $temp2 = $l * (1.0 + $s);
3117  } else {
3118  $temp2 = $l + $s - $l * $s;
3119  }
3120 
3121  $temp1 = 2.0 * $l - $temp2;
3122 
3123 
3124  # For each of R, G, B, compute another temporary value, temp3, as follows:
3125  foreach ($rgb as $k => $v) {
3126  switch ($k) {
3127  case "r":
3128  $temp3 = $h + 1.0 / 3.0;
3129  break;
3130 
3131  case "g":
3132  $temp3 = $h;
3133  break;
3134 
3135  case "b":
3136  $temp3 = $h - 1.0 / 3.0;
3137  break;
3138  }
3139  if ($temp3 < 0) {
3140  $temp3 = $temp3 + 1.0;
3141  }
3142  if ($temp3 > 1) {
3143  $temp3 = $temp3 - 1.0;
3144  }
3145 
3146  if (6.0 * $temp3 < 1) {
3147  $rgb[$k] = $temp1 + ($temp2 - $temp1) * 6.0 * $temp3;
3148  } elseif (2.0 * $temp3 < 1) {
3149  $rgb[$k] = $temp2;
3150  } elseif (3.0 * $temp3 < 2) {
3151  $rgb[$k] = $temp1 + ($temp2 - $temp1) * ((2.0 / 3.0) - $temp3) * 6.0;
3152  } else {
3153  $rgb[$k] = $temp1;
3154  }
3155  }
3156  }
3157 
3158  $rgb["r"] = round($rgb["r"] * 255);
3159  $rgb["g"] = round($rgb["g"] * 255);
3160  $rgb["b"] = round($rgb["b"] * 255);
3161 
3162  return $rgb;
3163  }
+ Here is the caller graph for this function:

◆ _isExpandable()

static ilObjStyleSheet::_isExpandable (   $a_type)
static

Definition at line 2430 of file class.ilObjStyleSheet.php.

Referenced by ilStyleTableGUI\__construct(), ilObjStyleSheetGUI\editObject(), and ilObjStyleSheetGUI\initCharacteristicForm().

2431  {
2432  return in_array($a_type, self::$expandable_types);
2433  }
+ Here is the caller graph for this function:

◆ _isHideable()

static ilObjStyleSheet::_isHideable (   $a_type)
static

Definition at line 2435 of file class.ilObjStyleSheet.php.

Referenced by ilStyleTableGUI\__construct(), and ilStyleTableGUI\fillRow().

2436  {
2437  return in_array($a_type, self::$hideable_types);
2438  }
+ Here is the caller graph for this function:

◆ _lookupActive()

static ilObjStyleSheet::_lookupActive (   $a_id)
static

Lookup active flag.

Definition at line 746 of file class.ilObjStyleSheet.php.

References $DIC, $ilDB, and $res.

Referenced by ilContentStyleSettingsGUI\edit().

747  {
748  global $DIC;
749 
750  $ilDB = $DIC->database();
751 
752  $q = "SELECT * FROM style_data " .
753  " WHERE id = " . $ilDB->quote($a_id, "integer");
754  $res = $ilDB->query($q);
755  $sty = $ilDB->fetchAssoc($res);
756 
757  return (boolean) $sty["active"];
758  }
foreach($_POST as $key=> $value) $res
global $DIC
Definition: goto.php:24
global $ilDB
+ Here is the caller graph for this function:

◆ _lookupStandard()

static ilObjStyleSheet::_lookupStandard (   $a_id)
static

Lookup standard flag.

Definition at line 714 of file class.ilObjStyleSheet.php.

References $DIC, $ilDB, and $res.

Referenced by ilContainer\_exportContainerSettings(), ilObjCategoryGUI\afterSave(), ilObjContentPageGUI\buildStylePropertiesForm(), ilObjPortfolioBase\cloneBasics(), ilObjWiki\cloneObject(), ilObjGlossary\cloneObject(), ilObjContentObject\cloneObject(), ilObjSCORM2004LearningModule\copyAuthoredContent(), ilObjBlog\doCloneObject(), ilObjSCORM2004LearningModuleGUI\initPropertiesEditableForm(), ilObjContentObjectGUI\initStylePropertiesForm(), ilObjPortfolioBaseGUI\initStylePropertiesForm(), ilObjSCORM2004LearningModuleGUI\initStylePropertiesForm(), ilObjGlossaryGUI\initStylePropertiesForm(), ilObjWikiGUI\initStylePropertiesForm(), ilContainerGUI\initStylePropertiesForm(), ilObjBlogGUI\initStylePropertiesForm(), ilObjSCORM2004LearningModuleGUI\properties(), ilObjSCORM2004LearningModuleGUI\saveProperties(), ilObjContentPageGUI\saveStyleSettings(), ilObjContentObjectGUI\saveStyleSettings(), ilObjPortfolioBaseGUI\saveStyleSettings(), ilObjSCORM2004LearningModuleGUI\saveStyleSettings(), ilObjGlossaryGUI\saveStyleSettings(), ilObjBlogGUI\saveStyleSettings(), ilObjWikiGUI\saveStyleSettingsObject(), ilContainerGUI\saveStyleSettingsObject(), and ilObjContentPage\writeStyleSheetId().

715  {
716  global $DIC;
717 
718  $ilDB = $DIC->database();
719 
720  $q = "SELECT * FROM style_data " .
721  " WHERE id = " . $ilDB->quote($a_id, "integer");
722  $res = $ilDB->query($q);
723  $sty = $ilDB->fetchAssoc($res);
724 
725  return (boolean) $sty["standard"];
726  }
foreach($_POST as $key=> $value) $res
global $DIC
Definition: goto.php:24
global $ilDB
+ Here is the caller graph for this function:

◆ _lookupTemplateIdByName()

static ilObjStyleSheet::_lookupTemplateIdByName (   $a_style_id,
  $a_name 
)
static

Lookup table template preview.

Definition at line 3583 of file class.ilObjStyleSheet.php.

References $DIC, and $ilDB.

Referenced by ilPCTabsGUI\getFormValues(), and ilPCTableGUI\getPropertiesFormValues().

3584  {
3585  global $DIC;
3586 
3587  $ilDB = $DIC->database();
3588 
3589  $set = $ilDB->query("SELECT id FROM style_template " .
3590  " WHERE style_id = " . $ilDB->quote($a_style_id, "integer") .
3591  " AND name = " . $ilDB->quote($a_name, "text"));
3592  if ($rec = $ilDB->fetchAssoc($set)) {
3593  return $rec["id"];
3594  }
3595 
3596  return false;
3597  }
global $DIC
Definition: goto.php:24
global $ilDB
+ Here is the caller graph for this function:

◆ _lookupTemplateName()

static ilObjStyleSheet::_lookupTemplateName (   $a_t_id)
static

Lookup table template name for template ID.

Definition at line 3482 of file class.ilObjStyleSheet.php.

References $DIC, and $ilDB.

Referenced by ilObjStyleSheetGUI\updateTemplateObject().

3483  {
3484  global $DIC;
3485 
3486  $ilDB = $DIC->database();
3487 
3488  $set = $ilDB->query("SELECT name FROM style_template WHERE " .
3489  " id = " . $ilDB->quote($a_t_id, "integer"));
3490 
3491  if ($rec = $ilDB->fetchAssoc($set)) {
3492  return $rec["name"];
3493  }
3494 
3495  return false;
3496  }
global $DIC
Definition: goto.php:24
global $ilDB
+ Here is the caller graph for this function:

◆ _lookupUpToDate()

static ilObjStyleSheet::_lookupUpToDate (   $a_id)
static

Looup up to date.

Definition at line 667 of file class.ilObjStyleSheet.php.

References $DIC, $ilDB, and $res.

Referenced by getContentStylePath().

668  {
669  global $DIC;
670 
671  $ilDB = $DIC->database();
672 
673  $q = "SELECT uptodate FROM style_data " .
674  " WHERE id = " . $ilDB->quote($a_id, "integer");
675  $res = $ilDB->query($q);
676  $sty = $ilDB->fetchAssoc($res);
677 
678  return (boolean) $sty["uptodate"];
679  }
foreach($_POST as $key=> $value) $res
global $DIC
Definition: goto.php:24
global $ilDB
+ Here is the caller graph for this function:

◆ _replaceStylePar()

static ilObjStyleSheet::_replaceStylePar (   $style_id,
  $a_tag,
  $a_class,
  $a_par,
  $a_val,
  $a_type,
  $a_mq_id = 0,
  $a_custom = false 
)
static

Definition at line 1923 of file class.ilObjStyleSheet.php.

References $DIC, ilObject\$id, and $ilDB.

Referenced by replaceStylePar().

1924  {
1925  global $DIC;
1926 
1927  $ilDB = $DIC->database();
1928 
1929  $q = "SELECT * FROM style_parameter WHERE " .
1930  " style_id = " . $ilDB->quote($style_id, "integer") . " AND " .
1931  " tag = " . $ilDB->quote($a_tag, "text") . " AND " .
1932  " class = " . $ilDB->quote($a_class, "text") . " AND " .
1933  " mq_id = " . $ilDB->quote($a_mq_id, "integer") . " AND " .
1934  " custom = " . $ilDB->quote($a_custom, "integer") . " AND " .
1935  " " . $ilDB->equals("type", $a_type, "text", true) . " AND " .
1936  " parameter = " . $ilDB->quote($a_par, "text");
1937 
1938  $set = $ilDB->query($q);
1939 
1940  if ($rec = $set->fetchRow()) {
1941  $q = "UPDATE style_parameter SET " .
1942  " value = " . $ilDB->quote($a_val, "text") . " WHERE " .
1943  " style_id = " . $ilDB->quote($style_id, "integer") . " AND " .
1944  " tag = " . $ilDB->quote($a_tag, "text") . " AND " .
1945  " class = " . $ilDB->quote($a_class, "text") . " AND " .
1946  " mq_id = " . $ilDB->quote($a_mq_id, "integer") . " AND " .
1947  " custom = " . $ilDB->quote($a_custom, "integer") . " AND " .
1948  " " . $ilDB->equals("type", $a_type, "text", true) . " AND " .
1949  " parameter = " . $ilDB->quote($a_par, "text");
1950 
1951  $ilDB->manipulate($q);
1952  } else {
1953  $id = $ilDB->nextId("style_parameter");
1954  $q = "INSERT INTO style_parameter (id, value, style_id, tag, class, type, parameter, mq_id, custom) VALUES " .
1955  " (" .
1956  $ilDB->quote($id, "integer") . "," .
1957  $ilDB->quote($a_val, "text") . "," .
1958  " " . $ilDB->quote($style_id, "integer") . "," .
1959  " " . $ilDB->quote($a_tag, "text") . "," .
1960  " " . $ilDB->quote($a_class, "text") . "," .
1961  " " . $ilDB->quote($a_type, "text") . "," .
1962  " " . $ilDB->quote($a_par, "text") . "," .
1963  " " . $ilDB->quote($a_mq_id, "integer") . "," .
1964  " " . $ilDB->quote($a_custom, "integer") .
1965  ")";
1966 
1967  $ilDB->manipulate($q);
1968  }
1969  }
global $DIC
Definition: goto.php:24
global $ilDB
+ Here is the caller graph for this function:

◆ _RGBToHLS()

static ilObjStyleSheet::_RGBToHLS (   $a_rgb)
static

RGB to HLS (both arrays, 0..255)

Definition at line 3061 of file class.ilObjStyleSheet.php.

References Vendor\Package\$b.

Referenced by _getColorFlavor().

3062  {
3063  $r = $a_rgb["r"] / 255;
3064  $g = $a_rgb["g"] / 255;
3065  $b = $a_rgb["b"] / 255;
3066 
3067  // max / min
3068  $max = max($r, $g, $b);
3069  $min = min($r, $g, $b);
3070 
3071  //lightness
3072  $l = ($max + $min) / 2;
3073 
3074  if ($max == $min) {
3075  $s = 0;
3076  $h = 0;
3077  } else {
3078  if ($l < 0.5) {
3079  $s = ($max - $min) / ($max + $min);
3080  } else {
3081  $s = ($max - $min) / (2.0 - $max - $min);
3082  }
3083 
3084  if ($r == $max) {
3085  $h = ($g - $b) / ($max - $min);
3086  } elseif ($g == $max) {
3087  $h = 2.0 + ($b - $r) / ($max - $min);
3088  } elseif ($b == $max) {
3089  $h = 4.0 + ($r - $g) / ($max - $min);
3090  }
3091  }
3092 
3093  $hls["h"] = round(($h / 6) * 255);
3094  $hls["l"] = round($l * 255);
3095  $hls["s"] = round($s * 255);
3096 
3097  return $hls;
3098  }
+ Here is the caller graph for this function:

◆ _writeActive()

static ilObjStyleSheet::_writeActive (   $a_id,
  $a_active 
)
static

Write active flag.

Definition at line 731 of file class.ilObjStyleSheet.php.

References $DIC, and $ilDB.

Referenced by ilContentStyleSettingsGUI\saveActiveStyles().

732  {
733  global $DIC;
734 
735  $ilDB = $DIC->database();
736 
737  $q = "UPDATE style_data SET active = " .
738  $ilDB->quote((int) $a_active, "integer") .
739  " WHERE id = " . $ilDB->quote($a_id, "integer");
740  $ilDB->manipulate($q);
741  }
global $DIC
Definition: goto.php:24
global $ilDB
+ Here is the caller graph for this function:

◆ _writeScope()

static ilObjStyleSheet::_writeScope (   $a_id,
  $a_scope 
)
static

Write scope.

Definition at line 699 of file class.ilObjStyleSheet.php.

References $DIC, and $ilDB.

Referenced by ilContentStyleSettingsGUI\saveScope().

700  {
701  global $DIC;
702 
703  $ilDB = $DIC->database();
704 
705  $q = "UPDATE style_data SET category = " .
706  $ilDB->quote((int) $a_scope, "integer") .
707  " WHERE id = " . $ilDB->quote($a_id, "integer");
708  $ilDB->manipulate($q);
709  }
global $DIC
Definition: goto.php:24
global $ilDB
+ Here is the caller graph for this function:

◆ _writeStandard()

static ilObjStyleSheet::_writeStandard (   $a_id,
  $a_std 
)
static

Write standard flag.

Definition at line 684 of file class.ilObjStyleSheet.php.

References $DIC, and $ilDB.

Referenced by ilObjStyleSheetGUI\copyStyleObject(), ilObjStyleSheetGUI\importStyleObject(), and ilObjStyleSheetGUI\saveObject().

685  {
686  global $DIC;
687 
688  $ilDB = $DIC->database();
689 
690  $q = "UPDATE style_data SET standard = " .
691  $ilDB->quote((int) $a_std, "integer") .
692  " WHERE id = " . $ilDB->quote($a_id, "integer");
693  $ilDB->manipulate($q);
694  }
global $DIC
Definition: goto.php:24
global $ilDB
+ Here is the caller graph for this function:

◆ _writeUpToDate()

static ilObjStyleSheet::_writeUpToDate (   $a_id,
  $a_up_to_date 
)
static

Write up to date.

Definition at line 652 of file class.ilObjStyleSheet.php.

References $DIC, and $ilDB.

Referenced by addCharacteristic(), deleteCharacteristic(), ilObjStyleSheetGUI\pasteCharacteristicsObject(), updateColor(), and writeCSSFile().

653  {
654  global $DIC;
655 
656  $ilDB = $DIC->database();
657 
658  $q = "UPDATE style_data SET uptodate = " .
659  $ilDB->quote((int) $a_up_to_date, "integer") .
660  " WHERE id = " . $ilDB->quote($a_id, "integer");
661  $ilDB->manipulate($q);
662  }
global $DIC
Definition: goto.php:24
global $ilDB
+ Here is the caller graph for this function:

◆ addCharacteristic()

ilObjStyleSheet::addCharacteristic (   $a_type,
  $a_char,
  $a_hidden = false 
)

Add characteristic.

Definition at line 1062 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, _writeUpToDate(), ilObject\getId(), and setUpToDate().

Referenced by copyCharacteristic().

1063  {
1064  $ilDB = $this->db;
1065 
1066  // delete characteristic record
1067  $ilDB->manipulateF(
1068  "INSERT INTO style_char (style_id, type, characteristic, hide)" .
1069  " VALUES (%s,%s,%s,%s) ",
1070  array("integer", "text", "text", "integer"),
1071  array($this->getId(), $a_type, $a_char, $a_hidden)
1072  );
1073 
1074  $this->setUpToDate(false);
1075  $this->_writeUpToDate($this->getId(), false);
1076  }
getId()
get object id public
setUpToDate($a_up_to_date=true)
Set style up to date (false + update will trigger css generation next time)
global $ilDB
static _writeUpToDate($a_id, $a_up_to_date)
Write up to date.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addColor()

ilObjStyleSheet::addColor (   $a_name,
  $a_code 
)

Add color.

Definition at line 2900 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

Referenced by copyCharacteristic(), and create().

2901  {
2902  $ilDB = $this->db;
2903 
2904  $ilDB->manipulate("INSERT INTO style_color (style_id, color_name, color_code)" .
2905  " VALUES (" .
2906  $ilDB->quote($this->getId(), "integer") . "," .
2907  $ilDB->quote($a_name, "text") . "," .
2908  $ilDB->quote($a_code, "text") .
2909  ")");
2910  }
global $ilDB
+ Here is the caller graph for this function:

◆ addMediaQuery()

ilObjStyleSheet::addMediaQuery (   $a_mquery,
  $order_nr = 0 
)

Add media query.

Parameters
string$a_mquerymedia query

Definition at line 3196 of file class.ilObjStyleSheet.php.

References ilObject\$db, ilObject\$id, $ilDB, ilObject\getId(), and getMaxMQueryOrderNr().

Referenced by create().

3197  {
3198  $ilDB = $this->db;
3199 
3200  $id = $ilDB->nextId("sty_media_query");
3201  if ($order_nr == 0) {
3202  $order_nr = $this->getMaxMQueryOrderNr() + 10;
3203  }
3204 
3205  $ilDB->manipulate("INSERT INTO sty_media_query (id, style_id, mquery, order_nr)" .
3206  " VALUES (" .
3207  $ilDB->quote($id, "integer") . "," .
3208  $ilDB->quote($this->getId(), "integer") . "," .
3209  $ilDB->quote($a_mquery, "text") . "," .
3210  $ilDB->quote($order_nr, "integer") .
3211  ")");
3212 
3213  return $id;
3214  }
getId()
get object id public
getMaxMQueryOrderNr()
Get maximum media query order nr.
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addParameter()

ilObjStyleSheet::addParameter (   $a_tag,
  $a_par,
  $a_type,
  $a_mq_id = 0,
  $a_custom = false 
)

write style parameter to db

todo check usages add mq_id

Parameters
string$a_tagtag name (tag.class, e.g. "div.Mnemonic")
string$a_partag parameter (e.g. "margin-left")
string$a_typestyle type (e.g. "section")

Definition at line 1241 of file class.ilObjStyleSheet.php.

References ilObject\$db, ilObject\$id, $ilDB, getAvailableParameters(), ilObject\getId(), read(), and writeCSSFile().

1242  {
1243  $ilDB = $this->db;
1244 
1245  $avail_params = $this->getAvailableParameters();
1246  $tag = explode(".", $a_tag);
1247  $value = $avail_params[$a_par][0];
1248  $id = $ilDB->nextId("style_parameter");
1249  $q = "INSERT INTO style_parameter (id,style_id, type, tag, class, parameter, value, mq_id, custom) VALUES " .
1250  "(" .
1251  $ilDB->quote($id, "integer") . "," .
1252  $ilDB->quote($this->getId(), "integer") . "," .
1253  $ilDB->quote($a_type, "text") . "," .
1254  $ilDB->quote($tag[0], "text") . "," .
1255  $ilDB->quote($tag[1], "text") . "," .
1256  $ilDB->quote($a_par, "text") . "," .
1257  $ilDB->quote($value, "text") . "," .
1258  $ilDB->quote($a_mq_id, "integer") . "," .
1259  $ilDB->quote($a_custom, "integer") .
1260  ")";
1261  $ilDB->manipulate($q);
1262  $this->read();
1263  $this->writeCSSFile();
1264  }
read()
read style properties
writeCSSFile($a_target_file="", $a_image_dir="")
write css file to webspace directory
getId()
get object id public
global $ilDB
static getAvailableParameters()
Get available parameters.
+ Here is the call graph for this function:

◆ addTemplate()

ilObjStyleSheet::addTemplate (   $a_type,
  $a_name,
  $a_classes 
)

Add table template.

Definition at line 3359 of file class.ilObjStyleSheet.php.

References $c, ilObject\$db, $ilDB, ilObjStyleSheetGUI\_getTemplatePreview(), ilObject\getId(), and writeTemplatePreview().

Referenced by create().

3360  {
3361  $ilDB = $this->db;
3362 
3363  $tid = $ilDB->nextId("style_template");
3364  $ilDB->manipulate($q = "INSERT INTO style_template " .
3365  "(id, style_id, name, temp_type)" .
3366  " VALUES (" .
3367  $ilDB->quote($tid, "integer") . "," .
3368  $ilDB->quote($this->getId(), "integer") . "," .
3369  $ilDB->quote($a_name, "text") . "," .
3370  $ilDB->quote($a_type, "text") .
3371  ")");
3372 
3373  foreach ($a_classes as $t => $c) {
3374  $ilDB->manipulate($q = "INSERT INTO style_template_class " .
3375  "(template_id, class_type, class)" .
3376  " VALUES (" .
3377  $ilDB->quote($tid, "integer") . "," .
3378  $ilDB->quote($t, "text") . "," .
3379  $ilDB->quote($c, "text") .
3380  ")");
3381  }
3382 
3383  include_once("./Services/Style/Content/classes/class.ilObjStyleSheetGUI.php");
3384  $this->writeTemplatePreview(
3385  $tid,
3386  ilObjStyleSheetGUI::_getTemplatePreview($this, $a_type, $tid, true)
3387  );
3388 
3389  return $tid;
3390  }
$c
Definition: cli.php:37
static _getTemplatePreview($a_style, $a_type, $a_t_id, $a_small_mode=false)
Get table template preview.
writeTemplatePreview($a_t_id, $a_preview_html)
Write table template preview.
getId()
get object id public
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addTemplateClass()

ilObjStyleSheet::addTemplateClass (   $a_t_id,
  $a_type,
  $a_class 
)

Update table template.

Definition at line 3421 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

3422  {
3423  $ilDB = $this->db;
3424 
3425  $ilDB->manipulate($q = "INSERT INTO style_template_class " .
3426  "(template_id, class_type, class)" .
3427  " VALUES (" .
3428  $ilDB->quote($a_t_id, "integer") . "," .
3429  $ilDB->quote($a_type, "text") . "," .
3430  $ilDB->quote($a_class, "text") .
3431  ")");
3432  }
global $ilDB

◆ assignMetaData()

ilObjStyleSheet::assignMetaData ( $a_meta_data)

assign meta data object

Definition at line 855 of file class.ilObjStyleSheet.php.

856  {
857  $this->meta_data = $a_meta_data;
858  }

◆ characteristicExists()

ilObjStyleSheet::characteristicExists (   $a_char,
  $a_style_type 
)

Check whether characteristic exists.

Definition at line 1044 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, and ilObject\getId().

Referenced by copyCharacteristic().

1045  {
1046  $ilDB = $this->db;
1047 
1048  $set = $ilDB->queryF(
1049  "SELECT style_id FROM style_char WHERE style_id = %s AND characteristic = %s AND type = %s",
1050  array("integer", "text", "text"),
1051  array($this->getId(), $a_char, $a_style_type)
1052  );
1053  if ($rec = $ilDB->fetchAssoc($set)) {
1054  return true;
1055  }
1056  return false;
1057  }
getId()
get object id public
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ cleanExportDirectory()

ilObjStyleSheet::cleanExportDirectory ( )

Clear export directory.

Definition at line 2087 of file class.ilObjStyleSheet.php.

References ilUtil\delDir(), ilUtil\getDataDir(), and ilObject\getId().

Referenced by export().

2088  {
2089  $sty_data_dir = ilUtil::getDataDir() . "/sty";
2090  $style_dir = $sty_data_dir . "/sty_" . $this->getId();
2091  // create export subdirectory
2092  $ex_dir = $style_dir . "/export";
2093 
2094  if (is_dir($ex_dir)) {
2095  ilUtil::delDir($ex_dir, true);
2096  }
2097  }
getId()
get object id public
static getDataDir()
get data directory (outside webspace)
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ colorExists()

ilObjStyleSheet::colorExists (   $a_color_name)

Check whether color exists.

Definition at line 2974 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

Referenced by copyCharacteristic().

2975  {
2976  $ilDB = $this->db;
2977 
2978  $set = $ilDB->query("SELECT * FROM style_color WHERE " .
2979  "style_id = " . $ilDB->quote($this->getId(), "integer") . " AND " .
2980  "color_name = " . $ilDB->quote($a_color_name, "text"));
2981  if ($rec = $ilDB->fetchAssoc($set)) {
2982  return true;
2983  }
2984  return false;
2985  }
global $ilDB
+ Here is the caller graph for this function:

◆ copyCharacteristic()

ilObjStyleSheet::copyCharacteristic (   $a_from_style_id,
  $a_from_type,
  $a_from_char,
  $a_to_char 
)

Copy characteristic.

Parameters

Definition at line 1084 of file class.ilObjStyleSheet.php.

References $c, ilObject\$db, $ilDB, _determineTag(), addCharacteristic(), addColor(), characteristicExists(), colorExists(), deleteStyleParOfChar(), and replaceStylePar().

1089  {
1090  $ilDB = $this->db;
1091 
1092  if (!$this->characteristicExists($a_to_char, $a_from_type)) {
1093  $this->addCharacteristic($a_from_type, $a_to_char);
1094  }
1095  $this->deleteStyleParOfChar($a_from_type, $a_to_char);
1096 
1097  $from_style = new ilObjStyleSheet($a_from_style_id);
1098 
1099  // todo fix using mq_id
1100  $pars = $from_style->getParametersOfClass($a_from_type, $a_from_char);
1101 
1102  $colors = array();
1103  foreach ($pars as $p => $v) {
1104  if (substr($v, 0, 1) == "!") {
1105  $colors[] = substr($v, 1);
1106  }
1107  $this->replaceStylePar(
1108  ilObjStyleSheet::_determineTag($a_from_type),
1109  $a_to_char,
1110  $p,
1111  $v,
1112  $a_from_type
1113  );
1114  }
1115 
1116  // copy colors
1117  foreach ($colors as $c) {
1118  if (!$this->colorExists($c)) {
1119  $this->addColor($c, $from_style->getColorCodeForName($c));
1120  }
1121  }
1122  }
characteristicExists($a_char, $a_style_type)
Check whether characteristic exists.
$c
Definition: cli.php:37
static _determineTag($a_type)
deleteStyleParOfChar($a_type, $a_class)
Delete style parameters of characteristic.
addColor($a_name, $a_code)
Add color.
addCharacteristic($a_type, $a_char, $a_hidden=false)
Add characteristic.
replaceStylePar($a_tag, $a_class, $a_par, $a_val, $a_type, $a_mq_id=0, $a_custom=false)
Set style parameter per tag/class/parameter.
colorExists($a_color_name)
Check whether color exists.
global $ilDB
Class ilObjStyleSheet.
+ Here is the call graph for this function:

◆ copyImagesToDir()

ilObjStyleSheet::copyImagesToDir (   $a_target)

Copy images to directory.

Definition at line 1227 of file class.ilObjStyleSheet.php.

References getImagesDirectory(), and ilUtil\rCopy().

1228  {
1229  ilUtil::rCopy($this->getImagesDirectory(), $a_target);
1230  }
static rCopy($a_sdir, $a_tdir, $preserveTimeAttributes=false)
Copies content of a directory $a_sdir recursively to a directory $a_tdir.
getImagesDirectory()
Get images directory.
+ Here is the call graph for this function:

◆ create()

ilObjStyleSheet::create (   $a_from_style = 0,
  $a_import_mode = false 
)

Create a new style.

Definition at line 894 of file class.ilObjStyleSheet.php.

References $c, ilObject\$db, ilObject\$id, $ilDB, $templates, _createImagesDirectory(), _getTemplateClassTypes(), addColor(), addMediaQuery(), addTemplate(), createFromXMLFile(), createImagesDirectory(), ilObject\getId(), getImagesDirectory(), getScope(), ilUtil\rCopy(), read(), and writeCSSFile().

895  {
896  $ilDB = $this->db;
897 
898  parent::create();
899 
900  if ($a_from_style == 0) {
901  if (!$a_import_mode) {
902  // copy styles from basic style
903  $this->createFromXMLFile(self::$basic_style_file, true);
904 
905  // copy images from basic style
906  $this->createImagesDirectory();
908  self::$basic_style_image_dir,
909  $this->getImagesDirectory()
910  );
911  } else {
912  // add style_data record
913  $q = "INSERT INTO style_data (id, uptodate, category) VALUES " .
914  "(" . $ilDB->quote($this->getId(), "integer") . ", 0," .
915  $ilDB->quote((int) $this->getScope(), "integer") . ")";
916  $ilDB->manipulate($q);
918  }
919  } else {
920  // get style parameter records
921  $def = array();
922  $q = "SELECT * FROM style_parameter WHERE style_id = " .
923  $ilDB->quote($a_from_style, "integer");
924  $par_set = $ilDB->query($q);
925  while ($par_rec = $ilDB->fetchAssoc($par_set)) {
926  $def[] = array("tag" => $par_rec["tag"], "class" => $par_rec["class"],
927  "parameter" => $par_rec["parameter"], "value" => $par_rec["value"],
928  "type" => $par_rec["type"], "mq_id" => $par_rec["mq_id"], "custom" => $par_rec["custom"]);
929  }
930 
931  // get style characteristics records
932  $chars = array();
933  $q = "SELECT * FROM style_char WHERE style_id = " .
934  $ilDB->quote($a_from_style, "integer");
935  $par_set = $ilDB->query($q);
936  while ($par_rec = $ilDB->fetchAssoc($par_set)) {
937  $chars[] = array("type" => $par_rec["type"], "characteristic" => $par_rec["characteristic"]);
938  }
939 
940 
941  // copy media queries
942  $from_style = new ilObjStyleSheet($a_from_style);
943  $mqs = $from_style->getMediaQueries();
944  $mq_mapping = array();
945  foreach ($mqs as $mq) {
946  $nid = $this->addMediaQuery($mq["mquery"]);
947  $mq_mapping[$mq["id"]] = $nid;
948  }
949 
950  // default style settings
951  foreach ($def as $sty) {
952  $id = $ilDB->nextId("style_parameter");
953  $q = "INSERT INTO style_parameter (id, style_id, tag, class, parameter, value, type, mq_id, custom) VALUES " .
954  "(" .
955  $ilDB->quote($id, "integer") . "," .
956  $ilDB->quote($this->getId(), "integer") . "," .
957  $ilDB->quote($sty["tag"], "text") . "," .
958  $ilDB->quote($sty["class"], "text") . "," .
959  $ilDB->quote($sty["parameter"], "text") . "," .
960  $ilDB->quote($sty["value"], "text") . "," .
961  $ilDB->quote($sty["type"], "text") . "," .
962  $ilDB->quote((int) $mq_mapping[$sty["mq_id"]], "integer") . "," .
963  $ilDB->quote($sty["custom"], "integer") .
964  ")";
965  $ilDB->manipulate($q);
966  }
967 
968  // insert style characteristics
969  foreach ($chars as $char) {
970  $q = "INSERT INTO style_char (style_id, type, characteristic) VALUES " .
971  "(" . $ilDB->quote($this->getId(), "integer") . "," .
972  $ilDB->quote($char["type"], "text") . "," .
973  $ilDB->quote($char["characteristic"], "text") . ")";
974  $ilDB->manipulate($q);
975  }
976 
977  // add style_data record
978  $q = "INSERT INTO style_data (id, uptodate, category) VALUES " .
979  "(" . $ilDB->quote($this->getId(), "integer") . ", 0," .
980  $ilDB->quote((int) $this->getScope(), "integer") . ")";
981  $ilDB->manipulate($q);
982 
983  // copy images
984  $this->createImagesDirectory();
986  $from_style->getImagesDirectory(),
987  $this->getImagesDirectory()
988  );
989 
990  // copy colors
991  $colors = $from_style->getColors();
992  foreach ($colors as $c) {
993  $this->addColor($c["name"], $c["code"]);
994  }
995 
996  // copy templates
998  foreach ($tcts as $tct => $v) {
999  $templates = $from_style->getTemplates($tct);
1000  foreach ($templates as $t) {
1001  $this->addTemplate($tct, $t["name"], $t["classes"]);
1002  }
1003  }
1004  }
1005 
1006  $this->read();
1007  if (!$a_import_mode) {
1008  $this->writeCSSFile();
1009  }
1010  }
static _getTemplateClassTypes($a_template_type="")
Get template class types.
$c
Definition: cli.php:37
static rCopy($a_sdir, $a_tdir, $preserveTimeAttributes=false)
Copies content of a directory $a_sdir recursively to a directory $a_tdir.
read()
read style properties
addTemplate($a_type, $a_name, $a_classes)
Add table template.
writeCSSFile($a_target_file="", $a_image_dir="")
write css file to webspace directory
addColor($a_name, $a_code)
Add color.
getImagesDirectory()
Get images directory.
getId()
get object id public
static _createImagesDirectory($a_style_id)
Create images directory <data_dir>/sty/sty_<id>/images.
global $ilDB
Class ilObjStyleSheet.
createFromXMLFile($a_file, $a_skip_parent_create=false)
create style from xml file todo: add mq_id and custom
addMediaQuery($a_mquery, $order_nr=0)
Add media query.
createImagesDirectory()
Create images directory <data_dir>/sty/sty_<id>/images.
+ Here is the call graph for this function:

◆ createExportDirectory()

ilObjStyleSheet::createExportDirectory ( )

Create export directory.

Definition at line 2057 of file class.ilObjStyleSheet.php.

References ilUtil\getDataDir(), ilObject\getId(), and ilUtil\makeDir().

Referenced by createExportSubDirectory(), and export().

2058  {
2059  $sty_data_dir = ilUtil::getDataDir() . "/sty";
2060  ilUtil::makeDir($sty_data_dir);
2061  if (!is_writable($sty_data_dir)) {
2062  $this->ilias->raiseError("Style data directory (" . $sty_data_dir
2063  . ") not writeable.", $this->ilias->error_obj->FATAL);
2064  }
2065 
2066  $style_dir = $sty_data_dir . "/sty_" . $this->getId();
2067  ilUtil::makeDir($style_dir);
2068  if (!@is_dir($style_dir)) {
2069  $this->ilias->raiseError("Creation of style directory failed (" .
2070  $style_dir . ").", $this->ilias->error_obj->FATAL);
2071  }
2072 
2073  // create export subdirectory
2074  $ex_dir = $style_dir . "/export";
2075  ilUtil::makeDir($ex_dir);
2076  if (!@is_dir($ex_dir)) {
2077  $this->ilias->raiseError("Creation of Import Directory failed (" .
2078  $ex_dir . ").", $this->ilias->error_obj->FATAL);
2079  }
2080 
2081  return $ex_dir;
2082  }
getId()
get object id public
redirection script todo: (a better solution should control the processing via a xml file) ...
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
static getDataDir()
get data directory (outside webspace)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createExportSubDirectory()

ilObjStyleSheet::createExportSubDirectory ( )

Create export directory.

Definition at line 2103 of file class.ilObjStyleSheet.php.

References createExportDirectory(), getExportSubDir(), and ilUtil\makeDir().

Referenced by export().

2104  {
2105  $ex_dir = $this->createExportDirectory();
2106  $ex_sub_dir = $ex_dir . "/" . $this->getExportSubDir();
2107  ilUtil::makeDir($ex_sub_dir);
2108  if (!is_writable($ex_sub_dir)) {
2109  $this->ilias->raiseError("Style data directory (" . $ex_sub_dir
2110  . ") not writeable.", $this->ilias->error_obj->FATAL);
2111  }
2112  $ex_sub_images_dir = $ex_sub_dir . "/images";
2113  ilUtil::makeDir($ex_sub_images_dir);
2114  if (!is_writable($ex_sub_images_dir)) {
2115  $this->ilias->raiseError("Style data directory (" . $ex_sub_images_dir
2116  . ") not writeable.", $this->ilias->error_obj->FATAL);
2117  }
2118  }
redirection script todo: (a better solution should control the processing via a xml file) ...
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
createExportDirectory()
Create export directory.
getExportSubDir()
The local directory, that will be included within the zip file.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createFromXMLFile()

ilObjStyleSheet::createFromXMLFile (   $a_file,
  $a_skip_parent_create = false 
)

create style from xml file todo: add mq_id and custom

Definition at line 2278 of file class.ilObjStyleSheet.php.

References ilObject\$db, ilObject\$id, $ilDB, $style, do_3_10_Migration(), ilObject\getId(), read(), and update().

Referenced by create(), and import().

2279  {
2280  $ilDB = $this->db;
2281 
2282  $this->is_3_10_skin = false;
2283 
2284  if (!$a_skip_parent_create) {
2285  parent::create();
2286  }
2287  include_once("./Services/Style/Content/classes/class.ilStyleImportParser.php");
2288  $importParser = new ilStyleImportParser($a_file, $this);
2289  $importParser->startParsing();
2290 
2291  // store style parameter
2292  foreach ($this->style as $style) {
2293  foreach ($style as $tag) {
2294  $id = $ilDB->nextId("style_parameter");
2295 
2296  // migrate old table PageFrame/PageContainer to div
2297  if (in_array($tag["class"], array("PageFrame", "PageContainer")) &&
2298  $tag["tag"] == "table") {
2299  $tag["tag"] = "div";
2300  if ($tag["parameter"] == "width" && $tag["value"] == "100%") {
2301  continue;
2302  }
2303  }
2304 
2305  $q = "INSERT INTO style_parameter (id,style_id, tag, class, parameter, type, value, custom) VALUES " .
2306  "(" .
2307  $ilDB->quote($id, "integer") . "," .
2308  $ilDB->quote($this->getId(), "integer") . "," .
2309  $ilDB->quote($tag["tag"], "text") . "," .
2310  $ilDB->quote($tag["class"], "text") . "," .
2311  $ilDB->quote($tag["parameter"], "text") . "," .
2312  $ilDB->quote($tag["type"], "text") . "," .
2313  $ilDB->quote($tag["value"], "text") . "," .
2314  $ilDB->quote((bool) $tag["custom"], "integer") .
2315  ")";
2316  $ilDB->manipulate($q);
2317  }
2318  }
2319 
2320  // store characteristics
2321  $this->is_3_10_skin = true;
2322  if (is_array($this->chars)) {
2323  foreach ($this->chars as $char) {
2324  if ($char["type"] != "") {
2325  $s = substr($char["class"], strlen($char["class"]) - 6);
2326  if ($s != ":hover") {
2327  $ilDB->replace(
2328  "style_char",
2329  array(
2330  "style_id" => array("integer", $this->getId()),
2331  "type" => array("text", $char["type"]),
2332  "characteristic" => array("text", $char["class"])),
2333  array("hide" => array("integer", 0))
2334  );
2335  /*
2336  $q = "INSERT INTO style_char (style_id, type, characteristic) VALUES ".
2337  "(".$ilDB->quote($this->getId(), "integer").",".
2338  $ilDB->quote($char["type"], "text").",".
2339  $ilDB->quote($char["class"], "text").")";
2340  $ilDB->manipulate($q);*/
2341  $this->is_3_10_skin = false;
2342  }
2343  }
2344  }
2345  }
2346 
2347  // add style_data record
2348  $q = "INSERT INTO style_data (id, uptodate) VALUES " .
2349  "(" . $ilDB->quote($this->getId(), "integer") . ", 0)";
2350  $ilDB->manipulate($q);
2351 
2352  $this->update();
2353  $this->read();
2354 
2355  if ($this->is_3_10_skin) {
2356  $this->do_3_10_Migration();
2357  }
2358  //$this->writeCSSFile();
2359  }
do_3_10_Migration()
Migrates 3.10 style to 3.11 style.
read()
read style properties
getId()
get object id public
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createImagesDirectory()

ilObjStyleSheet::createImagesDirectory ( )

Create images directory <data_dir>/sty/sty_<id>/images.

Definition at line 1270 of file class.ilObjStyleSheet.php.

References _createImagesDirectory(), and ilObject\getId().

Referenced by create(), import(), and uploadImage().

1271  {
1273  }
getId()
get object id public
static _createImagesDirectory($a_style_id)
Create images directory <data_dir>/sty/sty_<id>/images.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createImportDirectory()

ilObjStyleSheet::createImportDirectory ( )

Create import directory.

Definition at line 2193 of file class.ilObjStyleSheet.php.

References ilUtil\getDataDir(), ilObject\getId(), and ilUtil\makeDir().

Referenced by import().

2194  {
2195  $sty_data_dir = ilUtil::getDataDir() . "/sty";
2196  ilUtil::makeDir($sty_data_dir);
2197  if (!is_writable($sty_data_dir)) {
2198  $this->ilias->raiseError("Style data directory (" . $sty_data_dir
2199  . ") not writeable.", $this->ilias->error_obj->FATAL);
2200  }
2201 
2202  $style_dir = $sty_data_dir . "/sty_" . $this->getId();
2203  ilUtil::makeDir($style_dir);
2204  if (!@is_dir($style_dir)) {
2205  $this->ilias->raiseError("Creation of style directory failed (" .
2206  $style_dir . ").", $this->ilias->error_obj->FATAL);
2207  }
2208 
2209  // create import subdirectory
2210  $im_dir = $style_dir . "/import";
2211  ilUtil::makeDir($im_dir);
2212  if (!@is_dir($im_dir)) {
2213  $this->ilias->raiseError("Creation of Import Directory failed (" .
2214  $im_dir . ").", $this->ilias->error_obj->FATAL);
2215  }
2216 
2217  return $im_dir;
2218  }
getId()
get object id public
redirection script todo: (a better solution should control the processing via a xml file) ...
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
static getDataDir()
get data directory (outside webspace)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createReference()

ilObjStyleSheet::createReference ( )

Create a reference (show error message, since styles do not use ref ids)

Definition at line 612 of file class.ilObjStyleSheet.php.

613  {
614  $this->ilias->raiseError("Operation ilObjStyleSheet::createReference() not allowed.", $this->ilias->error_obj->FATAL);
615  }
redirection script todo: (a better solution should control the processing via a xml file) ...

◆ delete()

ilObjStyleSheet::delete ( )

delete style object

Definition at line 1483 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, ilObjContentObject\_deleteStyleAssignments(), ilObject\getId(), and ilUtil\getWebspaceDir().

1484  {
1485  $ilDB = $this->db;
1486 
1487  // delete object
1488  parent::delete();
1489 
1490  // check whether this style is global default
1491  $def_style = $this->ilias->getSetting("default_content_style_id");
1492  if ($def_style == $this->getId()) {
1493  $this->ilias->deleteSetting("default_content_style_id");
1494  }
1495 
1496  // check whether this style is global fixed
1497  $fixed_style = $this->ilias->getSetting("fixed_content_style_id");
1498  if ($fixed_style == $this->getId()) {
1499  $this->ilias->deleteSetting("fixed_content_style_id");
1500  }
1501 
1502  // delete style parameter
1503  $q = "DELETE FROM style_parameter WHERE style_id = " .
1504  $ilDB->quote($this->getId(), "integer");
1505  $ilDB->manipulate($q);
1506 
1507  // delete style file
1508  $css_file_name = ilUtil::getWebspaceDir() . "/css/style_" . $this->getId() . ".css";
1509  if (is_file($css_file_name)) {
1510  unlink($css_file_name);
1511  }
1512 
1513  // delete media queries
1514  $ilDB->manipulate(
1515  "DELETE FROM sty_media_query WHERE " .
1516  " style_id = " . $ilDB->quote($this->getId(), "integer")
1517  );
1518 
1519  // delete entries in learning modules
1520  include_once("./Modules/LearningModule/classes/class.ilObjContentObject.php");
1522 
1523  // delete style data record
1524  $q = "DELETE FROM style_data WHERE id = " .
1525  $ilDB->quote($this->getId(), "integer");
1526  $ilDB->manipulate($q);
1527  }
static _deleteStyleAssignments($a_style_id)
delete all style references to style
getId()
get object id public
redirection script todo: (a better solution should control the processing via a xml file) ...
global $ilDB
static getWebspaceDir($mode="filesystem")
get webspace directory
+ Here is the call graph for this function:

◆ deleteCharacteristic()

ilObjStyleSheet::deleteCharacteristic (   $a_type,
  $a_tag,
  $a_class 
)

Delete Characteristic.

Definition at line 1015 of file class.ilObjStyleSheet.php.

References $core_styles, ilObject\$db, $ilDB, _getCoreStyles(), _writeUpToDate(), ilObject\getId(), and setUpToDate().

1016  {
1017  $ilDB = $this->db;
1018 
1019  // check, if characteristic is not a core style
1021  if (empty($core_styles[$a_type . "." . $a_tag . "." . $a_class])) {
1022  // delete characteristic record
1023  $st = $ilDB->manipulateF(
1024  "DELETE FROM style_char WHERE style_id = %s AND type = %s AND characteristic = %s",
1025  array("integer", "text", "text"),
1026  array($this->getId(), $a_type, $a_class)
1027  );
1028 
1029  // delete parameter records
1030  $st = $ilDB->manipulateF(
1031  "DELETE FROM style_parameter WHERE style_id = %s AND tag = %s AND type = %s AND class = %s",
1032  array("integer", "text", "text", "text"),
1033  array($this->getId(), $a_tag, $a_type, $a_class)
1034  );
1035  }
1036 
1037  $this->setUpToDate(false);
1038  $this->_writeUpToDate($this->getId(), false);
1039  }
getId()
get object id public
static _getCoreStyles()
Get core styles.
setUpToDate($a_up_to_date=true)
Set style up to date (false + update will trigger css generation next time)
global $ilDB
static _writeUpToDate($a_id, $a_up_to_date)
Write up to date.
+ Here is the call graph for this function:

◆ deleteCustomStylePars()

ilObjStyleSheet::deleteCustomStylePars (   $a_tag,
  $a_class,
  $a_type,
  $a_mq_id = 0 
)

Delete style parameter by tag/class/parameter.

Parameters
string$a_tagtag
string$a_classclass
string$a_parparameter
string$a_typetype
string$a_mq_idmedia query id

Definition at line 1444 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, and ilObject\getId().

1445  {
1446  $ilDB = $this->db;
1447 
1448  $q = "DELETE FROM style_parameter WHERE " .
1449  " style_id = " . $ilDB->quote($this->getId(), "integer") . " AND " .
1450  " tag = " . $ilDB->quote($a_tag, "text") . " AND " .
1451  " class = " . $ilDB->quote($a_class, "text") . " AND " .
1452  " mq_id = " . $ilDB->quote($a_mq_id, "integer") . " AND " .
1453  " custom = " . $ilDB->quote(1, "integer") . " AND " .
1454  " " . $ilDB->equals("type", $a_type, "text", true);
1455 
1456  $ilDB->manipulate($q);
1457  }
getId()
get object id public
global $ilDB
+ Here is the call graph for this function:

◆ deleteImage()

ilObjStyleSheet::deleteImage (   $a_file)

Delete an image.

Definition at line 1386 of file class.ilObjStyleSheet.php.

References getImagesDirectory(), and getThumbnailsDirectory().

1387  {
1388  if (is_file($this->getImagesDirectory() . "/" . $a_file)) {
1389  unlink($this->getImagesDirectory() . "/" . $a_file);
1390  }
1391  if (is_file($this->getThumbnailsDirectory() . "/" . $a_file)) {
1392  unlink($this->getThumbnailsDirectory() . "/" . $a_file);
1393  }
1394  }
getThumbnailsDirectory()
Get thumbnails directory.
getImagesDirectory()
Get images directory.
+ Here is the call graph for this function:

◆ deleteMediaQuery()

ilObjStyleSheet::deleteMediaQuery (   $a_id)

Delete media query.

Parameters
int$a_idmedia query id

Definition at line 3272 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, and saveMediaQueryOrder().

3273  {
3274  $ilDB = $this->db;
3275 
3276  $ilDB->manipulate(
3277  "DELETE FROM sty_media_query WHERE " .
3278  " style_id = " . $ilDB->quote($this->getId(), "integer") .
3279  " AND id = " . $ilDB->quote($a_id, "integer")
3280  );
3281  $this->saveMediaQueryOrder();
3282  }
global $ilDB
saveMediaQueryOrder($a_order_nr=null)
Save media query order.
+ Here is the call graph for this function:

◆ deleteParameter()

ilObjStyleSheet::deleteParameter (   $a_id)

delete style parameter

Parameters
int$a_idstyle parameter id

Definition at line 1401 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

1402  {
1403  $ilDB = $this->db;
1404 
1405  $q = "DELETE FROM style_parameter WHERE id = " .
1406  $ilDB->quote($a_id, "integer");
1407  $ilDB->query($q);
1408  }
global $ilDB

◆ deleteStylePar()

ilObjStyleSheet::deleteStylePar (   $a_tag,
  $a_class,
  $a_par,
  $a_type,
  $a_mq_id = 0,
  $a_custom = false 
)

Delete style parameter by tag/class/parameter.

Parameters
string$a_tagtag
string$a_classclass
string$a_parparameter
string$a_typetype
string$a_mq_idmedia query id

Definition at line 1419 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, and ilObject\getId().

1420  {
1421  $ilDB = $this->db;
1422 
1423  $q = "DELETE FROM style_parameter WHERE " .
1424  " style_id = " . $ilDB->quote($this->getId(), "integer") . " AND " .
1425  " tag = " . $ilDB->quote($a_tag, "text") . " AND " .
1426  " class = " . $ilDB->quote($a_class, "text") . " AND " .
1427  " mq_id = " . $ilDB->quote($a_mq_id, "integer") . " AND " .
1428  " custom = " . $ilDB->quote($a_custom, "integer") . " AND " .
1429  " " . $ilDB->equals("type", $a_type, "text", true) . " AND " .
1430  " parameter = " . $ilDB->quote($a_par, "text");
1431 
1432  $ilDB->manipulate($q);
1433  }
getId()
get object id public
global $ilDB
+ Here is the call graph for this function:

◆ deleteStyleParOfChar()

ilObjStyleSheet::deleteStyleParOfChar (   $a_type,
  $a_class 
)

Delete style parameters of characteristic.

Parameters
stringtag
stringclass
stringparameter
stringtype

Definition at line 1467 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, and ilObject\getId().

Referenced by copyCharacteristic().

1468  {
1469  $ilDB = $this->db;
1470 
1471  $q = "DELETE FROM style_parameter WHERE " .
1472  " style_id = " . $ilDB->quote($this->getId(), "integer") . " AND " .
1473  " class = " . $ilDB->quote($a_class, "text") . " AND " .
1474  " " . $ilDB->equals("type", $a_type, "text", true);
1475 
1476  $ilDB->manipulate($q);
1477  }
getId()
get object id public
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ determineTemplateStyleClassType()

ilObjStyleSheet::determineTemplateStyleClassType (   $t,
  $k 
)

Definition at line 2502 of file class.ilObjStyleSheet.php.

2503  {
2504  return self::$templates[$t][$k];
2505  }

◆ do_3_10_CharMigration()

ilObjStyleSheet::do_3_10_CharMigration (   $a_id = "")

This is more or less a copy of Services/Migration/DBUpdate_1385/classes ilStyleMigration->addMissingStyleCharacteristics()

Any changes here may also be interesting there.

Definition at line 2695 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

Referenced by do_3_10_Migration().

2696  {
2697  $ilDB = $this->db;
2698 
2699  $add_str = "";
2700  if ($a_id != "") {
2701  $add_str = " AND style_id = " . $ilDB->quote($a_id, "integer");
2702  }
2703 
2704  $set = $ilDB->query($q = "SELECT DISTINCT style_id, tag, class FROM style_parameter WHERE " .
2705  $ilDB->equals("type", "", "text", true) . " " . $add_str);
2706 
2707  while ($rec = $ilDB->fetchAssoc($set)) {
2708  // derive types from tag
2709  $types = array();
2710  switch ($rec["tag"]) {
2711  case "div":
2712  case "p":
2713  if (in_array($rec["class"], array("Headline3", "Headline1",
2714  "Headline2", "TableContent", "List", "Standard", "Remark",
2715  "Additional", "Mnemonic", "Citation", "Example"))) {
2716  $types[] = "text_block";
2717  }
2718  if (in_array($rec["class"], array("Block", "Remark",
2719  "Additional", "Mnemonic", "Example", "Excursus", "Special"))) {
2720  $types[] = "section";
2721  }
2722  if (in_array($rec["class"], array("Page", "Footnote", "PageTitle", "LMNavigation"))) {
2723  $types[] = "page";
2724  }
2725  break;
2726 
2727  case "td":
2728  $types[] = "table_cell";
2729  break;
2730 
2731  case "a":
2732  if (in_array($rec["class"], array("ExtLink", "IntLink", "FootnoteLink"))) {
2733  $types[] = "link";
2734  }
2735  break;
2736 
2737  case "span":
2738  $types[] = "text_inline";
2739  break;
2740 
2741  case "table":
2742  $types[] = "table";
2743  break;
2744  }
2745 
2746  // check if style_char set exists
2747  foreach ($types as $t) {
2748  // check if second type already exists
2749  $set4 = $ilDB->queryF(
2750  "SELECT * FROM style_char " .
2751  " WHERE style_id = %s AND type = %s AND characteristic = %s",
2752  array("integer", "text", "text"),
2753  array($rec["style_id"], $t, $rec["class"])
2754  );
2755  if ($rec4 = $ilDB->fetchAssoc($set4)) {
2756  // ok
2757  } else {
2758  //echo "<br>1-".$rec["style_id"]."-".$t."-".$rec["class"]."-";
2759  $ilDB->manipulateF(
2760  "INSERT INTO style_char " .
2761  " (style_id, type, characteristic) VALUES " .
2762  " (%s,%s,%s) ",
2763  array("integer", "text", "text"),
2764  array($rec["style_id"], $t, $rec["class"])
2765  );
2766  }
2767  }
2768 
2769  // update types
2770  if ($rec["type"] == "") {
2771  if (count($types) > 0) {
2772  $ilDB->manipulateF(
2773  "UPDATE style_parameter SET type = %s " .
2774  " WHERE style_id = %s AND class = %s AND " . $ilDB->equals("type", "", "text", true),
2775  array("text", "integer", "text"),
2776  array($types[0], $rec["style_id"], $rec["class"])
2777  );
2778  //echo "<br>3-".$types[0]."-".$rec["style_id"]."-".$rec["class"]."-";
2779 
2780  // links extra handling
2781  if ($types[0] == "link") {
2782  $ilDB->manipulateF(
2783  "UPDATE style_parameter SET type = %s " .
2784  " WHERE style_id = %s AND (class = %s OR class = %s) AND " . $ilDB->equals("type", "", "text", true),
2785  array("text", "integer", "text", "text"),
2786  array($types[0], $rec["style_id"], $rec["class"] . ":visited",
2787  $rec["class"] . ":hover")
2788  );
2789  }
2790  }
2791 
2792  if (count($types) == 2) {
2793  // select all records of first type and add second type
2794  // records if necessary.
2795  $set2 = $ilDB->queryF(
2796  "SELECT * FROM style_parameter " .
2797  " WHERE style_id = %s AND class = %s AND type = %s",
2798  array("integer", "text", "text"),
2799  array($rec["style_id"], $rec["class"], $types[0])
2800  );
2801  while ($rec2 = $ilDB->fetchAssoc($set2)) {
2802  // check if second type already exists
2803  $set3 = $ilDB->queryF(
2804  "SELECT * FROM style_parameter " .
2805  " WHERE style_id = %s AND tag = %s AND class = %s AND type = %s AND parameter = %s",
2806  array("integer", "text", "text", "text", "text"),
2807  array($rec["style_id"], $rec["tag"], $rec["class"], $types[1], $rec["parameter"])
2808  );
2809  if ($rec3 = $ilDB->fetchAssoc($set3)) {
2810  // ok
2811  } else {
2812  $nid = $ilDB->nextId("style_parameter");
2813  $ilDB->manipulateF(
2814  "INSERT INTO style_parameter " .
2815  " (id, style_id, tag, class, parameter, value, type) VALUES " .
2816  " (%s, %s,%s,%s,%s,%s,%s) ",
2817  array("integer", "integer", "text", "text", "text", "text", "text"),
2818  array($nid, $rec2["style_id"], $rec2["tag"], $rec2["class"],
2819  $rec2["parameter"], $rec2["value"], $types[1])
2820  );
2821  }
2822  }
2823  }
2824  }
2825  }
2826  }
global $ilDB
+ Here is the caller graph for this function:

◆ do_3_10_Migration()

ilObjStyleSheet::do_3_10_Migration ( )

Migrates 3.10 style to 3.11 style.

Definition at line 2633 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, do_3_10_CharMigration(), do_3_9_Migration(), and ilObject\getId().

Referenced by createFromXMLFile().

2634  {
2635  $ilDB = $this->db;
2636 
2637  $this->do_3_9_Migration($this->getId());
2638 
2639  //include_once("./Services/Migration/DBUpdate_1385/classes/class.ilStyleMigration.php");
2640  //ilStyleMigration::addMissingStyleCharacteristics($this->getId());
2641 
2642  $this->do_3_10_CharMigration($this->getId());
2643 
2644  // style_char: type for characteristic
2645  $st = $ilDB->prepareManip("UPDATE style_char SET type = ? WHERE characteristic = ?" .
2646  " AND style_id = ? ", array("text", "text", "integer"));
2647  $ilDB->execute($st, array("media_cont", "Media", $this->getId()));
2648  $ilDB->execute($st, array("media_caption", "MediaCaption", $this->getId()));
2649  $ilDB->execute($st, array("page_fn", "Footnote", $this->getId()));
2650  $ilDB->execute($st, array("page_nav", "LMNavigation", $this->getId()));
2651  $ilDB->execute($st, array("page_title", "PageTitle", $this->getId()));
2652  $ilDB->execute($st, array("page_cont", "Page", $this->getId()));
2653 
2654  // style_parameter: type for class
2655  $st = $ilDB->prepareManip("UPDATE style_parameter SET type = ? WHERE class = ?" .
2656  " AND style_id = ? ", array("text", "text", "integer"));
2657  $ilDB->execute($st, array("media_cont", "Media", $this->getId()));
2658  $ilDB->execute($st, array("media_caption", "MediaCaption", $this->getId()));
2659  $ilDB->execute($st, array("page_fn", "Footnote", $this->getId()));
2660  $ilDB->execute($st, array("page_nav", "LMNavigation", $this->getId()));
2661  $ilDB->execute($st, array("page_title", "PageTitle", $this->getId()));
2662  $ilDB->execute($st, array("table", "Page", $this->getId()));
2663 
2664  $st = $ilDB->prepareManip("UPDATE style_parameter SET tag = ? WHERE class = ?" .
2665  " AND style_id = ? ", array("text", "text", "integer"));
2666  $ilDB->execute($st, array("div", "MediaCaption", $this->getId()));
2667 
2668  // style_char: characteristic for characteristic
2669  $st = $ilDB->prepareManip("UPDATE style_char SET characteristic = ? WHERE characteristic = ?" .
2670  " AND style_id = ? ", array("text", "text", "integer"));
2671  $ilDB->execute($st, array("MediaContainer", "Media", $this->getId()));
2672  $ilDB->execute($st, array("PageContainer", "Page", $this->getId()));
2673 
2674  // style_parameter: class for class
2675  $st = $ilDB->prepareManip("UPDATE style_parameter SET class = ? WHERE class = ?" .
2676  " AND style_id = ? ", array("text", "text", "integer"));
2677  $ilDB->execute($st, array("MediaContainer", "Media", $this->getId()));
2678  $ilDB->execute($st, array("PageContainer", "Page", $this->getId()));
2679 
2680  // force rewriting of container style
2681  $st = $ilDB->prepareManip("DELETE FROM style_char WHERE type = ?" .
2682  " AND style_id = ? ", array("text", "integer"));
2683  $ilDB->execute($st, array("page_cont", $this->getId()));
2684  $st = $ilDB->prepareManip("DELETE FROM style_parameter WHERE type = ?" .
2685  " AND style_id = ? ", array("text", "integer"));
2686  $ilDB->execute($st, array("page_cont", $this->getId()));
2687  }
do_3_9_Migration($a_id)
Migrate old 3.9 styles.
do_3_10_CharMigration($a_id="")
This is more or less a copy of Services/Migration/DBUpdate_1385/classes ilStyleMigration->addMissingS...
getId()
get object id public
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ do_3_9_Migration()

ilObjStyleSheet::do_3_9_Migration (   $a_id)

Migrate old 3.9 styles.

Definition at line 2831 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

Referenced by do_3_10_Migration().

2832  {
2833  $ilDB = $this->db;
2834 
2835  $classes = array("Example", "Additional", "Citation", "Mnemonic", "Remark");
2836  $pars = array("margin-top", "margin-bottom");
2837 
2838  foreach ($classes as $curr_class) {
2839  foreach ($pars as $curr_par) {
2840  $res2 = $ilDB->queryF(
2841  "SELECT id FROM style_parameter WHERE style_id = %s" .
2842  " AND tag = %s AND class= %s AND parameter = %s",
2843  array("integer", "text", "text", "text"),
2844  array($a_id, "p", $curr_class, $curr_par)
2845  );
2846  if ($row2 = $ilDB->fetchAssoc($res2)) {
2847  $ilDB->manipulateF(
2848  "UPDATE style_parameter SET value= %s WHERE id = %s",
2849  array("text", "integer"),
2850  array("10px", $row2["id"])
2851  );
2852  } else {
2853  $nid = $ilDB->nextId("style_parameter");
2854  $ilDB->manipulateF(
2855  "INSERT INTO style_parameter " .
2856  "(id, style_id, tag, class, parameter,value) VALUES (%s,%s,%s,%s,%s,%s)",
2857  array("integer", "integer", "text", "text", "text", "text"),
2858  array($nid, $a_id, "div", $curr_class, $curr_par, "10px")
2859  );
2860  }
2861  }
2862  }
2863 
2864  $ilDB->manipulateF(
2865  "UPDATE style_parameter SET tag = %s WHERE tag = %s and style_id = %s",
2866  array("text", "text", "integer"),
2867  array("div", "p", $a_id)
2868  );
2869  }
global $ilDB
+ Here is the caller graph for this function:

◆ export()

ilObjStyleSheet::export ( )

Create export file.

Returns
string local file name of export file

Definition at line 2145 of file class.ilObjStyleSheet.php.

References cleanExportDirectory(), createExportDirectory(), createExportSubDirectory(), exportXML(), getExportSubDir(), getImagesDirectory(), ilUtil\rCopy(), and ilUtil\zip().

2146  {
2147  $this->cleanExportDirectory();
2148  $ex_dir = $this->createExportDirectory();
2149  $this->createExportSubDirectory();
2150  $this->exportXML($ex_dir . "/" . $this->getExportSubDir());
2151  //echo "-".$this->getImagesDirectory()."-".$ex_dir."/".$this->getExportSubDir()."/images"."-";
2152  ilUtil::rCopy(
2153  $this->getImagesDirectory(),
2154  $ex_dir . "/" . $this->getExportSubDir() . "/images"
2155  );
2156  if (is_file($ex_dir . "/" . $this->getExportSubDir() . ".zip")) {
2157  unlink($ex_dir . "/" . $this->getExportSubDir() . ".zip");
2158  }
2159  ilUtil::zip(
2160  $ex_dir . "/" . $this->getExportSubDir(),
2161  $ex_dir . "/" . $this->getExportSubDir() . ".zip"
2162  );
2163 
2164  return $ex_dir . "/" . $this->getExportSubDir() . ".zip";
2165  }
exportXML($a_dir)
export style xml file to directory
static rCopy($a_sdir, $a_tdir, $preserveTimeAttributes=false)
Copies content of a directory $a_sdir recursively to a directory $a_tdir.
createExportSubDirectory()
Create export directory.
getImagesDirectory()
Get images directory.
static zip($a_dir, $a_file, $compress_content=false)
zips given directory/file into given zip.file
createExportDirectory()
Create export directory.
getExportSubDir()
The local directory, that will be included within the zip file.
cleanExportDirectory()
Clear export directory.
+ Here is the call graph for this function:

◆ exportXML()

ilObjStyleSheet::exportXML (   $a_dir)

export style xml file to directory

Definition at line 2170 of file class.ilObjStyleSheet.php.

References getXML().

Referenced by export().

2171  {
2172  $file = $a_dir . "/style.xml";
2173 
2174  // open file
2175  if (!($fp = @fopen($file, "w"))) {
2176  die("<b>Error</b>: Could not open \"" . $file . "\" for writing" .
2177  " in <b>" . __FILE__ . "</b> on line <b>" . __LINE__ . "</b><br />");
2178  }
2179 
2180  // set file permissions
2181  chmod($file, 0770);
2182 
2183  // write xml data into the file
2184  fwrite($fp, $this->getXML());
2185 
2186  // close file
2187  fclose($fp);
2188  }
getXML()
get xml representation of style object todo: add mq_id
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAvailableParameters()

static ilObjStyleSheet::getAvailableParameters ( )
static

Get available parameters.

Definition at line 2515 of file class.ilObjStyleSheet.php.

Referenced by addParameter().

2516  {
2517  $pars = array();
2518  foreach (self::$parameter as $p => $v) {
2519  $pars[$p] = $v["values"];
2520  }
2521 
2522  return $pars;
2523  }
+ Here is the caller graph for this function:

◆ getBasicImageDir()

static ilObjStyleSheet::getBasicImageDir ( )
static

Get basic image dir.

Returns
string

Definition at line 885 of file class.ilObjStyleSheet.php.

Referenced by ilCOPageHTMLExport\exportStyles().

886  {
887  return self::$basic_style_image_dir;
888  }
+ Here is the caller graph for this function:

◆ getBasicZipPath()

static ilObjStyleSheet::getBasicZipPath ( )
static

Get basic zip path.

Returns
string

Definition at line 579 of file class.ilObjStyleSheet.php.

Referenced by ilObjStyleSheetGUI\saveObject().

579  : string
580  {
581  return self::$basic_style_zip;
582  }
+ Here is the caller graph for this function:

◆ getCharacteristics()

ilObjStyleSheet::getCharacteristics (   $a_type = "",
  $a_no_hidden = false,
  $a_include_core = true 
)

Get characteristics.

Definition at line 1127 of file class.ilObjStyleSheet.php.

References $c.

1128  {
1129  $chars = array();
1130 
1131  if ($a_type == "") {
1132  $chars = $this->chars;
1133  }
1134  if (is_array($this->chars_by_type[$a_type])) {
1135  foreach ($this->chars_by_type[$a_type] as $c) {
1136  if ($a_include_core || !self::isCoreStyle($a_type, $c)) {
1137  $chars[] = $c;
1138  }
1139  }
1140  }
1141 
1142  if ($a_no_hidden) {
1143  foreach ($chars as $k => $char) {
1144  if ($a_type == "" && $this->hidden_chars[$char["type"] . ":" . $char["class"]]) {
1145  unset($chars[$k]);
1146  } elseif ($this->hidden_chars[$a_type . ":" . $char]) {
1147  unset($chars[$k]);
1148  }
1149  }
1150  }
1151 
1152  return $chars;
1153  }
$c
Definition: cli.php:37

◆ getColorCodeForName()

ilObjStyleSheet::getColorCodeForName (   $a_name)

Remove a color.

Definition at line 2990 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, and _getColorFlavor().

Referenced by writeCSSFile().

2991  {
2992  $ilDB = $this->db;
2993 
2994  $pos = strpos($a_name, "(");
2995  if ($pos > 0) {
2996  $a_i = substr($a_name, $pos + 1);
2997  $a_i = str_replace(")", "", $a_i);
2998  $a_name = substr($a_name, 0, $pos);
2999  }
3000 
3001  $set = $ilDB->query("SELECT color_code FROM style_color WHERE " .
3002  " style_id = " . $ilDB->quote($this->getId(), "integer") . " AND " .
3003  " color_name = " . $ilDB->quote($a_name, "text"));
3004  if ($rec = $ilDB->fetchAssoc($set)) {
3005  if ($a_i == "") {
3006  return "#" . $rec["color_code"];
3007  } else {
3008  return "#" . ilObjStyleSheet::_getColorFlavor(
3009  $rec["color_code"],
3010  (int) $a_i
3011  );
3012  }
3013  }
3014  }
static _getColorFlavor($a_rgb, $a_i)
Get color flavor.
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getColors()

ilObjStyleSheet::getColors ( )

Get colors of style.

Definition at line 2878 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

Referenced by getXML().

2879  {
2880  $ilDB = $this->db;
2881 
2882  $set = $ilDB->query("SELECT * FROM style_color WHERE " .
2883  "style_id = " . $ilDB->quote($this->getId(), "integer") . " " .
2884  "ORDER BY color_name");
2885 
2886  $colors = array();
2887  while ($rec = $ilDB->fetchAssoc($set)) {
2888  $colors[] = array(
2889  "name" => $rec["color_name"],
2890  "code" => $rec["color_code"]
2891  );
2892  }
2893 
2894  return $colors;
2895  }
global $ilDB
+ Here is the caller graph for this function:

◆ getContentPrintStyle()

static ilObjStyleSheet::getContentPrintStyle ( )
static

get content print style

static

Definition at line 1858 of file class.ilObjStyleSheet.php.

Referenced by ilObjPortfolioGUI\printView().

1859  {
1860  return "./Services/COPage/css/print_content.css";
1861  }
+ Here is the caller graph for this function:

◆ getContentStylePath()

static ilObjStyleSheet::getContentStylePath (   $a_style_id,
  $add_random = true,
  $add_token = true 
)
static

get content style path

static (to avoid full reading)

Definition at line 1810 of file class.ilObjStyleSheet.php.

References $DIC, $ilSetting, $style, ilObject\_exists(), _lookupUpToDate(), ilUtil\getWebspaceDir(), and ilWACSignedPath\signFile().

Referenced by ilImprintGUI\__construct(), ilPageLayoutGUI\__construct(), ilPortfolioPageGUI\__construct(), ilDclDetailedViewGUI\__construct(), ilBlogPostingGUI\__construct(), ilAssQuestionPreviewGUI\__construct(), ilGlossaryTermGUI\confirmDefinitionDeletion(), ilPageObjectGUI\displayMedia(), assOrderingQuestionGUI\editNesting(), ilTermDefinitionEditorGUI\executeCommand(), ilObjGroupGUI\executeCommand(), ilLOEditorGUI\executeCommand(), ilObjCategoryGUI\executeCommand(), ilContainerStartObjectsGUI\executeCommand(), ilAssQuestionHintsGUI\executeCommand(), ilObjRootFolderGUI\executeCommand(), ilObjQuestionPoolGUI\executeCommand(), ilObjTestGUI\executeCommand(), ilObjContentPageGUI\executeCommand(), ilScormExportUtil\exportContentCSS(), ilCOPageHTMLExport\exportStyles(), ilAssQuestionPageCommandForwarder\forward(), ilAuthLoginPageEditorGUI\forwardToPageObject(), ilContainerGUI\forwardToPageObject(), ILIAS\COPage\Editor\Components\Page\PageQueryActionHandler\getConfig(), ilContainerGUI\getContainerPageHTML(), ILIAS\Portfolio\Export\PortfolioHtmlExport\getInitialisedTemplate(), ILIAS\Blog\Export\BlogHtmlExport\getInitialisedTemplate(), ilContainerStartObjectsContentGUI\getPageHTML(), ilCOPageHTMLExport\getPreparedMainTemplate(), ilObjStyleSheetGUI\includeCSS(), ilCOPageHTMLExport\initResourceTemplate(), ILIAS\Glossary\Export\GlossaryHtmlExport\initScreen(), ilAssQuestionPreviewGUI\initStyleSheets(), ilObjContentPageGUI\initStyleSheets(), ilGlossaryTermGUI\listDefinitions(), ilLMEditorGUI\main_header(), ilGlossaryPresentationGUI\media(), ilTestServiceGUI\outCorrectSolution(), ilTestPlayerAbstractGUI\outCorrectSolution(), ilObjStyleSheetGUI\outputTagStyleEditScreen(), ilTestPlayerAbstractGUI\populateContentStyleBlock(), ilObjPortfolioGUI\printView(), ilObjStyleSheetGUI\propertiesObject(), ilContentPageKioskModeView\renderContentStyle(), ilLearningModuleKioskModeView\renderContentStyle(), ilSCORM2004ScoGUI\sco_preview(), ilAssQuestionFeedbackEditingGUI\setContentStyle(), ilSCORM2004NodeGUI\setContentStyle(), ilGlossaryPresentationGUI\setContentStyles(), ilLMPresentationGUI\setContentStyles(), ilObjPortfolioBaseGUI\setContentStyleSheet(), ilObjGlossaryGUI\setContentStyleSheet(), ilObjWikiGUI\setContentStyleSheet(), ilObjBlogGUI\setContentStyleSheet(), ilPCParagraphGUI\setStyle(), ilAssQuestionFeedbackEditingGUI\showFeedbackFormCmd(), ilStartUpGUI\showLoginPage(), ilObjMediaPoolGUI\showMedia(), ilContainerObjectiveGUI\showObjectives(), ilMediaPoolPageGUI\showPage(), ilObjMediaPoolGUI\showPage(), ilTestCorrectionsGUI\showSolution(), and ilContObjectManifestBuilder\writeResources().

1811  {
1812  global $DIC;
1813 
1814  $ilSetting = $DIC->settings();
1815 
1816  $random = new \ilRandom();
1817  $rand = $random->int(1, 999999);
1818 
1819 
1820  // check global fixed content style
1821  $fixed_style = $ilSetting->get("fixed_content_style_id");
1822  if ($fixed_style > 0) {
1823  $a_style_id = $fixed_style;
1824  }
1825 
1826  // check global default style
1827  if ($a_style_id <= 0) {
1828  $a_style_id = $ilSetting->get("default_content_style_id");
1829  }
1830 
1831  if ($a_style_id > 0 && ilObject::_exists($a_style_id)) {
1832  // check whether file is up to date
1833  if (!ilObjStyleSheet::_lookupUpToDate($a_style_id)) {
1834  $style = new ilObjStyleSheet($a_style_id);
1835  $style->writeCSSFile();
1836  }
1837 
1838  $path = ilUtil::getWebspaceDir("output") . "/css/style_" . $a_style_id . ".css";
1839  if ($add_random) {
1840  $path .= "?dummy=$rand";
1841  }
1842  if ($add_token) {
1843  require_once('./Services/WebAccessChecker/classes/class.ilWACSignedPath.php');
1844  $path = ilWACSignedPath::signFile($path);
1845  }
1846 
1847  return $path;
1848  } else { // todo: work this out
1849  return "./Services/COPage/css/content.css";
1850  }
1851  }
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data
static _lookupUpToDate($a_id)
Looup up to date.
global $DIC
Definition: goto.php:24
static signFile($path_to_file)
global $ilSetting
Definition: privfeed.php:17
Class ilObjStyleSheet.
static getWebspaceDir($mode="filesystem")
get webspace directory
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getEffectiveContentStyleId()

static ilObjStyleSheet::getEffectiveContentStyleId (   $a_style_id,
  $a_type = "" 
)
static

Get effective Style Id.

Parameters
integerstyle id that may be set in object
stringobject type

Definition at line 1767 of file class.ilObjStyleSheet.php.

References $DIC, $ilSetting, and ilObject\_lookupType().

Referenced by ilMediaPoolPageGUI\__construct(), ilPageLayoutGUI\__construct(), ILIAS\LearningModule\Export\LMHtmlExport\__construct(), ilGlossaryPresentationGUI\basicPageGuiInit(), ilLMPresentationGUI\basicPageGuiInit(), ilContentPagePageCommandForwarder\buildEmbeddedPresentationPageObjectGUI(), ILIAS\Wiki\Export\WikiHtmlExport\buildExportFile(), ilContentPagePageCommandForwarder\buildPresentationPageObjectGUI(), ilContentPagePageCommandForwarder\buildPreviewPageObjectGUI(), ilSCORM2004PageNodeGUI\executeCommand(), ilTermDefinitionEditorGUI\executeCommand(), ilLMPageObjectGUI\executeCommand(), ilLOEditorGUI\executeCommand(), ilContainerStartObjectsGUI\executeCommand(), ilObjWikiGUI\executeCommand(), ilObjSystemFolderGUI\executeCommand(), ilObjBlogGUI\executeCommand(), ILIAS\Services\Export\HTML\Util\exportCOPageFiles(), ilAuthLoginPageEditorGUI\forwardToPageObject(), ilContainerGUI\forwardToPageObject(), ilContainerGUI\getContainerPageHTML(), ilContainerStartObjectsContentGUI\getPageHTML(), ilContentPagePageCommandForwarder\getPageObjectGUI(), ilContainerExporter\getXmlExportTailDependencies(), ilObjPortfolioBaseGUI\handlePageCall(), ilObjSCORM2004LearningModule\prepareHTMLExporter(), ilContainerObjectiveGUI\renderObjective(), ilDclDetailedViewGUI\renderRecord(), ilGlossaryPresentationGUI\setContentStyles(), ilObjWikiGUI\setContentStyleSheet(), ilLMPresentationGUI\showPrintView(), and ilObjWikiGUI\viewPageObject().

1768  {
1769  global $DIC;
1770 
1771  $ilSetting = $DIC->settings();
1772 
1773  // check global fixed content style
1774  $fixed_style = $ilSetting->get("fixed_content_style_id");
1775  if ($fixed_style > 0) {
1776  $a_style_id = $fixed_style;
1777  }
1778 
1779  // check global default style
1780  if ($a_style_id <= 0) {
1781  $a_style_id = $ilSetting->get("default_content_style_id");
1782  }
1783 
1784  if ($a_style_id > 0 && ilObject::_lookupType($a_style_id) == "sty") {
1785  return $a_style_id;
1786  }
1787 
1788  return 0;
1789  }
global $DIC
Definition: goto.php:24
static _lookupType($a_id, $a_reference=false)
lookup object type
global $ilSetting
Definition: privfeed.php:17
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getExportSubDir()

ilObjStyleSheet::getExportSubDir ( )

The local directory, that will be included within the zip file.

Definition at line 2131 of file class.ilObjStyleSheet.php.

References ilObject\getId().

Referenced by createExportSubDirectory(), and export().

2132  {
2133  if ($this->export_sub_dir == "") {
2134  return "sty_" . $this->getId();
2135  } else {
2136  return $this->export_sub_dir;
2137  }
2138  }
getId()
get object id public
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getHideStatus()

ilObjStyleSheet::getHideStatus (   $a_type,
  $a_char 
)

Get characteristic hide status.

Definition at line 1183 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

1184  {
1185  $ilDB = $this->db;
1186 
1187  $set = $ilDB->query(
1188  "SELECT hide FROM style_char " .
1189  " WHERE style_id = " . $ilDB->quote($this->getId(), "integer") . " AND " .
1190  " type = " . $ilDB->quote($a_type, "text") . " AND " .
1191  " characteristic = " . $ilDB->quote($a_char, "text")
1192  );
1193  $rec = $ilDB->fetchAssoc($set);
1194 
1195  return $rec["hide"];
1196  }
global $ilDB

◆ getImages()

ilObjStyleSheet::getImages ( )

Get images of style.

Definition at line 1345 of file class.ilObjStyleSheet.php.

References ilUtil\getDir(), and getImagesDirectory().

1346  {
1347  $dir = $this->getImagesDirectory();
1348  $images = array();
1349  if (is_dir($dir)) {
1350  $entries = ilUtil::getDir($dir);
1351  foreach ($entries as $entry) {
1352  if (substr($entry["entry"], 0, 1) == ".") {
1353  continue;
1354  }
1355  if ($entry["type"] != "dir") {
1356  $images[] = $entry;
1357  }
1358  }
1359  }
1360 
1361  return $images;
1362  }
static getDir($a_dir, $a_rec=false, $a_sub_dir="")
get directory
getImagesDirectory()
Get images directory.
+ Here is the call graph for this function:

◆ getImagesDirectory()

ilObjStyleSheet::getImagesDirectory ( )

Get images directory.

Definition at line 1319 of file class.ilObjStyleSheet.php.

References _getImagesDirectory(), and ilObject\getId().

Referenced by copyImagesToDir(), create(), deleteImage(), export(), getImages(), getThumbnailsDirectory(), import(), and uploadImage().

1320  {
1322  }
getId()
get object id public
static _getImagesDirectory($a_style_id)
Get images directory.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getMaxMQueryOrderNr()

ilObjStyleSheet::getMaxMQueryOrderNr ( )

Get maximum media query order nr.

Definition at line 3220 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

Referenced by addMediaQuery().

3221  {
3222  $ilDB = $this->db;
3223 
3224  $set = $ilDB->query(
3225  "SELECT max(order_nr) mnr FROM sty_media_query " .
3226  " WHERE style_id = " . $ilDB->quote($this->getId(), "integer")
3227  );
3228  $rec = $ilDB->fetchAssoc($set);
3229 
3230  return (int) $rec["mnr"];
3231  }
global $ilDB
+ Here is the caller graph for this function:

◆ getMediaQueries()

ilObjStyleSheet::getMediaQueries ( )

Get colors of style.

Definition at line 3176 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

Referenced by saveMediaQueryOrder(), and writeCSSFile().

3177  {
3178  $ilDB = $this->db;
3179 
3180  $set = $ilDB->query("SELECT * FROM sty_media_query WHERE " .
3181  "style_id = " . $ilDB->quote($this->getId(), "integer") . " " .
3182  "ORDER BY order_nr");
3183 
3184  $mq = array();
3185  while ($rec = $ilDB->fetchAssoc($set)) {
3186  $mq[] = $rec;
3187  }
3188 
3189  return $mq;
3190  }
global $ilDB
+ Here is the caller graph for this function:

◆ getMediaQueryForId()

ilObjStyleSheet::getMediaQueryForId (   $a_id)

Get media query for id.

Parameters

Definition at line 3256 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

3257  {
3258  $ilDB = $this->db;
3259 
3260  $set = $ilDB->query(
3261  "SELECT * FROM sty_media_query " .
3262  " WHERE id = " . $ilDB->quote($a_id, "integer")
3263  );
3264  return $ilDB->fetchAssoc($set);
3265  }
global $ilDB

◆ getMetaData()

& ilObjStyleSheet::getMetaData ( )

get meta data object

Definition at line 876 of file class.ilObjStyleSheet.php.

877  {
878  return $this->meta_data;
879  }

◆ getParametersOfClass()

ilObjStyleSheet::getParametersOfClass (   $a_type,
  $a_class,
  $a_mq_id = 0 
)

Get parameters of class.

Parameters

Definition at line 1797 of file class.ilObjStyleSheet.php.

1798  {
1799  if (is_array($this->style_class[$a_type][$a_class][$a_mq_id])) {
1800  return $this->style_class[$a_type][$a_class][$a_mq_id];
1801  }
1802  return array();
1803  }

◆ getPlaceHolderStylePath()

static ilObjStyleSheet::getPlaceHolderStylePath ( )
static

get placeholder style path (for Page Layouts)

static

Definition at line 1878 of file class.ilObjStyleSheet.php.

Referenced by ilPageLayoutGUI\__construct(), ilPortfolioPageGUI\__construct(), ilPCPlaceHolder\getCssFiles(), ilSCORM2004NodeGUI\setContentStyle(), ilPortfolioTemplatePageGUI\showPage(), and ilPageObjectGUI\showPage().

1879  {
1880  return "./Services/COPage/css/placeholder.css";
1881  }
+ Here is the caller graph for this function:

◆ getRefId()

ilObjStyleSheet::getRefId ( )

Get ref id (show error message, since styles do not use ref ids)

Definition at line 595 of file class.ilObjStyleSheet.php.

596  {
597  return "";
598  //$this->ilias->raiseError("Operation ilObjStyleSheet::getRefId() not allowed.",$this->ilias->error_obj->FATAL);
599  }

◆ getScope()

ilObjStyleSheet::getScope ( )

Get scope.

Definition at line 644 of file class.ilObjStyleSheet.php.

Referenced by create(), and update().

645  {
646  return $this->scope;
647  }
+ Here is the caller graph for this function:

◆ getStyle()

ilObjStyleSheet::getStyle ( )

todo: bad style! should return array of objects, not multi-dim-arrays

Definition at line 1975 of file class.ilObjStyleSheet.php.

References $style.

Referenced by writeCSSFile().

1976  {
1977  return $this->style;
1978  }
+ Here is the caller graph for this function:

◆ getStyleParameterGroups()

ilObjStyleSheet::getStyleParameterGroups ( )

Get grouped parameter.

Definition at line 2364 of file class.ilObjStyleSheet.php.

References $parameter.

2365  {
2366  $groups = array();
2367 
2368  foreach (self::$parameter as $parameter => $props) {
2369  $groups[$props["group"]][] = $parameter;
2370  }
2371  return $groups;
2372  }

◆ getSyntaxStylePath()

static ilObjStyleSheet::getSyntaxStylePath ( )
static

get syntax style path

static

Definition at line 1868 of file class.ilObjStyleSheet.php.

Referenced by ilImprintGUI\__construct(), ilPageLayoutGUI\__construct(), ilPortfolioPageGUI\__construct(), ilWikiPageGUI\__construct(), ilDclDetailedViewGUI\__construct(), ilBlogPostingGUI\__construct(), ilAssQuestionPreviewGUI\__construct(), ilGlossaryTermGUI\confirmDefinitionDeletion(), ilObjGlossaryGUI\confirmDefinitionDeletion(), assOrderingQuestionGUI\editNesting(), ilTermDefinitionEditorGUI\executeCommand(), ilObjQuestionPoolGUI\executeCommand(), ilObjTestGUI\executeCommand(), ilObjContentPageGUI\executeCommand(), ilCOPageHTMLExport\exportStyles(), ilAssQuestionPageCommandForwarder\forward(), ilAuthLoginPageEditorGUI\forwardToPageObject(), ilContainerGUI\forwardToPageObject(), ilContainerGUI\getContainerPageHTML(), ilContainerStartObjectsContentGUI\getPageHTML(), ilCOPageHTMLExport\getPreparedMainTemplate(), ilCOPageHTMLExport\initResourceTemplate(), ilAssQuestionPreviewGUI\initStyleSheets(), ilObjContentPageGUI\initStyleSheets(), ilGlossaryTermGUI\listDefinitions(), ilLMEditorGUI\main_header(), ilTestServiceGUI\outCorrectSolution(), ilTestPlayerAbstractGUI\outCorrectSolution(), ilTestPlayerAbstractGUI\populateSyntaxStyleBlock(), ilObjPortfolioGUI\printView(), ilContentPageKioskModeView\renderContentStyle(), ilLearningModuleKioskModeView\renderContentStyle(), ilSCORM2004NodeGUI\setContentStyle(), ilGlossaryPresentationGUI\setContentStyles(), ilLMPresentationGUI\setContentStyles(), ilObjWikiGUI\setContentStyleSheet(), ilStartUpGUI\showLoginPage(), ilContainerObjectiveGUI\showObjectives(), ilObjMediaPoolGUI\showPage(), and ilTestCorrectionsGUI\showSolution().

1869  {
1870  return "./Services/COPage/css/syntaxhighlight.css";
1871  }
+ Here is the caller graph for this function:

◆ getTemplate()

ilObjStyleSheet::getTemplate (   $a_t_id)

Get template.

Definition at line 3454 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, and getTemplateClasses().

3455  {
3456  $ilDB = $this->db;
3457 
3458  $set = $ilDB->query("SELECT * FROM style_template WHERE " .
3459  "style_id = " . $ilDB->quote($this->getId(), "integer") . " " .
3460  " AND id = " . $ilDB->quote($a_t_id, "integer"));
3461 
3462  if ($rec = $ilDB->fetchAssoc($set)) {
3463  $rec["classes"] = $this->getTemplateClasses($rec["id"]);
3464 
3465  $template = $rec;
3466  return $template;
3467  }
3468  return array();
3469  }
getTemplateClasses($a_tid)
Get template classes.
global $ilDB
+ Here is the call graph for this function:

◆ getTemplateClasses()

ilObjStyleSheet::getTemplateClasses (   $a_tid)

Get template classes.

Definition at line 3340 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

Referenced by getTemplate(), and getTemplates().

3341  {
3342  $ilDB = $this->db;
3343  $set = $ilDB->query("SELECT * FROM style_template_class WHERE " .
3344  "template_id = " . $ilDB->quote($a_tid, "integer"));
3345 
3346  $class = array();
3347  while ($rec = $ilDB->fetchAssoc($set)) {
3348  $key = $rec["class_type"];
3349  $class[$key] = $rec["class"];
3350  }
3351 
3352  return $class;
3353  }
global $ilDB
+ Here is the caller graph for this function:

◆ getTemplates()

ilObjStyleSheet::getTemplates (   $a_type)

Get table templates of style.

Definition at line 3319 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, $templates, and getTemplateClasses().

Referenced by getTemplateXML(), and getXML().

3320  {
3321  $ilDB = $this->db;
3322 
3323  $set = $ilDB->query("SELECT * FROM style_template WHERE " .
3324  "style_id = " . $ilDB->quote($this->getId(), "integer") . " AND " .
3325  "temp_type = " . $ilDB->quote($a_type, "text") . " " .
3326  "ORDER BY name");
3327 
3328  $templates = array();
3329  while ($rec = $ilDB->fetchAssoc($set)) {
3330  $rec["classes"] = $this->getTemplateClasses($rec["id"]);
3331  $templates[] = $rec;
3332  }
3333 
3334  return $templates;
3335  }
getTemplateClasses($a_tid)
Get template classes.
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getTemplateXML()

ilObjStyleSheet::getTemplateXML ( )

Get table template xml.

Definition at line 3501 of file class.ilObjStyleSheet.php.

References $c, ilObject\$db, $ilDB, ilObject\$type, _getTemplateClassTypes(), and getTemplates().

3502  {
3503  $ilDB = $this->db;
3504 
3505  $tag = "<StyleTemplates>";
3506 
3507  $ttypes = array("table", "vaccordion", "haccordion", "carousel");
3508 
3509  foreach ($ttypes as $ttype) {
3510  $ts = $this->getTemplates($ttype);
3511 
3512  foreach ($ts as $t) {
3514  /*$atts = array("table" => "TableClass",
3515  "caption" => "CaptionClass",
3516  "row_head" => "RowHeadClass",
3517  "row_foot" => "RowFootClass",
3518  "col_head" => "ColHeadClass",
3519  "col_foot" => "ColFootClass",
3520  "odd_row" => "OddRowClass",
3521  "even_row" => "EvenRowClass",
3522  "odd_col" => "OddColClass",
3523  "even_col" => "EvenColClass");*/
3524  $c = $t["classes"];
3525 
3526  $tag .= '<StyleTemplate Name="' . $t["name"] . '">';
3527 
3528  foreach ($atts as $type => $t) {
3529  if ($c[$type] != "") {
3530  $tag .= '<StyleClass Type="' . $type . '" Value="' . $c[$type] . '" />';
3531  }
3532  }
3533 
3534  $tag .= "</StyleTemplate>";
3535  }
3536  }
3537 
3538  $tag .= "</StyleTemplates>";
3539 
3540  //echo htmlentities($tag);
3541  return $tag;
3542  }
static _getTemplateClassTypes($a_template_type="")
Get template class types.
$c
Definition: cli.php:37
getTemplates($a_type)
Get table templates of style.
global $ilDB
+ Here is the call graph for this function:

◆ getThumbnailsDirectory()

ilObjStyleSheet::getThumbnailsDirectory ( )

Get thumbnails directory.

Definition at line 1336 of file class.ilObjStyleSheet.php.

References getImagesDirectory().

Referenced by deleteImage(), and uploadImage().

1337  {
1338  return $this->getImagesDirectory() .
1339  "/thumbnails";
1340  }
getImagesDirectory()
Get images directory.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getUpToDate()

ilObjStyleSheet::getUpToDate ( )

Get up to date.

Definition at line 628 of file class.ilObjStyleSheet.php.

629  {
630  return $this->up_to_date;
631  }

◆ getXML()

ilObjStyleSheet::getXML ( )

get xml representation of style object todo: add mq_id

Definition at line 2004 of file class.ilObjStyleSheet.php.

References $c, $style, $xml, _determineTag(), _getTemplateClassTypes(), getColors(), ilObject\getDescription(), getTemplates(), ilObject\getTitle(), and handleXmlString().

Referenced by exportXML().

2005  {
2006  $xml .= "<StyleSheet>\n";
2007 
2008  // title and description
2009  $xml .= "<Title>" . $this->handleXmlString($this->getTitle()) . "</Title>";
2010  $xml .= "<Description>" . $this->handleXmlString($this->getDescription()) . "</Description>\n";
2011 
2012  // style classes
2013  foreach ($this->chars as $char) {
2014  $xml .= "<Style Tag=\"" . ilObjStyleSheet::_determineTag($char["type"]) .
2015  "\" Type=\"" . $char["type"] . "\" Class=\"" . $char["class"] . "\">\n";
2016  foreach ($this->style as $style) {
2017  if ($style[0]["type"] == $char["type"] && $style[0]["class"] == $char["class"]) {
2018  foreach ($style as $tag) {
2019  $xml .= "<StyleParameter Name=\"" . $tag["parameter"] . "\" Value=\"" . $tag["value"] . "\" Custom=\"" . $tag["custom"] . "\" />\n";
2020  }
2021  }
2022  }
2023  $xml .= "</Style>\n";
2024  }
2025 
2026  // colors
2027  foreach ($this->getColors() as $color) {
2028  $xml .= "<StyleColor Name=\"" . $color["name"] . "\" Code=\"" . $color["code"] . "\"/>\n";
2029  }
2030 
2031  // templates
2033  foreach ($tcts as $tct => $v) {
2034  $ts = $this->getTemplates($tct);
2035 
2036  foreach ($ts as $t) {
2037  $xml .= "<StyleTemplate Type=\"" . $tct . "\" Name=\"" . $t["name"] . "\">\n";
2038  foreach ($t["classes"] as $ct => $c) {
2039  if ($c != "") {
2040  $xml .= "<StyleTemplateClass ClassType=\"" . $ct . "\" Class=\"" . $c . "\"/>\n";
2041  }
2042  }
2043  $xml .= "</StyleTemplate>\n";
2044  }
2045  }
2046 
2047 
2048  $xml .= "</StyleSheet>";
2049  //echo "<pre>".htmlentities($xml)."</pre>"; exit;
2050  return $xml;
2051  }
static _getTemplateClassTypes($a_template_type="")
Get template class types.
$c
Definition: cli.php:37
getColors()
Get colors of style.
static _determineTag($a_type)
handleXmlString($a_str)
Handle xml strin.
getTitle()
get object title public
getDescription()
get object description
$xml
Definition: metadata.php:332
getTemplates($a_type)
Get table templates of style.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleXmlString()

ilObjStyleSheet::handleXmlString (   $a_str)

Handle xml strin.

Parameters

Definition at line 1995 of file class.ilObjStyleSheet.php.

Referenced by getXML().

1996  {
1997  return str_replace("&", "&amp;", $a_str);
1998  }
+ Here is the caller graph for this function:

◆ ilClone()

ilObjStyleSheet::ilClone ( )

clone style sheet (note: styles have no ref ids and return an object id)

public

Returns
integer new obj id

Definition at line 1204 of file class.ilObjStyleSheet.php.

References ilObject\$lng, ilObject\getDescription(), ilObject\getId(), ilObject\getTitle(), ilObject\getType(), and lookupStyleSetting().

1205  {
1206  $lng = $this->lng;
1207 
1208  $lng->loadLanguageModule("style");
1209 
1210  $new_obj = new ilObjStyleSheet();
1211  $new_obj->setTitle($this->getTitle() . " (" . $lng->txt("sty_acopy") . ")");
1212  $new_obj->setType($this->getType());
1213  $new_obj->setDescription($this->getDescription());
1214  $new_obj->create($this->getId());
1215 
1216  $new_obj->writeStyleSetting(
1217  "disable_auto_margins",
1218  $this->lookupStyleSetting("disable_auto_margins")
1219  );
1220 
1221  return $new_obj->getId();
1222  }
lookupStyleSetting($a_name)
Lookup style setting.
getId()
get object id public
getTitle()
get object title public
getDescription()
get object description
getType()
get object type public
Class ilObjStyleSheet.
+ Here is the call graph for this function:

◆ import()

ilObjStyleSheet::import (   $a_file)

Import.

Definition at line 2223 of file class.ilObjStyleSheet.php.

References _addMissingStyleClassesToStyle(), createFromXMLFile(), createImagesDirectory(), createImportDirectory(), ilObject\getId(), getImagesDirectory(), ilUtil\moveUploadedFile(), ilUtil\rCopy(), read(), ilUtil\unzip(), and writeCSSFile().

2224  {
2225  parent::create();
2226 
2227  $im_dir = $this->createImportDirectory();
2228 
2229  // handle uploaded files
2230  if (is_array($a_file)) {
2232  $a_file["tmp_name"],
2233  $a_file["name"],
2234  $im_dir . "/" . $a_file["name"]
2235  );
2236  $file_name = $a_file["name"];
2237  } else { // handle not directly uploaded files
2238  $pi = pathinfo($a_file);
2239  $file_name = $pi["basename"];
2240  copy($a_file, $im_dir . "/" . $file_name);
2241  }
2242  $file = pathinfo($file_name);
2243 
2244  // unzip file
2245  if (strtolower($file["extension"] == "zip")) {
2246  ilUtil::unzip($im_dir . "/" . $file_name);
2247  $subdir = basename($file["basename"], "." . $file["extension"]);
2248  if (!is_dir($im_dir . "/" . $subdir)) {
2249  $subdir = "style"; // check style subdir
2250  }
2251  $xml_file = $im_dir . "/" . $subdir . "/style.xml";
2252  } else { // handle xml file directly (old style)
2253  $xml_file = $im_dir . "/" . $file_name;
2254  }
2255 
2256  // load information from xml file
2257  //echo "-$xml_file-";
2258  $this->createFromXMLFile($xml_file, true);
2259 
2260  // copy images
2261  $this->createImagesDirectory();
2262  if (is_dir($im_dir . "/" . $subdir . "/images")) {
2263  ilUtil::rCopy(
2264  $im_dir . "/" . $subdir . "/images",
2265  $this->getImagesDirectory()
2266  );
2267  }
2268 
2270  $this->read();
2271  $this->writeCSSFile();
2272  }
static rCopy($a_sdir, $a_tdir, $preserveTimeAttributes=false)
Copies content of a directory $a_sdir recursively to a directory $a_tdir.
read()
read style properties
writeCSSFile($a_target_file="", $a_image_dir="")
write css file to webspace directory
getImagesDirectory()
Get images directory.
getId()
get object id public
static moveUploadedFile($a_file, $a_name, $a_target, $a_raise_errors=true, $a_mode="move_uploaded")
move uploaded file
static unzip(string $path_to_zip_file, bool $overwrite_existing=false, bool $unpack_flat=false)
static _addMissingStyleClassesToStyle($a_id)
Add missing style classes to all styles.
createImportDirectory()
Create import directory.
createFromXMLFile($a_file, $a_skip_parent_create=false)
create style from xml file todo: add mq_id and custom
createImagesDirectory()
Create images directory <data_dir>/sty/sty_<id>/images.
+ Here is the call graph for this function:

◆ isCoreStyle()

static ilObjStyleSheet::isCoreStyle (   $a_type,
  $a_class 
)
static

Is core style.

Parameters

Definition at line 2473 of file class.ilObjStyleSheet.php.

2474  {
2475  foreach (self::$core_styles as $s) {
2476  if ($s["type"] == $a_type && $s["class"] == $a_class) {
2477  return true;
2478  }
2479  }
2480  return false;
2481  }

◆ lookupObjectForStyle()

static ilObjStyleSheet::lookupObjectForStyle (   $a_style_id)
static

Lookup object style.

Definition at line 3697 of file class.ilObjStyleSheet.php.

References $DIC, $ilDB, and ilObject\_lookupType().

3698  {
3699  global $DIC;
3700 
3701  $ilDB = $DIC->database();
3702 
3703  $obj_ids = array();
3704  if (ilObject::_lookupType($a_style_id) == "sty") {
3705  $set = $ilDB->query(
3706  "SELECT DISTINCT obj_id FROM style_usage " .
3707  " WHERE style_id = " . $ilDB->quote($a_style_id, "integer")
3708  );
3709 
3710  while ($rec = $ilDB->fetchAssoc($set)) {
3711  $obj_ids[] = $rec["obj_id"];
3712  }
3713  }
3714  return $obj_ids;
3715  }
global $DIC
Definition: goto.php:24
static _lookupType($a_id, $a_reference=false)
lookup object type
global $ilDB
+ Here is the call graph for this function:

◆ lookupObjectStyle()

static ilObjStyleSheet::lookupObjectStyle (   $a_obj_id)
static

Lookup object style.

Definition at line 3675 of file class.ilObjStyleSheet.php.

References $DIC, $ilDB, and ilObject\_lookupType().

Referenced by ilObjCategoryGUI\afterSave(), ilObjBlog\doRead(), ilObjPortfolioBase\doRead(), ilStyleDataSet\getDependencies(), ilBlogExporter\getXmlExportTailDependencies(), ilContainerExporter\getXmlExportTailDependencies(), ilBlogDataSet\getXmlRecord(), ilObjGlossary\read(), ilObjWiki\read(), ilContainer\read(), and ilContainerXmlWriter\writeSubitems().

3676  {
3677  global $DIC;
3678 
3679  $ilDB = $DIC->database();
3680 
3681  $set = $ilDB->query(
3682  "SELECT style_id FROM style_usage " .
3683  " WHERE obj_id = " . $ilDB->quote($a_obj_id, "integer")
3684  );
3685  $rec = $ilDB->fetchAssoc($set);
3686 
3687  if (ilObject::_lookupType($rec["style_id"]) == "sty") {
3688  return (int) $rec["style_id"];
3689  }
3690 
3691  return 0;
3692  }
global $DIC
Definition: goto.php:24
static _lookupType($a_id, $a_reference=false)
lookup object type
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ lookupStyleSetting()

ilObjStyleSheet::lookupStyleSetting (   $a_name)

Lookup style setting.

Definition at line 3640 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

Referenced by ilClone().

3641  {
3642  $ilDB = $this->db;
3643 
3644  $set = $ilDB->query(
3645  "SELECT value FROM style_setting " .
3646  " WHERE style_id = " . $ilDB->quote($this->getId(), "integer") .
3647  " AND name = " . $ilDB->quote($a_name, "text")
3648  );
3649  $rec = $ilDB->fetchAssoc($set);
3650 
3651  return $rec["value"];
3652  }
global $ilDB
+ Here is the caller graph for this function:

◆ lookupTemplateName()

ilObjStyleSheet::lookupTemplateName (   $a_t_id)

Lookup table template name for template ID.

Definition at line 3474 of file class.ilObjStyleSheet.php.

3475  {
3476  return self::_lookupTemplateName($a_t_id);
3477  }

◆ lookupTemplatePreview()

ilObjStyleSheet::lookupTemplatePreview (   $a_t_id)

Lookup table template preview.

Definition at line 3567 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

3568  {
3569  $ilDB = $this->db;
3570 
3571  $set = $ilDB->query("SELECT preview FROM style_template " .
3572  " WHERE id = " . $ilDB->quote($a_t_id, "integer"));
3573  if ($rec = $ilDB->fetchAssoc($set)) {
3574  return $rec["preview"];
3575  }
3576 
3577  return "";
3578  }
global $ilDB

◆ putInTree()

ilObjStyleSheet::putInTree (   $a_parent_ref)

Put in tree (show error message, since styles do not use ref ids)

Definition at line 604 of file class.ilObjStyleSheet.php.

605  {
606  $this->ilias->raiseError("Operation ilObjStyleSheet::putInTree() not allowed.", $this->ilias->error_obj->FATAL);
607  }
redirection script todo: (a better solution should control the processing via a xml file) ...

◆ read()

ilObjStyleSheet::read ( )

read style properties

Definition at line 1533 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, $res, ilObject\getId(), setScope(), and setUpToDate().

Referenced by addParameter(), create(), createFromXMLFile(), import(), and update().

1534  {
1535  $ilDB = $this->db;
1536 
1537  parent::read();
1538 
1539  $q = "SELECT * FROM style_parameter WHERE style_id = " .
1540  $ilDB->quote($this->getId(), "integer") . " ORDER BY tag, class, type, mq_id ";
1541  $style_set = $ilDB->query($q);
1542  $ctag = "";
1543  $cclass = "";
1544  $ctype = "";
1545  $cmq_id = 0;
1546  $this->style = array();
1547  // workaround for bug #17586, see also http://stackoverflow.com/questions/3066356/multiple-css-classes-properties-overlapping-based-on-the-order-defined
1548  // e.g. ha_iheada must be written after ha_ihead, since they are acting on the same dom node
1549  // styles that must be added at the end
1550  $this->end_styles = array();
1551  while ($style_rec = $ilDB->fetchAssoc($style_set)) {
1552  if ($style_rec["tag"] != $ctag || $style_rec["class"] != $cclass
1553  || $style_rec["type"] != $ctype || $style_rec["mq_id"] != $cmq_id) {
1554  // add current tag array to style array
1555  if (is_array($tag)) {
1556  if (in_array($ctype, array("ha_iheada", "va_iheada"))) {
1557  $this->end_styles[] = $tag;
1558  } else {
1559  $this->style[] = $tag;
1560  }
1561  }
1562  $tag = array();
1563  }
1564  $ctag = $style_rec["tag"];
1565  $cclass = $style_rec["class"];
1566  $ctype = $style_rec["type"];
1567  $cmq_id = $style_rec["mq_id"];
1568  $tag[] = $style_rec;
1569  // added $cmq_id
1570  $this->style_class[$ctype][$cclass][$cmq_id][$style_rec["parameter"]] = $style_rec["value"];
1571  }
1572  if (is_array($tag)) {
1573  $this->style[] = $tag;
1574  }
1575  foreach ($this->end_styles as $s) {
1576  $this->style[] = $s;
1577  }
1578  //var_dump($this->style_class);
1579  $q = "SELECT * FROM style_data WHERE id = " .
1580  $ilDB->quote($this->getId(), "integer");
1581  $res = $ilDB->query($q);
1582  $sty = $ilDB->fetchAssoc($res);
1583  $this->setUpToDate((boolean) $sty["uptodate"]);
1584  $this->setScope($sty["category"]);
1585 
1586  // get style characteristics records
1587  $this->chars = array();
1588  $this->chars_by_type = array();
1589  $q = "SELECT * FROM style_char WHERE style_id = " .
1590  $ilDB->quote($this->getId(), "integer") .
1591  " ORDER BY type ASC, characteristic ASC";
1592  $par_set = $ilDB->query($q);
1593  while ($par_rec = $ilDB->fetchAssoc($par_set)) {
1594  $this->chars[] = array("type" => $par_rec["type"], "class" => $par_rec["characteristic"], "hide" => $par_rec["hide"]);
1595  $this->chars_by_type[$par_rec["type"]][] = $par_rec["characteristic"];
1596  if ($par_rec["hide"]) {
1597  $this->hidden_chars[$par_rec["type"] . ":" . $par_rec["characteristic"]] = true;
1598  }
1599  }
1600  // var_dump($this->style); exit;
1601  }
setScope($a_scope)
Set scope.
foreach($_POST as $key=> $value) $res
getId()
get object id public
setUpToDate($a_up_to_date=true)
Set style up to date (false + update will trigger css generation next time)
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeColor()

ilObjStyleSheet::removeColor (   $a_name)

Remove a color.

Definition at line 2962 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

2963  {
2964  $ilDB = $this->db;
2965 
2966  $ilDB->manipulate("DELETE FROM style_color WHERE " .
2967  " style_id = " . $ilDB->quote($this->getId(), "integer") . " AND " .
2968  " color_name = " . $ilDB->quote($a_name, "text"));
2969  }
global $ilDB

◆ removeTemplate()

ilObjStyleSheet::removeTemplate (   $a_t_id)

Remove table template.

Definition at line 3602 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

3603  {
3604  $ilDB = $this->db;
3605 
3606  $ilDB->manipulate("DELETE FROM style_template WHERE " .
3607  " style_id = " . $ilDB->quote($this->getId(), "integer") . " AND " .
3608  " id = " . $ilDB->quote($a_t_id, "integer"));
3609 
3610  $ilDB->manipulate(
3611  "DELETE FROM style_template_class WHERE " .
3612  "template_id = " . $ilDB->quote($a_t_id, "integer")
3613  );
3614  }
global $ilDB

◆ replaceStylePar()

ilObjStyleSheet::replaceStylePar (   $a_tag,
  $a_class,
  $a_par,
  $a_val,
  $a_type,
  $a_mq_id = 0,
  $a_custom = false 
)

Set style parameter per tag/class/parameter.

Definition at line 1918 of file class.ilObjStyleSheet.php.

References _replaceStylePar(), and ilObject\getId().

Referenced by copyCharacteristic(), and updateColor().

1919  {
1920  ilObjStyleSheet::_replaceStylePar($this->getId(), $a_tag, $a_class, $a_par, $a_val, $a_type, $a_mq_id, $a_custom);
1921  }
getId()
get object id public
static _replaceStylePar($style_id, $a_tag, $a_class, $a_par, $a_val, $a_type, $a_mq_id=0, $a_custom=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ saveHideStatus()

ilObjStyleSheet::saveHideStatus (   $a_type,
  $a_char,
  $a_hide 
)

Save characteristic hide status.

Definition at line 1167 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, and ilObject\getId().

1168  {
1169  $ilDB = $this->db;
1170 
1171  $ilDB->manipulate(
1172  "UPDATE style_char SET " .
1173  " hide = " . $ilDB->quote((int) $a_hide, "integer") .
1174  " WHERE style_id = " . $ilDB->quote($this->getId(), "integer") . " AND " .
1175  " type = " . $ilDB->quote($a_type, "text") . " AND " .
1176  " characteristic = " . $ilDB->quote($a_char, "text")
1177  );
1178  }
getId()
get object id public
global $ilDB
+ Here is the call graph for this function:

◆ saveMediaQueryOrder()

ilObjStyleSheet::saveMediaQueryOrder (   $a_order_nr = null)

Save media query order.

Parameters
int$a_order_nrorder nr

Definition at line 3289 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, getMediaQueries(), and ilUtil\sortArray().

Referenced by deleteMediaQuery().

3290  {
3291  $ilDB = $this->db;
3292 
3293  $mqueries = $this->getMediaQueries();
3294  if (is_array($a_order_nr)) {
3295  foreach ($mqueries as $k => $mq) {
3296  $mqueries[$k]["order_nr"] = $a_order_nr[$mq["id"]];
3297  }
3298  $mqueries = ilUtil::sortArray($mqueries, "order_nr", "", true);
3299  }
3300  $cnt = 10;
3301  foreach ($mqueries as $mq) {
3302  $ilDB->manipulate(
3303  "UPDATE sty_media_query SET " .
3304  " order_nr = " . $ilDB->quote($cnt, "integer") .
3305  " WHERE id = " . $ilDB->quote($mq["id"], "integer")
3306  );
3307  $cnt += 10;
3308  }
3309  }
static sortArray( $array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
global $ilDB
getMediaQueries()
Get colors of style.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setCharacteristics()

ilObjStyleSheet::setCharacteristics (   $a_chars)

Set characteristics.

Definition at line 1158 of file class.ilObjStyleSheet.php.

1159  {
1160  $this->chars = $a_chars;
1161  // $this->chars_by_type[$a_type];
1162  }

◆ setExportSubDir()

ilObjStyleSheet::setExportSubDir (   $a_dir)

Set local directory, that will be included within the zip file.

Definition at line 2123 of file class.ilObjStyleSheet.php.

Referenced by ilContObjectExport\buildExportFileXML().

2124  {
2125  $this->export_sub_dir = $a_dir;
2126  }
+ Here is the caller graph for this function:

◆ setRefId()

ilObjStyleSheet::setRefId (   $a_ref_id)

Set ref id (show error message, since styles do not use ref ids)

Definition at line 587 of file class.ilObjStyleSheet.php.

588  {
589  $this->ilias->raiseError("Operation ilObjStyleSheet::setRefId() not allowed.", $this->ilias->error_obj->FATAL);
590  }
redirection script todo: (a better solution should control the processing via a xml file) ...

◆ setScope()

ilObjStyleSheet::setScope (   $a_scope)

Set scope.

Definition at line 636 of file class.ilObjStyleSheet.php.

Referenced by read().

637  {
638  $this->scope = $a_scope;
639  }
+ Here is the caller graph for this function:

◆ setStyle()

ilObjStyleSheet::setStyle (   $a_style)

set styles

Definition at line 1983 of file class.ilObjStyleSheet.php.

1984  {
1985  $this->style = $a_style;
1986  }

◆ setUpToDate()

ilObjStyleSheet::setUpToDate (   $a_up_to_date = true)

Set style up to date (false + update will trigger css generation next time)

Definition at line 620 of file class.ilObjStyleSheet.php.

Referenced by addCharacteristic(), deleteCharacteristic(), read(), and writeCSSFile().

621  {
622  $this->up_to_date = $a_up_to_date;
623  }
+ Here is the caller graph for this function:

◆ templateExists()

ilObjStyleSheet::templateExists (   $a_template_name)

Check whether template exists.

Definition at line 3438 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

3439  {
3440  $ilDB = $this->db;
3441 
3442  $set = $ilDB->query("SELECT * FROM style_template WHERE " .
3443  "style_id = " . $ilDB->quote($this->getId(), "integer") . " AND " .
3444  "name = " . $ilDB->quote($a_template_name, "text"));
3445  if ($rec = $ilDB->fetchAssoc($set)) {
3446  return true;
3447  }
3448  return false;
3449  }
global $ilDB

◆ update()

ilObjStyleSheet::update ( )

Definition at line 1883 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, ilObject\getId(), getScope(), read(), and writeCSSFile().

Referenced by createFromXMLFile().

1884  {
1885  $ilDB = $this->db;
1886 
1887  parent::update();
1888  $this->read(); // this could be done better
1889  $this->writeCSSFile();
1890 
1891  $q = "UPDATE style_data " .
1892  "SET category = " . $ilDB->quote((int) $this->getScope(), "integer") .
1893  " WHERE id = " . $ilDB->quote($this->getId(), "integer");
1894  $ilDB->manipulate($q);
1895  }
read()
read style properties
writeCSSFile($a_target_file="", $a_image_dir="")
write css file to webspace directory
getId()
get object id public
global $ilDB
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateColor()

ilObjStyleSheet::updateColor (   $a_name,
  $a_new_name,
  $a_code 
)

Update color.

Definition at line 2915 of file class.ilObjStyleSheet.php.

References ilObject\$db, $ilDB, _writeUpToDate(), ilObject\getId(), and replaceStylePar().

2916  {
2917  $ilDB = $this->db;
2918 
2919  // todo: update names in parameters as well
2920 
2921  $ilDB->manipulate("UPDATE style_color SET " .
2922  "color_name = " . $ilDB->quote($a_new_name, "text") . ", " .
2923  "color_code = " . $ilDB->quote($a_code, "text") .
2924  " WHERE style_id = " . $ilDB->quote($this->getId(), "integer") .
2925  " AND color_name = " . $ilDB->quote($a_name, "text"));
2926  ilObjStyleSheet::_writeUpToDate($this->getId(), false);
2927 
2928  // rename also the name in the style parameter values
2929  if ($a_name != $a_new_name) {
2930  $set = $ilDB->query("SELECT * FROM style_parameter " .
2931  " WHERE style_id = " . $ilDB->quote($this->getId(), "integer") .
2932  " AND (" .
2933  " parameter = " . $ilDB->quote("background-color", "text") . " OR " .
2934  " parameter = " . $ilDB->quote("color", "text") . " OR " .
2935  " parameter = " . $ilDB->quote("border-color", "text") . " OR " .
2936  " parameter = " . $ilDB->quote("border-top-color", "text") . " OR " .
2937  " parameter = " . $ilDB->quote("border-bottom-color", "text") . " OR " .
2938  " parameter = " . $ilDB->quote("border-left-color", "text") . " OR " .
2939  " parameter = " . $ilDB->quote("border-right-color", "text") .
2940  ")");
2941  while ($rec = $ilDB->fetchAssoc($set)) {
2942  if ($rec["value"] == "!" . $a_name ||
2943  is_int(strpos($rec["value"], "!" . $a_name . "("))) {
2944  // parameter is based on color -> rename it
2945  $this->replaceStylePar(
2946  $rec["tag"],
2947  $rec["class"],
2948  $rec["parameter"],
2949  str_replace($a_name, $a_new_name, $rec["value"]),
2950  $rec["type"],
2951  $rec["mq_id"],
2952  $rec["custom"]
2953  );
2954  }
2955  }
2956  }
2957  }
getId()
get object id public
replaceStylePar($a_tag, $a_class, $a_par, $a_val, $a_type, $a_mq_id=0, $a_custom=false)
Set style parameter per tag/class/parameter.
global $ilDB
static _writeUpToDate($a_id, $a_up_to_date)
Write up to date.
+ Here is the call graph for this function:

◆ updateMediaQuery()

ilObjStyleSheet::updateMediaQuery (   $a_id,
  $a_mquery 
)

Update media query.

Parameters
int$a_idid
string$a_mquerymedia query

Definition at line 3239 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

3240  {
3241  $ilDB = $this->db;
3242 
3243  $ilDB->manipulate(
3244  "UPDATE sty_media_query SET " .
3245  " mquery = " . $ilDB->quote($a_mquery, "text") .
3246  " WHERE id = " . $ilDB->quote($a_id, "integer")
3247  );
3248  }
global $ilDB

◆ updateStyleParameter()

ilObjStyleSheet::updateStyleParameter (   $a_id,
  $a_value 
)

update style parameter per id

Parameters
int$a_idstyle parameter id
int$a_idstyle parameter value

Definition at line 1903 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

1904  {
1905  $ilDB = $this->db;
1906 
1907  $q = "UPDATE style_parameter SET VALUE = " .
1908  $ilDB->quote($a_value, "text") . " WHERE id = " .
1909  $ilDB->quote($a_id, "integer");
1910  $style_set = $ilDB->manipulate($q);
1911  }
global $ilDB

◆ updateTemplate()

ilObjStyleSheet::updateTemplate (   $a_t_id,
  $a_name,
  $a_classes 
)

Update table template.

Definition at line 3395 of file class.ilObjStyleSheet.php.

References $c, ilObject\$db, and $ilDB.

3396  {
3397  $ilDB = $this->db;
3398 
3399  $ilDB->manipulate("UPDATE style_template SET " .
3400  "name = " . $ilDB->quote($a_name, "text") .
3401  " WHERE id = " . $ilDB->quote($a_t_id, "integer"));
3402 
3403  $ilDB->manipulate(
3404  "DELETE FROM style_template_class WHERE " .
3405  "template_id = " . $ilDB->quote($a_t_id, "integer")
3406  );
3407  foreach ($a_classes as $t => $c) {
3408  $ilDB->manipulate($q = "INSERT INTO style_template_class " .
3409  "(template_id, class_type, class)" .
3410  " VALUES (" .
3411  $ilDB->quote($a_t_id, "integer") . "," .
3412  $ilDB->quote($t, "text") . "," .
3413  $ilDB->quote($c, "text") .
3414  ")");
3415  }
3416  }
$c
Definition: cli.php:37
global $ilDB

◆ uploadImage()

ilObjStyleSheet::uploadImage (   $a_file)

Upload image.

Definition at line 1367 of file class.ilObjStyleSheet.php.

References createImagesDirectory(), getImagesDirectory(), getThumbnailsDirectory(), ilUtil\moveUploadedFile(), and ilUtil\resizeImage().

1368  {
1369  $this->createImagesDirectory();
1371  $a_file["tmp_name"],
1372  $a_file["name"],
1373  $this->getImagesDirectory() . "/" . $a_file["name"]
1374  );
1376  $this->getImagesDirectory() . "/" . $a_file["name"],
1377  $this->getThumbnailsDirectory() . "/" . $a_file["name"],
1378  75,
1379  75
1380  );
1381  }
getThumbnailsDirectory()
Get thumbnails directory.
getImagesDirectory()
Get images directory.
static resizeImage($a_from, $a_to, $a_width, $a_height, $a_constrain_prop=false)
resize image
static moveUploadedFile($a_file, $a_name, $a_target, $a_raise_errors=true, $a_mode="move_uploaded")
move uploaded file
createImagesDirectory()
Create images directory <data_dir>/sty/sty_<id>/images.
+ Here is the call graph for this function:

◆ writeCSSFile()

ilObjStyleSheet::writeCSSFile (   $a_target_file = "",
  $a_image_dir = "" 
)

write css file to webspace directory

Definition at line 1606 of file class.ilObjStyleSheet.php.

References $style, _writeUpToDate(), getColorCodeForName(), ilObject\getId(), getMediaQueries(), getStyle(), ilUtil\getWebspaceDir(), ilUtil\makeDirParents(), and setUpToDate().

Referenced by addParameter(), create(), import(), and update().

1607  {
1608  $style = $this->getStyle();
1609 
1610  if (!is_dir(ilUtil::getWebspaceDir() . "/css")) {
1612  }
1613 
1614  if ($a_target_file == "") {
1615  $css_file_name = ilUtil::getWebspaceDir() . "/css/style_" . $this->getId() . ".css";
1616  } else {
1617  $css_file_name = $a_target_file;
1618  }
1619  $css_file = fopen($css_file_name, "w");
1620 
1621  $page_background = "";
1622 
1623  $mqs = array(array("mquery" => "", "id" => 0));
1624  foreach ($this->getMediaQueries() as $mq) {
1625  $mqs[] = $mq;
1626  }
1627 
1628  // iterate all media queries
1629  foreach ($mqs as $mq) {
1630  if ($mq["id"] > 0) {
1631  fwrite($css_file, "@media " . $mq["mquery"] . " {\n");
1632  }
1633  reset($style);
1634  foreach ($style as $tag) {
1635  if ($tag[0]["mq_id"] != $mq["id"]) {
1636  continue;
1637  }
1638  fwrite($css_file, $tag[0]["tag"] . ".ilc_" . $tag[0]["type"] . "_" . $tag[0]["class"] . "\n");
1639  // echo "<br>";
1640  // var_dump($tag[0]["type"]);
1641  if ($tag[0]["tag"] == "td") {
1642  fwrite($css_file, ",th" . ".ilc_" . $tag[0]["type"] . "_" . $tag[0]["class"] . "\n");
1643  }
1644  if (in_array($tag[0]["tag"], array("h1", "h2", "h3"))) {
1645  fwrite($css_file, ",div.ilc_text_block_" . $tag[0]["class"] . "\n");
1646  fwrite($css_file, ",html.il-no-tiny-bg body#tinymce.ilc_text_block_" . $tag[0]["class"] . "\n");
1647  }
1648  if ($tag[0]["type"] == "section") { // sections can use a tags, if links are used
1649  fwrite($css_file, ",a.ilc_" . $tag[0]["type"] . "_" . $tag[0]["class"] . "\n");
1650  }
1651  if ($tag[0]["type"] == "text_block") {
1652  fwrite($css_file, ",html.il-no-tiny-bg body#tinymce.ilc_text_block_" . $tag[0]["class"] . "\n");
1653  }
1654  fwrite($css_file, "{\n");
1655 
1656  // collect table border attributes
1657  $t_border = array();
1658 
1659  foreach ($tag as $par) {
1660  $cur_par = $par["parameter"];
1661  $cur_val = $par["value"];
1662 
1663  // replace named colors
1664  if (is_int(strpos($cur_par, "color")) && substr(trim($cur_val), 0, 1) == "!") {
1665  $cur_val = $this->getColorCodeForName(substr($cur_val, 1));
1666  }
1667 
1668  if ($tag[0]["type"] == "table" && is_int(strpos($par["parameter"], "border"))) {
1669  $t_border[$cur_par] = $cur_val;
1670  }
1671 
1672  if (in_array($cur_par, array("background-image", "list-style-image"))) {
1673  if (is_int(strpos($cur_val, "/"))) { // external
1674  $cur_val = "url(" . $cur_val . ")";
1675  } else { // internal
1676  if ($a_image_dir == "") {
1677  $cur_val = "url(../sty/sty_" . $this->getId() . "/images/" . $cur_val . ")";
1678  } else {
1679  $cur_val = "url(" . $a_image_dir . "/" . $cur_val . ")";
1680  }
1681  }
1682  }
1683 
1684  if ($cur_par == "opacity") {
1685  $cur_val = ((int) $cur_val) / 100;
1686  }
1687 
1688  fwrite($css_file, "\t" . $cur_par . ": " . $cur_val . ";\n");
1689 
1690  // IE6 fix for minimum height
1691  /*
1692  if ($cur_par == "min-height") {
1693  fwrite($css_file, "\t" . "height" . ": " . "auto !important" . ";\n");
1694  fwrite($css_file, "\t" . "height" . ": " . $cur_val . ";\n");
1695  }*/
1696 
1697  // opacity fix
1698  if ($cur_par == "opacity") {
1699  fwrite($css_file, "\t" . '-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=' . ($cur_val * 100) . ')"' . ";\n");
1700  fwrite($css_file, "\t" . 'filter: alpha(opacity=' . ($cur_val * 100) . ')' . ";\n");
1701  fwrite($css_file, "\t" . '-moz-opacity: ' . $cur_val . ";\n");
1702  }
1703 
1704  // transform fix
1705  if ($cur_par == "transform") {
1706  fwrite($css_file, "\t" . '-webkit-transform: ' . $cur_val . ";\n");
1707  fwrite($css_file, "\t" . '-moz-transform: ' . $cur_val . ";\n");
1708  fwrite($css_file, "\t" . '-ms-transform: ' . $cur_val . ";\n");
1709  }
1710 
1711  // transform-origin fix
1712  if ($cur_par == "transform-origin") {
1713  fwrite($css_file, "\t" . '-webkit-transform-origin: ' . $cur_val . ";\n");
1714  fwrite($css_file, "\t" . '-moz-transform-origin: ' . $cur_val . ";\n");
1715  fwrite($css_file, "\t" . '-ms-transform-origin: ' . $cur_val . ";\n");
1716  }
1717 
1718  // save page background
1719  if ($tag[0]["tag"] == "div" && $tag[0]["class"] == "Page"
1720  && $cur_par == "background-color") {
1721  $page_background = $cur_val;
1722  }
1723  }
1724  fwrite($css_file, "}\n");
1725  fwrite($css_file, "\n");
1726 
1727  // use table border attributes for th td as well
1728  /* if ($tag[0]["type"] == "table")
1729  {
1730  if (count($t_border) > 0)
1731  {
1732  fwrite ($css_file, $tag[0]["tag"].".ilc_".$tag[0]["type"]."_".$tag[0]["class"]." th,".
1733  $tag[0]["tag"].".ilc_".$tag[0]["type"]."_".$tag[0]["class"]." td\n");
1734  fwrite ($css_file, "{\n");
1735  foreach ($t_border as $p => $v)
1736  {
1737  // fwrite ($css_file, "\t".$p.": ".$v.";\n");
1738  }
1739  fwrite ($css_file, "}\n");
1740  fwrite ($css_file, "\n");
1741  }
1742  }*/
1743  }
1744 
1745  if ($page_background != "") {
1746  fwrite($css_file, "td.ilc_Page\n");
1747  fwrite($css_file, "{\n");
1748  fwrite($css_file, "\t" . "background-color: " . $page_background . ";\n");
1749  fwrite($css_file, "}\n");
1750  }
1751  if ($mq["id"] > 0) {
1752  fwrite($css_file, "}\n");
1753  }
1754  }
1755  fclose($css_file);
1756  // exit;
1757  $this->setUpToDate(true);
1758  $this->_writeUpToDate($this->getId(), true);
1759  }
static makeDirParents($a_dir)
Create a new directory and all parent directories.
getId()
get object id public
setUpToDate($a_up_to_date=true)
Set style up to date (false + update will trigger css generation next time)
getStyle()
todo: bad style! should return array of objects, not multi-dim-arrays
getColorCodeForName($a_name)
Remove a color.
static getWebspaceDir($mode="filesystem")
get webspace directory
getMediaQueries()
Get colors of style.
static _writeUpToDate($a_id, $a_up_to_date)
Write up to date.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ writeStyleSetting()

ilObjStyleSheet::writeStyleSetting (   $a_name,
  $a_value 
)

Write Style Setting.

Definition at line 3619 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

3620  {
3621  $ilDB = $this->db;
3622 
3623  $ilDB->manipulate(
3624  "DELETE FROM style_setting WHERE " .
3625  " style_id = " . $ilDB->quote($this->getId(), "integer") .
3626  " AND name = " . $ilDB->quote($a_name, "text")
3627  );
3628 
3629  $ilDB->manipulate("INSERT INTO style_setting " .
3630  "(style_id, name, value) VALUES (" .
3631  $ilDB->quote($this->getId(), "integer") . "," .
3632  $ilDB->quote($a_name, "text") . "," .
3633  $ilDB->quote($a_value, "text") .
3634  ")");
3635  }
global $ilDB

◆ writeStyleUsage()

static ilObjStyleSheet::writeStyleUsage (   $a_obj_id,
  $a_style_id 
)
static

Write style usage.

Definition at line 3657 of file class.ilObjStyleSheet.php.

References $DIC, and $ilDB.

Referenced by ilObjCategoryGUI\afterSave(), ilObjGlossary\create(), ilObjWiki\create(), ilContainer\create(), ilObjBlog\doUpdate(), ilObjPortfolioBase\doUpdate(), ilBlogImporter\finalProcessing(), ilContainerImporter\finalProcessing(), ilStyleDataSet\importRecord(), ilObjWiki\update(), ilObjGlossary\update(), and ilContainer\update().

3658  {
3659  global $DIC;
3660 
3661  $ilDB = $DIC->database();
3662 
3663  $ilDB->replace(
3664  "style_usage",
3665  array(
3666  "obj_id" => array("integer", (int) $a_obj_id)),
3667  array(
3668  "style_id" => array("integer", (int) $a_style_id))
3669  );
3670  }
global $DIC
Definition: goto.php:24
global $ilDB
+ Here is the caller graph for this function:

◆ writeTemplatePreview()

ilObjStyleSheet::writeTemplatePreview (   $a_t_id,
  $a_preview_html 
)

Write table template preview.

Definition at line 3547 of file class.ilObjStyleSheet.php.

References ilObject\$db, and $ilDB.

Referenced by addTemplate().

3548  {
3549  $ilDB = $this->db;
3550  $a_preview_html = str_replace(' width=""', "", $a_preview_html);
3551  $a_preview_html = str_replace(' valign="top"', "", $a_preview_html);
3552  $a_preview_html = str_replace('<div class="ilc_text_block_TableContent">', "<div>", $a_preview_html);
3553  //echo "1-".strlen($a_preview_html)."-";
3554  //echo htmlentities($a_preview_html);
3555  if (strlen($a_preview_html) > 4000) {
3556  //echo "2";
3557  $a_preview_html = "";
3558  }
3559  $ilDB->manipulate("UPDATE style_template SET " .
3560  "preview = " . $ilDB->quote($a_preview_html, "text") .
3561  " WHERE id = " . $ilDB->quote($a_t_id, "integer"));
3562  }
global $ilDB
+ Here is the caller graph for this function:

Field Documentation

◆ $assigned_tags

ilObjStyleSheet::$assigned_tags
static

Definition at line 284 of file class.ilObjStyleSheet.php.

◆ $basic_style_dom

ilObjStyleSheet::$basic_style_dom
staticprotected

Definition at line 551 of file class.ilObjStyleSheet.php.

◆ $basic_style_file

ilObjStyleSheet::$basic_style_file = "./libs/ilias/Style/basic_style/style.xml"
staticprotected

Definition at line 548 of file class.ilObjStyleSheet.php.

◆ $basic_style_image_dir

ilObjStyleSheet::$basic_style_image_dir = "./libs/ilias/Style/basic_style/images"
staticprotected

Definition at line 550 of file class.ilObjStyleSheet.php.

◆ $basic_style_zip

ilObjStyleSheet::$basic_style_zip = "./libs/ilias/Style/basic_style/style.zip"
staticprotected

Definition at line 549 of file class.ilObjStyleSheet.php.

◆ $core_styles

ilObjStyleSheet::$core_styles
static

◆ $expandable_types

ilObjStyleSheet::$expandable_types
static
Initial value:
= array(
"text_block", "text_inline", "section", "media_cont", "table", "table_cell", "flist_li", "table_caption",
"list_o", "list_u",
"va_cntr", "va_icntr", "va_ihead", "va_iheada", "va_ihcap", "va_icont",
"ha_cntr", "ha_icntr", "ha_ihead", "ha_iheada", "ha_ihcap", "ha_icont",
"ca_cntr", "ca_icntr", "ca_ihead", "ca_icont"
)

Definition at line 270 of file class.ilObjStyleSheet.php.

◆ $filtered_groups

ilObjStyleSheet::$filtered_groups
static
Initial value:
=
array("ol" => array("ol"), "ul" => array("ul"),
"table" => array("table"), "positioning" => array("h1", "h2", "h3", "div", "img", "table", "a", "figure"))

Definition at line 242 of file class.ilObjStyleSheet.php.

◆ $hideable_types

ilObjStyleSheet::$hideable_types
static
Initial value:
= array(
"table", "table_cell"
)

Definition at line 279 of file class.ilObjStyleSheet.php.

◆ $num_unit

ilObjStyleSheet::$num_unit = array("px", "em", "ex", "%", "pt", "pc", "in", "mm", "cm")
static

Definition at line 19 of file class.ilObjStyleSheet.php.

◆ $num_unit_no_perc

ilObjStyleSheet::$num_unit_no_perc = array("px", "em", "ex", "pt", "pc", "in", "mm", "cm")
static

Definition at line 20 of file class.ilObjStyleSheet.php.

◆ $parameter

ilObjStyleSheet::$parameter
static

Definition at line 23 of file class.ilObjStyleSheet.php.

Referenced by getStyleParameterGroups().

◆ $pseudo_classes

ilObjStyleSheet::$pseudo_classes
static
Initial value:
=
array("a" => array("hover"), "div" => array("hover"), "img" => array("hover"))

Definition at line 381 of file class.ilObjStyleSheet.php.

◆ $style

◆ $style_super_types

ilObjStyleSheet::$style_super_types
static
Initial value:
= array(
"text_block" => array("text_block", "heading1", "heading2", "heading3", "code_block"),
"text_inline" => array("text_inline", "sub", "sup", "code_inline"),
"section" => array("section"),
"link" => array("link"),
"table" => array("table", "table_cell", "table_caption"),
"list" => array("list_o", "list_u", "list_item"),
"flist" => array("flist_cont", "flist_head", "flist", "flist_li", "flist_a"),
"media" => array("media_cont", "media_caption", "iim", "marker"),
"tabs" => array("va_cntr", "va_icntr", "va_ihead", "va_iheada", "va_ihcap", "va_icont",
"ha_cntr", "ha_icntr", "ha_ihead", "ha_iheada", "ha_ihcap", "ha_icont", "ca_cntr", "ca_icntr", "ca_ihead", "ca_icont"),
"question" => array("question", "qtitle", "qanswer", "qinput", "qlinput", "qsubmit", "qfeedr", "qfeedw",
"qimg", "qordul", "qordli", "qimgd", "qetitem", "qetcorr", "qover"),
"page" => array("page_frame", "page_cont", "page_title", "page_fn",
"page_tnav", "page_bnav", "page_lnav", "page_rnav", "page_lnavlink", "page_rnavlink",
"page_lnavimage", "page_rnavimage"),
"glo" => array("glo_overlay", "glo_ovtitle", "glo_ovclink", "glo_ovuglink", "glo_ovuglistlink"),
"sco" => array("sco_title", "sco_keyw", "sco_desc", "sco_desct", "sco_obj", "sco_objt", "sco_fmess"),
"rte" => array("rte_menu", "rte_mlink", "rte_tree", "rte_node", "rte_tlink","rte_status",
"rte_tul", "rte_tli", "rte_texp", "rte_tclink", "rte_drag")
)

Definition at line 247 of file class.ilObjStyleSheet.php.

◆ $templates

ilObjStyleSheet::$templates
static

Definition at line 511 of file class.ilObjStyleSheet.php.

Referenced by create(), and getTemplates().


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