ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilStyleDefinition Class Reference

parses the template.xml that defines all styles of the current template More...

+ Inheritance diagram for ilStyleDefinition:
+ Collaboration diagram for ilStyleDefinition:

Public Member Functions

 ilStyleDefinition ($a_template_id="")
 Constructor.
 getStyles ()
 get translation type (sys, db or 0)s
 getTemplateId ()
 getTemplateName ()
 getStyle ($a_id)
 getStyleName ($a_id)
 getImageDirectory ($a_master_style, $a_substyle="")
 getSoundDirectory ($a_id)
 getAllTemplates ()
 setHandlers ($a_xml_parser)
 set event handler
 handlerBeginTag ($a_xml_parser, $a_name, $a_attribs)
 start tag handler
 handlerCharacterData ($a_xml_parser, $a_data)
 end tag handler
 handlerEndTag ($a_xml_parser, $a_name)
 end tag handler
 writeSystemStyleCategoryAssignment ($a_skin_id, $a_style_id, $a_substyle, $a_ref_id)
 Write category assignment.
 deleteSystemStyleCategoryAssignment ($a_skin_id, $a_style_id, $a_substyle, $a_ref_id)
 Delete category style assignment.
- Public Member Functions inherited from ilSaxParser
 ilSaxParser ($a_xml_file= '', $throwException=false)
 Constructor setup ILIAS global object public.
 setXMLContent ($a_xml_content)
 getXMLContent ()
 getInputType ()
 startParsing ()
 stores xml data in array
 createParser ()
 create parser
 setOptions ($a_xml_parser)
 set parser options
 openXMLFile ()
 open xml file
 parse ($a_xml_parser, $a_fp=null)
 parse xml file
 freeParser ($a_xml_parser)
 free xml parser handle
 setThrowException ($throwException)
 set error handling
- Public Member Functions inherited from PEAR
 PEAR ($error_class=null)
 Constructor.
 _PEAR ()
 Destructor (the emulated type of...).
getStaticProperty ($class, $var)
 If you have a class that's mostly/entirely static, and you need static properties, you can use this method to simulate them.
 registerShutdownFunc ($func, $args=array())
 Use this function to register a shutdown method for static classes.
 isError ($data, $code=null)
 Tell whether a value is a PEAR error.
 setErrorHandling ($mode=null, $options=null)
 Sets how errors generated by this object should be handled.
 expectError ($code= '*')
 This method is used to tell which errors you expect to get.
 popExpect ()
 This method pops one element off the expected error codes stack.
 _checkDelExpect ($error_code)
 This method checks unsets an error code if available.
 delExpect ($error_code)
 This method deletes all occurences of the specified element from the expected error codes stack.
raiseError ($message=null, $code=null, $mode=null, $options=null, $userinfo=null, $error_class=null, $skipmsg=false)
 This method is a wrapper that returns an instance of the configured error class with this object's default error handling applied.
throwError ($message=null, $code=null, $userinfo=null)
 Simpler form of raiseError with fewer options.
 staticPushErrorHandling ($mode, $options=null)
 staticPopErrorHandling ()
 pushErrorHandling ($mode, $options=null)
 Push a new error handler on top of the error handler options stack.
 popErrorHandling ()
 Pop the last error handler used.
 loadExtension ($ext)
 OS independant PHP extension load.

Static Public Member Functions

static _getAllTemplates ()
static styleExists ($skin, $style)
 Check wheter a style exists.
static skinExists ($skin)
 Check wheter a skin exists.
static getCurrentSkin ()
 get the current skin
static getCurrentStyle ()
 get the current style
static getCurrentMasterStyle ()
 get the current style
static setCurrentSkin ($a_skin)
 set a new current skin
static setCurrentStyle ($a_style)
 set a new current style
static getAllSkinStyles ()
 Get all skins/styles.
static getSystemStyleCategoryAssignments ($a_skin_id, $a_style_id)
 Get all system style category assignments.

Static Public Attributes

