ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilMDUtils.php
Go to the documentation of this file.
1 <?php
2 /*
3  +-----------------------------------------------------------------------------+
4  | ILIAS open source |
5  +-----------------------------------------------------------------------------+
6  | Copyright (c) 1998-2001 ILIAS open source, University of Cologne |
7  | |
8  | This program is free software; you can redistribute it and/or |
9  | modify it under the terms of the GNU General Public License |
10  | as published by the Free Software Foundation; either version 2 |
11  | of the License, or (at your option) any later version. |
12  | |
13  | This program is distributed in the hope that it will be useful, |
14  | but WITHOUT ANY WARRANTY; without even the implied warranty of |
15  | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
16  | GNU General Public License for more details. |
17  | |
18  | You should have received a copy of the GNU General Public License |
19  | along with this program; if not, write to the Free Software |
20  | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
21  +-----------------------------------------------------------------------------+
22 */
23 
24 
32 class ilMDUtils
33 {
42  public static function _LOMDurationToArray($a_string)
43  {
44  $a_string = trim($a_string);
45  #$pattern = '/^(PT)?(\d{1,2}H)?(\d{1,2}M)?(\d{1,2}S)?$/i';
46  $pattern = '/^P(\d{1,2}M)?(\d{1,2}D)?(T(\d{1,2}H)?(\d{1,2}M)?(\d{1,2}S)?)?$/i';
47 
48  if (!preg_match($pattern, $a_string, $matches)) {
49  return false;
50  }
51  // Month
52  if (preg_match('/^P(\d+)M/i', $a_string, $matches)) {
53  $months = $matches[1];
54  }
55  // Days
56  if (preg_match('/(\d+)+D/i', $a_string, $matches)) {
57  #var_dump("<pre>",$matches,"<pre>");
58  $days = $matches[1];
59  }
60 
61  if (preg_match('/(\d+)+H/i', $a_string, $matches)) {
62  #var_dump("<pre>",$matches,"<pre>");
63  $hours = $matches[1];
64  }
65  if (preg_match('/T(\d{1,2}H)?(\d+)M/i', $a_string, $matches)) {
66  #var_dump("<pre>",$matches,"<pre>");
67  $min = $matches[2];
68  }
69  if (preg_match('/(\d+)S/i', $a_string, $matches)) {
70  #var_dump("<pre>",$matches,"<pre>");
71  $sec = $matches[1];
72  }
73 
74  // Hack for zero values
75  if (!$months and !$days and !$hours and !$min and !$sec) {
76  return false;
77  }
78 
79  return array($months,$days,$hours,$min,$sec);
80  }
81 
92  public static function _fillHTMLMetaTags($a_rbac_id, $a_obj_id, $a_type)
93  {
94  global $DIC;
95 
96  $tpl = $DIC['tpl'];
97  $ilObjDataCache = $DIC['ilObjDataCache'];
98 
99  include_once('Services/MetaData/classes/class.ilMDKeyword.php');
100  foreach (ilMDKeyword::_getKeywordsByLanguageAsString($a_rbac_id, $a_obj_id, $a_type) as $lng_code => $key_string) {
101  $tpl->setCurrentBlock('mh_meta_item');
102  $tpl->setVariable('MH_META_NAME', 'keywords');
103  $tpl->setVariable('MH_META_LANG', $lng_code);
104  $tpl->setVariable('MH_META_CONTENT', $key_string);
105  $tpl->parseCurrentBlock();
106  }
107  include_once('Services/MetaData/classes/class.ilMDContribute.php');
108  foreach (ilMDContribute::_lookupAuthors($a_rbac_id, $a_obj_id, $a_type) as $author) {
109  $tpl->setCurrentBlock('mh_meta_item');
110  $tpl->setVariable('MH_META_NAME', 'author');
111  $tpl->setVariable('MH_META_CONTENT', $author);
112  $tpl->parseCurrentBlock();
113  }
114  }
115 
125  public static function _parseCopyright($a_copyright)
126  {
127  include_once('Services/MetaData/classes/class.ilMDSettings.php');
128  $settings = ilMDSettings::_getInstance();
129  if (!$settings->isCopyrightSelectionActive()) {
130  return $a_copyright;
131  }
132  include_once('Services/MetaData/classes/class.ilMDCopyrightSelectionEntry.php');
134  }
135 }
static _parseCopyright($a_copyright)
Parse copyright.
global $DIC
Definition: saml.php:7
$tpl
Definition: ilias.php:10
static _lookupAuthors($a_rbac_id, $a_obj_id, $a_obj_type)
Lookup authors.
static _LOMDurationToArray($a_string)
LOM datatype duration is a string like P2M4DT7H18M2S (2 months 4 days 7 hours 18 minutes 2 seconds) T...
static _getInstance()
get instance
$a_type
Definition: workflow.php:92
static _lookupCopyright($a_cp_string)
lookup copyright by entry id
static _fillHTMLMetaTags($a_rbac_id, $a_obj_id, $a_type)
Fill html meta tags.
static _getKeywordsByLanguageAsString($a_rbac_id, $a_obj_id, $a_type)
Get keywords by language as string.