Go to the documentation of this file.00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00031 include_once 'class.ilMDBase.php';
00032
00033 class ilMDRequirement extends ilMDBase
00034 {
00035 function ilMDRequirement($a_rbac_id = 0,$a_obj_id = 0,$a_obj_type = '')
00036 {
00037 parent::ilMDBase($a_rbac_id,
00038 $a_obj_id,
00039 $a_obj_type);
00040 }
00041
00042
00043 function setOrCompositeId($a_or_composite_id)
00044 {
00045 $this->or_composite_id = (int) $a_or_composite_id;
00046 }
00047 function getOrCompositeId()
00048 {
00049 return (int) $this->or_composite_id;
00050 }
00051
00052
00053 function setOperatingSystemName($a_val)
00054 {
00055 switch($a_val)
00056 {
00057 case 'PC-DOS':
00058 case 'MS-Windows':
00059 case 'MacOS':
00060 case 'Unix':
00061 case 'Multi-OS':
00062 case 'None':
00063 $this->operating_system_name = $a_val;
00064 return true;
00065
00066 default:
00067 return false;
00068 }
00069 }
00070 function getOperatingSystemName()
00071 {
00072 return $this->operating_system_name;
00073 }
00074 function setOperatingSystemMinimumVersion($a_val)
00075 {
00076 $this->operating_system_minimum_version = $a_val;
00077 }
00078 function getOperatingSystemMinimumVersion()
00079 {
00080 return $this->operating_system_minimum_version;
00081 }
00082 function setOperatingSystemMaximumVersion($a_val)
00083 {
00084 $this->operating_system_maximum_version = $a_val;
00085 }
00086 function getOperatingSystemMaximumVersion()
00087 {
00088 return $this->operating_system_maximum_version;
00089 }
00090 function setBrowserName($a_val)
00091 {
00092 switch($a_val)
00093 {
00094 case 'Any':
00095 case 'NetscapeCommunicator':
00096 case 'MS-InternetExplorer':
00097 case 'Opera':
00098 case 'Amaya':
00099 case 'Mozilla':
00100 $this->browser_name = $a_val;
00101 return true;
00102
00103 default:
00104 return false;
00105 }
00106 }
00107 function getBrowserName()
00108 {
00109 return $this->browser_name;
00110 }
00111 function setBrowserMinimumVersion($a_val)
00112 {
00113 $this->browser_minimum_version = $a_val;
00114 }
00115 function getBrowserMinimumVersion()
00116 {
00117 return $this->browser_minimum_version;
00118 }
00119 function setBrowserMaximumVersion($a_val)
00120 {
00121 $this->browser_maximum_version = $a_val;
00122 }
00123 function getBrowserMaximumVersion()
00124 {
00125 return $this->browser_maximum_version;
00126 }
00127
00128 function save()
00129 {
00130 if($this->db->autoExecute('il_meta_requirement',
00131 $this->__getFields(),
00132 DB_AUTOQUERY_INSERT))
00133 {
00134 $this->setMetaId($this->db->getLastInsertId());
00135
00136 return $this->getMetaId();
00137 }
00138 return false;
00139 }
00140
00141 function update()
00142 {
00143 if($this->getMetaId())
00144 {
00145 if($this->db->autoExecute('il_meta_requirement',
00146 $this->__getFields(),
00147 DB_AUTOQUERY_UPDATE,
00148 "meta_requirement_id = '".$this->getMetaId()."'"))
00149 {
00150 return true;
00151 }
00152 }
00153 return false;
00154 }
00155
00156 function delete()
00157 {
00158 if($this->getMetaId())
00159 {
00160 $query = "DELETE FROM il_meta_requirement ".
00161 "WHERE meta_requirement_id = '".$this->getMetaId()."'";
00162
00163 $this->db->query($query);
00164
00165 return true;
00166 }
00167 return false;
00168 }
00169
00170
00171 function __getFields()
00172 {
00173 return array('rbac_id' => $this->getRBACId(),
00174 'obj_id' => $this->getObjId(),
00175 'obj_type' => ilUtil::prepareDBString($this->getObjType()),
00176 'parent_type' => $this->getParentType(),
00177 'parent_id' => $this->getParentId(),
00178 'operating_system_name' => $this->getOperatingSystemName(),
00179 'operating_system_minimum_version' => $this->getOperatingSystemMinimumVersion(),
00180 'operating_system_maximum_version' => $this->getOperatingSystemMaximumVersion(),
00181 'browser_name' => $this->getBrowserName(),
00182 'browser_minimum_version' => $this->getBrowserMinimumVersion(),
00183 'browser_maximum_version' => $this->getBrowserMaximumVersion(),
00184 'or_composite_id' => $this->getOrCompositeId());
00185 }
00186
00187 function read()
00188 {
00189 include_once 'Services/MetaData/classes/class.ilMDLanguageItem.php';
00190
00191 if($this->getMetaId())
00192 {
00193 $query = "SELECT * FROM il_meta_requirement ".
00194 "WHERE meta_requirement_id = '".$this->getMetaId()."'";
00195
00196 $res = $this->db->query($query);
00197 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
00198 {
00199 $this->setRBACId($row->rbac_id);
00200 $this->setObjId($row->obj_id);
00201 $this->setObjType($row->obj_type);
00202 $this->setParentId($row->parent_id);
00203 $this->setParentType($row->parent_type);
00204 $this->setOperatingSystemName($row->operating_system_name);
00205 $this->setOperatingSystemMinimumVersion($row->operating_system_minimum_version);
00206 $this->setOperatingSystemMaximumVersion($row->operating_system_maximum_version);
00207 $this->setBrowserName($row->browser_name);
00208 $this->setBrowserMinimumVersion($row->browser_minimum_version);
00209 $this->setBrowserMaximumVersion($row->browser_maximum_version);
00210 $this->setOrCompositeId($row->or_composite_id);
00211 }
00212 }
00213 return true;
00214 }
00215
00216
00217
00218
00219
00220
00221 function toXML(&$writer)
00222 {
00223 $writer->xmlStartTag('Requirement');
00224 $writer->xmlStartTag('Type');
00225
00226 if(strlen($this->getOperatingSystemName()))
00227 {
00228 $writer->xmlElement('OperatingSystem',array('Name' => $this->getOperatingSystemName()
00229 ? $this->getOperatingSystemName()
00230 : 'None',
00231 'MinimumVersion' => $this->getOperatingSystemMinimumVersion(),
00232 'MaximumVersion' => $this->getOperatingSystemMaximumVersion()));
00233 }
00234 else
00235 {
00236 $writer->xmlElement('Browser',array('Name' => $this->getBrowserName()
00237 ? $this->getBrowserName()
00238 : 'Any',
00239 'MinimumVersion' => $this->getBrowserMinimumVersion(),
00240 'MaximumVersion' => $this->getBrowserMaximumVersion()));
00241 }
00242 $writer->xmlEndTag('Type');
00243 $writer->xmlEndTag('Requirement');
00244
00245 }
00246
00247
00248
00249 function _getIds($a_rbac_id,$a_obj_id,$a_parent_id,$a_parent_type,$a_or_composite_id = 0)
00250 {
00251 global $ilDB;
00252
00253 $query = "SELECT meta_requirement_id FROM il_meta_requirement ".
00254 "WHERE rbac_id = '".$a_rbac_id."' ".
00255 "AND obj_id = '".$a_obj_id."' ".
00256 "AND parent_id = '".$a_parent_id."' ".
00257 "AND parent_type = '".$a_parent_type."' ".
00258 "AND or_composite_id = '".$a_or_composite_id."' ";
00259
00260 $res = $ilDB->query($query);
00261 while($row = $res->fetchRow(DB_FETCHMODE_OBJECT))
00262 {
00263 $ids[] = $row->meta_requirement_id;
00264 }
00265 return $ids ? $ids : array();
00266 }
00267 }
00268 ?>