static $current_skin
static $current_style
static $current_master_style

Additional Inherited Members

- Data Fields inherited from ilSaxParser
 $input_type = null
 $xml_content = ''
 $ilias
 $lng
 $xml_file
 $throwException = false
- Protected Member Functions inherited from ilSaxParser
 handleError ($message, $code)
 use given error handler to handle error message or internal ilias error message handle

Detailed Description

parses the template.xml that defines all styles of the current template

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

Definition at line 14 of file class.ilStyleDefinition.php.

Member Function Documentation

static ilStyleDefinition::_getAllTemplates ( )
static

Definition at line 122 of file class.ilStyleDefinition.php.

References $file.

Referenced by getAllTemplates(), and ilUserImportParser\ilUserImportParser().

{
$skins = array();
$skins[] = array("id" => "default");
if ($dp = @opendir("./Customizing/global/skin"))
{
while (($file = readdir($dp)) != false)
{
//is the file a directory?
if (is_dir("./Customizing/global/skin/".$file) && $file != "." && $file != ".." && $file != "CVS"
&& $file != ".svn")
{
if (is_file("./Customizing/global/skin/".$file."/template.xml"))
{
$skins[] = array(
"id" => $file
);
}
}
} // while
}
else
{
return $skins;
}
return $skins;
}

+ Here is the caller graph for this function:

ilStyleDefinition::deleteSystemStyleCategoryAssignment (   $a_skin_id,
  $a_style_id,
  $a_substyle,
  $a_ref_id 
)

Delete category style assignment.

Parameters
@return

Definition at line 547 of file class.ilStyleDefinition.php.

Referenced by ilObjStyleSettingsGUI\deleteSysStyleCatAssignmentsObject().

{
global $ilDB;
$ilDB->manipulate("DELETE FROM syst_style_cat WHERE ".
" skin_id = ".$ilDB->quote($a_skin_id, "text").
" AND style_id = ".$ilDB->quote($a_style_id, "text").
" AND substyle = ".$ilDB->quote($a_substyle, "text").
" AND category_ref_id = ".$ilDB->quote($a_ref_id, "integer"));
}

+ Here is the caller graph for this function:

static ilStyleDefinition::getAllSkinStyles ( )
static

Get all skins/styles.

Parameters
@return

Definition at line 460 of file class.ilStyleDefinition.php.

References ilObjUser\_getNumberOfUsersForStyle(), and ilStyleDefinition().

Referenced by ilObjStyleSettingsGUI\assignStylesToCatsObject(), ilObjStyleSettingsGUI\editSystemStylesObject(), ilSystemStylesTableGUI\getStyles(), and ilObjStyleSettingsGUI\saveStyleSettingsObject().

