Style Migration Class (->3.11)
More...
Style Migration Class (->3.11)
- Author
- Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
- Version
- $Id$
Definition at line 12 of file class.ilStyleMigration.php.
◆ _addMissingStyleClassesToAllStyles()
static ilStyleMigration::_addMissingStyleClassesToAllStyles |
( |
| ) |
|
|
static |
Add missing style classes to all styles.
Definition at line 344 of file class.ilStyleMigration.php.
References $core_styles, $file, $id, $ilDB, $sets, _createImagesDirectory(), _getBasicStyleDom(), _getCoreStyles(), _getImagesDirectory(), and array.
352 $core_images =
array();
353 $core_dir = self::$basic_style_image_dir;
354 if (is_dir($core_dir)) {
355 $dir = opendir($core_dir);
356 while (
$file = readdir($dir)) {
357 if (substr(
$file, 0, 1) !=
"." && is_file($core_dir .
"/" .
$file)) {
358 $core_images[] =
$file;
364 $sets = $ilDB->query(
"SELECT * FROM object_data WHERE type = 'sty'");
366 while ($recs = $ilDB->fetchAssoc(
$sets)) {
367 $id = $recs[
"obj_id"];
371 $set = $ilDB->queryF(
372 "SELECT * FROM style_char WHERE style_id = %s " .
373 "AND type = %s AND characteristic = %s",
374 array(
"integer",
"text",
"text"),
375 array(
$id, $cs[
"type"], $cs[
"class"])
379 if (!($rec = $ilDB->fetchAssoc($set))) {
381 "INSERT INTO style_char (style_id, type, characteristic) " .
382 " VALUES (%s,%s,%s) ",
383 array(
"integer",
"text",
"text"),
384 array(
$id, $cs[
"type"], $cs[
"class"])
388 $par_nodes = $xpath->query(
"/StyleSheet/Style[@Tag = '" . $cs[
"tag"] .
"' and @Type='" .
389 $cs[
"type"] .
"' and @Class='" . $cs[
"class"] .
"']/StyleParameter");
390 foreach ($par_nodes as $par_node) {
392 $set = $ilDB->queryF(
393 "SELECT * FROM style_parameter WHERE style_id = %s " .
394 "AND type = %s AND class = %s AND tag = %s AND parameter = %s",
395 array(
"integer",
"text",
"text",
"text",
"text"),
396 array(
$id, $cs[
"type"], $cs[
"class"],
397 $cs[
"tag"], $par_node->getAttribute(
"Name"))
401 if (!($rec = $ilDB->fetchAssoc($set))) {
403 "INSERT INTO style_parameter (style_id, type, class, tag, parameter, value) " .
404 " VALUES (%s,%s,%s,%s,%s,%s)",
405 array(
"integer",
"text",
"text",
"text",
"text",
"text"),
406 array(
$id, $cs[
"type"], $cs[
"class"], $cs[
"tag"],
407 $par_node->getAttribute(
"Name"), $par_node->getAttribute(
"Value"))
418 foreach ($core_images as $cim) {
419 if (!is_file($imdir .
"/" . $cim)) {
420 copy($core_dir .
"/" . $cim, $imdir .
"/" . $cim);
static _getCoreStyles()
Get core styles.
if(!array_key_exists('StateId', $_REQUEST)) $id
static _getBasicStyleDom()
Get basic style dom.
static _getImagesDirectory($a_style_id)
Get images directory.
static _createImagesDirectory($a_style_id)
Create images directory <data_dir>/sty/sty_<id>/images.
Create styles array
The data for the language used.
if(!file_exists("$old.txt")) if($old===$new) if(file_exists("$new.txt")) $file
◆ _createImagesDirectory()
static ilStyleMigration::_createImagesDirectory |
( |
|
$a_style_id | ) |
|
|
static |
Create images directory <data_dir>/sty/sty_<id>/images.
Definition at line 297 of file class.ilStyleMigration.php.
References $ilErr, and ilUtil\makeDir().
Referenced by _addMissingStyleClassesToAllStyles().
301 $sty_data_dir = CLIENT_WEB_DIR .
"/sty";
303 if (!is_writable($sty_data_dir)) {
304 $ilErr->raiseError(
"Style data directory (" . $sty_data_dir
305 .
") not writeable.", $ilErr->FATAL);
308 $style_dir = $sty_data_dir .
"/sty_" . $a_style_id;
310 if (!@is_dir($style_dir)) {
311 $ilErr->raiseError(
"Creation of style directory failed (" .
312 $style_dir .
").", $ilErr->FATAL);
316 $im_dir = $style_dir .
"/images";
318 if (!@is_dir($im_dir)) {
319 $ilErr->raiseError(
"Creation of Import Directory failed (" .
320 $im_dir .
").", $ilErr->FATAL);
324 $thumb_dir = $style_dir .
"/images/thumbnails";
326 if (!@is_dir($thumb_dir)) {
327 $ilErr->raiseError(
"Creation of Import Directory failed (" .
328 $thumb_dir .
").", $ilErr->FATAL);
static makeDir($a_dir)
creates a new directory and inherits all filesystem permissions of the parent directory You may pass ...
◆ _determineTag()
static ilStyleMigration::_determineTag |
( |
|
$a_type | ) |
|
|
static |
◆ _getBasicStyleDom()
static ilStyleMigration::_getBasicStyleDom |
( |
| ) |
|
|
static |
◆ _getCoreStyles()
static ilStyleMigration::_getCoreStyles |
( |
| ) |
|
|
static |
◆ _getImagesDirectory()
static ilStyleMigration::_getImagesDirectory |
( |
|
$a_style_id | ) |
|
|
static |
◆ addMissingStyleCharacteristics()
ilStyleMigration::addMissingStyleCharacteristics |
( |
|
$a_id = "" | ) |
|
Add missing style characteristics to styles.
Definition at line 121 of file class.ilStyleMigration.php.
References $ilDB, $t, and array.
127 $add_str =
" AND style_id = " . $ilDB->quote($a_id,
"integer");
130 $set = $ilDB->query($q =
"SELECT DISTINCT style_id, tag, class FROM style_parameter WHERE " .
131 $ilDB->equals(
"type",
"",
"text",
true) .
" " . $add_str);
133 while ($rec = $ilDB->fetchAssoc($set)) {
136 switch ($rec[
"tag"]) {
139 if (in_array($rec[
"class"],
array(
"Headline3",
"Headline1",
140 "Headline2",
"TableContent",
"List",
"Standard",
"Remark",
141 "Additional",
"Mnemonic",
"Citation",
"Example"))) {
142 $types[] =
"text_block";
144 if (in_array($rec[
"class"],
array(
"Block",
"Remark",
145 "Additional",
"Mnemonic",
"Example",
"Excursus",
"Special"))) {
146 $types[] =
"section";
148 if (in_array($rec[
"class"],
array(
"Page",
"Footnote",
"PageTitle",
"LMNavigation"))) {
154 $types[] =
"table_cell";
158 if (in_array($rec[
"class"],
array(
"ExtLink",
"IntLink",
"FootnoteLink"))) {
164 $types[] =
"text_inline";
177 foreach ($types as
$t) {
179 $set4 = $ilDB->queryF(
180 "SELECT * FROM style_char " .
181 " WHERE style_id = %s AND type = %s AND characteristic = %s",
182 array(
"integer",
"text",
"text"),
183 array($rec[
"style_id"], $t, $rec[
"class"])
185 if ($rec4 = $ilDB->fetchAssoc($set4)) {
190 "INSERT INTO style_char " .
191 " (style_id, type, characteristic) VALUES " .
193 array(
"integer",
"text",
"text"),
194 array($rec[
"style_id"], $t, $rec[
"class"])
200 if ($rec[
"type"] ==
"") {
201 if (count($types) > 0) {
203 "UPDATE style_parameter SET type = %s " .
204 " WHERE style_id = %s AND class = %s AND " . $ilDB->equals(
"type",
"",
"text",
true),
205 array(
"text",
"integer",
"text"),
206 array($types[0], $rec[
"style_id"], $rec[
"class"])
210 if ($types[0] ==
"link") {
212 "UPDATE style_parameter SET type = %s " .
213 " WHERE style_id = %s AND (class = %s OR class = %s) AND " . $ilDB->equals(
"type",
"",
"text",
true),
214 array(
"text",
"integer",
"text",
"text"),
215 array($types[0], $rec[
"style_id"], $rec[
"class"] .
":visited",
216 $rec[
"class"] .
":hover")
223 if (count($types) == 2) {
226 $set2 = $ilDB->queryF(
227 "SELECT * FROM style_parameter " .
228 " WHERE style_id = %s AND class = %s AND type = %s",
229 array(
"integer",
"text",
"text"),
230 array($rec[
"style_id"], $rec[
"class"], $types[0])
232 while ($rec2 = $ilDB->fetchAssoc($set2)) {
234 $set3 = $ilDB->queryF(
235 "SELECT * FROM style_parameter " .
236 " WHERE style_id = %s AND tag = %s AND class = %s AND type = %s AND parameter = %s",
237 array(
"integer",
"text",
"text",
"text",
"text"),
238 array($rec[
"style_id"], $rec[
"tag"], $rec[
"class"], $types[1], $rec[
"parameter"])
240 if ($rec3 = $ilDB->fetchAssoc($set3)) {
244 "INSERT INTO style_parameter " .
245 " (style_id, tag, class, parameter, value, type) VALUES " .
246 " (%s,%s,%s,%s,%s,%s) ",
247 array(
"integer",
"text",
"text",
"text",
"text",
"text"),
248 array($rec2[
"style_id"], $rec2[
"tag"], $rec2[
"class"],
249 $rec2[
"parameter"], $rec2[
"value"], $types[1])
Create styles array
The data for the language used.
◆ $assigned_tags
ilStyleMigration::$assigned_tags |
|
static |
◆ $basic_style_dom
ilStyleMigration::$basic_style_dom |
|
staticprotected |
◆ $basic_style_file
ilStyleMigration::$basic_style_file = "./Services/Migration/DBUpdate_1385/basic_style/style.xml" |
|
staticprotected |
◆ $basic_style_image_dir
ilStyleMigration::$basic_style_image_dir = "./Services/Migration/DBUpdate_1385/basic_style/images" |
|
staticprotected |
◆ $core_styles
ilStyleMigration::$core_styles |
|
static |
The documentation for this class was generated from the following file: