ILIAS  release_4-3 Revision
 All Data Structures Namespaces Files Functions Variables Groups Pages
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  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  {
50  return false;
51  }
52  // Month
53  if(preg_match('/^P(\d+)M/i',$a_string,$matches))
54  {
55  $months = $matches[1];
56  }
57  // Days
58  if(preg_match('/(\d+)+D/i',$a_string,$matches))
59  {
60  #var_dump("<pre>",$matches,"<pre>");
61  $days = $matches[1];
62  }
63 
64  if(preg_match('/(\d+)+H/i',$a_string,$matches))
65  {
66  #var_dump("<pre>",$matches,"<pre>");
67  $hours = $matches[1];
68  }
69  if(preg_match('/T(\d{1,2}H)?(\d+)M/i',$a_string,$matches))
70  {
71  #var_dump("<pre>",$matches,"<pre>");
72  $min = $matches[2];
73  }
74  if(preg_match('/(\d+)S/i',$a_string,$matches))
75  {
76  #var_dump("<pre>",$matches,"<pre>");
77  $sec = $matches[1];
78  }
79 
80  // Hack for zero values
81  if(!$months and !$days and !$hours and !$min and !$sec)
82  {
83  return false;
84  }
85 
86  return array($months,$days,$hours,$min,$sec);
87  }
88 
99  public static function _fillHTMLMetaTags($a_rbac_id,$a_obj_id,$a_type)
100  {
101  global $tpl,$ilObjDataCache;
102 
103  include_once('Services/MetaData/classes/class.ilMDKeyword.php');
104  foreach(ilMDKeyword::_getKeywordsByLanguageAsString($a_rbac_id,$a_obj_id,$a_type) as $lng_code => $key_string)
105  {
106  $tpl->setCurrentBlock('mh_meta_item');
107  $tpl->setVariable('MH_META_NAME','keywords');
108  $tpl->setVariable('MH_META_LANG',$lng_code);
109  $tpl->setVariable('MH_META_CONTENT',$key_string);
110  $tpl->parseCurrentBlock();
111  }
112  include_once('Services/MetaData/classes/class.ilMDContribute.php');
113  foreach(ilMDContribute::_lookupAuthors($a_rbac_id,$a_obj_id,$a_type) as $author)
114  {
115  $tpl->setCurrentBlock('mh_meta_item');
116  $tpl->setVariable('MH_META_NAME','author');
117  $tpl->setVariable('MH_META_CONTENT',$author);
118  $tpl->parseCurrentBlock();
119  }
120 
121  }
122 
132  public static function _parseCopyright($a_copyright)
133  {
134  include_once('Services/MetaData/classes/class.ilMDSettings.php');
135  $settings = ilMDSettings::_getInstance();
136  if(!$settings->isCopyrightSelectionActive())
137  {
138  return $a_copyright;
139  }
140  include_once('Services/MetaData/classes/class.ilMDCopyrightSelectionEntry.php');
142  }
143 
144 
145 }