{
global $styleDefinition;
$all_styles = array();
$templates = $styleDefinition->getAllTemplates();
foreach ($templates as $template)
{
// get styles definition for template
$styleDef = new ilStyleDefinition($template["id"]);
$styleDef->startParsing();
$styles = $styleDef->getStyles();
foreach ($styles as $style)
{
$num_users = ilObjUser::_getNumberOfUsersForStyle($template["id"], $style["id"]);
// default selection list
$all_styles[$template["id"].":".$style["id"]] =
array (
"title" => $styleDef->getTemplateName()." / ".$style["name"],
"id" => $template["id"].":".$style["id"],
"template_id" => $template["id"],
"style_id" => $style["id"],
"template_name" => $styleDef->getTemplateName(),
"substyle" => $style["substyle"],
"style_name" => $style["name"],
"users" => $num_users
);
}
}
return $all_styles;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilStyleDefinition::getAllTemplates ( )

Definition at line 153 of file class.ilStyleDefinition.php.

References _getAllTemplates().

{
}

+ Here is the call graph for this function:

static ilStyleDefinition::getCurrentMasterStyle ( )
static

get the current style

use always this function instead of getting the account's style the current style may be changed on the fly by setCurrentStyle()

Returns
string style id

Definition at line 407 of file class.ilStyleDefinition.php.

References $current_master_style, and ilSaxParser\$ilias.

Referenced by ilUtil\getImagePath().

{
global $ilias;
if (isset(self::$current_master_style))
{
}
$cs = $ilias->account->prefs['style'];
self::$current_master_style = $cs;
return $cs;
}

+ Here is the caller graph for this function:

static ilStyleDefinition::getCurrentSkin ( )
static

get the current skin

use always this function instead of getting the account's skin the current skin may be changed on the fly by setCurrentSkin()

Returns
string skin id

Definition at line 330 of file class.ilStyleDefinition.php.

References ilSaxParser\$ilias.

Referenced by ilUtil\getImagePath(), ilUtil\getJSLocation(), ilUtil\getNewContentStyleSheetLocation(), ilUtil\getStyleSheetLocation(), ilTemplate\getTemplatePath(), and ilStyleDefinition().

{
global $ilias;
return isset(self::$current_skin) ? self::$current_skin :
$ilias->account->skin;
}

+ Here is the caller graph for this function:

static ilStyleDefinition::getCurrentStyle ( )
static

get the current style

use always this function instead of getting the account's style the current style may be changed on the fly by setCurrentStyle()

Returns
string style id

Definition at line 346 of file class.ilStyleDefinition.php.

References $_GET, $current_style, ilSaxParser\$ilias, $path, and getSystemStyleCategoryAssignments().

Referenced by ilUtil\getImagePath(), and ilUtil\getStyleSheetLocation().

{
global $ilias, $tree, $styleDefinition, $tree;
if (isset(self::$current_style))
{
}
$cs = $ilias->account->prefs['style'];
if (is_object($styleDefinition))
{
// are there any substyles?
$styles = $styleDefinition->getStyles();
if (is_array($styles[$cs]["substyle"]))
{
// read assignments, if given
$assignmnts = self::getSystemStyleCategoryAssignments(self::getCurrentSkin(), $cs);
if (count($assignmnts) > 0)
{
$ref_ass = array();
foreach ($assignmnts as $a)
{
$ref_ass[$a["ref_id"]] = $a["substyle"];
}
// check whether any ref id assigns a new style
if (is_object($tree) && $_GET["ref_id"] > 0 &&
$tree->isInTree($_GET["ref_id"]))
{
$path = $tree->getPathId((int) $_GET["ref_id"]);
for ($i = count($path) - 1; $i >= 0; $i--)
{
if (isset($ref_ass[$path[$i]]))
{
self::$current_style = $ref_ass[$path[$i]];
}
}
}
}
}
}
if ($_GET["ref_id"] != "")
{
self::$current_style = $cs;
}
return $cs;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilStyleDefinition::getImageDirectory (   $a_master_style,
  $a_substyle = "" 
)

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

{
if ($a_substyle != $a_master_style && $a_substyle != "")
{
return $this->styles[$a_master_style]["substyle"][$a_substyle]["image_directory"];
}
return $this->styles[$a_master_style]["image_directory"];
}
ilStyleDefinition::getSoundDirectory (   $a_id)

Definition at line 117 of file class.ilStyleDefinition.php.

{
return $this->styles[$a_id]["sound_directory"];
}
ilStyleDefinition::getStyle (   $a_id)

Definition at line 96 of file class.ilStyleDefinition.php.

{
return $this->styles[$a_id];
}
ilStyleDefinition::getStyleName (   $a_id)

Definition at line 102 of file class.ilStyleDefinition.php.

{
return $this->styles[$a_id]["name"];
}
ilStyleDefinition::getStyles ( )

get translation type (sys, db or 0)s

Parameters
stringobject type public

Definition at line 71 of file class.ilStyleDefinition.php.

{
//echo ":".count($this->styles).":";
if (is_array($this->styles))
{
return $this->styles;
}
else
{
return array();
}
}
static ilStyleDefinition::getSystemStyleCategoryAssignments (   $a_skin_id,
  $a_style_id 
)
static

Get all system style category assignments.

Parameters
string$a_skin_idskin id
string$a_style_idstyle id
Returns
array ref ids

Definition at line 504 of file class.ilStyleDefinition.php.

Referenced by ilSystemStylesTableGUI\fillRow(), getCurrentStyle(), and ilSysStyleCatAssignmentTableGUI\getStyleCatAssignments().

{
global $ilDB;
$assignmnts = array();
$set = $ilDB->query("SELECT substyle, category_ref_id FROM syst_style_cat ".
" WHERE skin_id = ".$ilDB->quote($a_skin_id, "text").
" AND style_id = ".$ilDB->quote($a_style_id, "text")
);
while ($rec = $ilDB->fetchAssoc($set))
{
$assignmnts[] = array("substyle" => $rec["substyle"],
"ref_id" => $rec["category_ref_id"]);
}
return $assignmnts;
}

+ Here is the caller graph for this function:

ilStyleDefinition::getTemplateId ( )

Definition at line 84 of file class.ilStyleDefinition.php.

{
return $this->template_id;
}
ilStyleDefinition::getTemplateName ( )

Definition at line 90 of file class.ilStyleDefinition.php.

{
return $this->template_name;
}
ilStyleDefinition::handlerBeginTag (   $a_xml_parser,
  $a_name,
  $a_attribs 
)

start tag handler

Parameters
ressouceinternal xml_parser_handler
stringelement tag name
arrayelement attributes private

Definition at line 182 of file class.ilStyleDefinition.php.

{
if (!isset($a_attribs["sound_directory"]))
{
$a_attribs["sound_directory"] = "";
}
if (!isset($a_attribs["browsers"]))
{
$a_attribs["browsers"] = "";
}
switch($a_name)
{
case "template" :
$this->template_name = $a_attribs["name"];
break;
case "style" :
$this->last_style_id = $a_attribs["id"];
$this->styles[$a_attribs["id"]] =
array( "id" => $a_attribs["id"],
"name" => $a_attribs["name"],
"css_file" => $a_attribs["id"].".css",
"image_directory" => $a_attribs["image_directory"],
"sound_directory" => $a_attribs["sound_directory"]
);
$browsers =
explode(",", $a_attribs["browsers"]);
foreach ($browsers as $val)
{
$this->styles[$a_attribs["id"]]["browsers"][] = trim($val);
}
break;
case "substyle":
$this->styles[$this->last_style_id]["substyle"][$a_attribs["id"]] =
array( "id" => $a_attribs["id"],
"name" => $a_attribs["name"],
"css_file" => $a_attribs["id"].".css",
"image_directory" => $a_attribs["image_directory"],
"sound_directory" => $a_attribs["sound_directory"]
);
break;
}
}
ilStyleDefinition::handlerCharacterData (   $a_xml_parser,
  $a_data 
)

end tag handler

Parameters
ressouceinternal xml_parser_handler
stringdata private

Definition at line 294 of file class.ilStyleDefinition.php.

{
// DELETE WHITESPACES AND NEWLINES OF CHARACTER DATA
$a_data = preg_replace("/\n/","",$a_data);
$a_data = preg_replace("/\t+/","",$a_data);
if(!empty($a_data))
{
switch($this->current_tag)
{
default:
break;
}
}
}
ilStyleDefinition::handlerEndTag (   $a_xml_parser,
  $a_name 
)

end tag handler

Parameters
ressouceinternal xml_parser_handler
stringelement tag name private

Definition at line 317 of file class.ilStyleDefinition.php.

{
}
ilStyleDefinition::ilStyleDefinition (   $a_template_id = "")

Constructor.

parse

public

Definition at line 39 of file class.ilStyleDefinition.php.

References ilSaxParser\$ilias, getCurrentSkin(), and ilSaxParser\ilSaxParser().

Referenced by getAllSkinStyles(), and setCurrentSkin().

{
global $ilias;
if ($a_template_id == "")
{
// use function to get the current skin
$a_template_id = self::getCurrentSkin();
}
// remember the template id
$this->template_id = $a_template_id;
if ($a_template_id == "default")
{
parent::ilSaxParser("./templates/".$a_template_id."/template.xml");
}
else
{
parent::ilSaxParser("./Customizing/global/skin/".$a_template_id."/template.xml");
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static ilStyleDefinition::setCurrentSkin (   $a_skin)
static

set a new current skin

Parameters
stringskin id

Definition at line 429 of file class.ilStyleDefinition.php.

References ilStyleDefinition().

{
global $styleDefinition;
if (is_object($styleDefinition)
and $styleDefinition->getTemplateId() != $a_skin)
{
$styleDefinition = new ilStyleDefinition($a_skin);
$styleDefinition->startParsing();
}
self::$current_skin = $a_skin;
}

+ Here is the call graph for this function:

static ilStyleDefinition::setCurrentStyle (   $a_style)
static

set a new current style

Parameters
stringstyle id

Definition at line 449 of file class.ilStyleDefinition.php.

{
self::$current_style = $a_style;
}
ilStyleDefinition::setHandlers (   $a_xml_parser)

set event handler

Parameters
ressouceinternal xml_parser_handler private

Reimplemented from ilSaxParser.

Definition at line 167 of file class.ilStyleDefinition.php.

{
xml_set_object($a_xml_parser,$this);
xml_set_element_handler($a_xml_parser, 'handlerBeginTag', 'handlerEndTag');
xml_set_character_data_handler($a_xml_parser, 'handlerCharacterData');
}
static ilStyleDefinition::skinExists (   $skin)
static

Check wheter a skin exists.

Parameters
string$skinskin id
Returns
boolean

Definition at line 268 of file class.ilStyleDefinition.php.

Referenced by ilObjUser\read().

{
if ($skin == "default")
{
if (is_file("./templates/".$skin."/template.xml"))
{
return true;
}
}
else
{
if (is_file("./Customizing/global/skin/".$skin."/template.xml"))
{
return true;
}
}
return false;
}

+ Here is the caller graph for this function:

static ilStyleDefinition::styleExists (   $skin,
  $style 
)
static

Check wheter a style exists.

Parameters
string$skinskin id
string$stylestyle id
Returns
boolean

Definition at line 238 of file class.ilStyleDefinition.php.

{
if ($skin == "default")
{
if (is_file("./templates/".$skin."/template.xml") &&
is_file("./templates/".$skin."/".$style.".css")
)
{
return true;
}
}
else
{
if (is_file("./Customizing/global/skin/".$skin."/template.xml") &&
is_file("./Customizing/global/skin/".$skin."/".$style.".css")
)
{
return true;
}
}
return false;
}
ilStyleDefinition::writeSystemStyleCategoryAssignment (   $a_skin_id,
  $a_style_id,
  $a_substyle,
  $a_ref_id 
)

Write category assignment.

Parameters
@return

Definition at line 527 of file class.ilStyleDefinition.php.

Referenced by ilObjStyleSettingsGUI\saveStyleCatAssignmentObject().

{
global $ilDB;
$ilDB->manipulate("INSERT INTO syst_style_cat ".
"(skin_id, style_id, substyle, category_ref_id) VALUES (".
$ilDB->quote($a_skin_id, "text").",".
$ilDB->quote($a_style_id, "text").",".
$ilDB->quote($a_substyle, "text").",".
$ilDB->quote($a_ref_id, "integer").
")");
}

+ Here is the caller graph for this function:

Field Documentation

ilStyleDefinition::$current_master_style
static

Definition at line 29 of file class.ilStyleDefinition.php.

Referenced by getCurrentMasterStyle().

ilStyleDefinition::$current_skin
static

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

ilStyleDefinition::$current_style
static

Definition at line 27 of file class.ilStyleDefinition.php.

Referenced by getCurrentStyle().


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