22 if(!preg_match(
'/\s/', $name)) {
25 if(is_file(
"{$theme}/ossn_theme.xml")) {
26 $theme_path = simplexml_load_file(
"{$theme}/ossn_theme.xml");
59 $handle = opendir($dir);
62 while($theme_id = readdir($handle)) {
63 if(substr($theme_id, 0, 1) !==
'.' && is_dir($dir . $theme_id) && !preg_match(
'/\s/', $theme_id) && is_file(
"{$dir}{$theme_id}/ossn_theme.php") && is_file(
"{$dir}{$theme_id}/ossn_theme.xml")) {
64 $theme_ids[] = $theme_id;
81 $archive =
new ZipArchive;
83 if(!is_dir($data_dir)) {
84 mkdir($data_dir, 0755,
true);
88 $file->setExtension(array(
92 $newfile =
"{$data_dir}/{$zip['name']}";
93 if(move_uploaded_file($zip[
'tmp_name'], $newfile)) {
94 if($archive->open($newfile) === TRUE) {
95 $archive->extractTo($data_dir);
97 $validate = pathinfo($zip[
'name'], PATHINFO_FILENAME);
98 if(is_file(
"{$data_dir}/{$validate}/ossn_theme.php") && is_file(
"{$data_dir}/{$validate}/ossn_theme.xml")) {
99 $archive->open($newfile);
117 return "{$path}{$this->getSettings('theme')}/ossn_theme.php";
126 if(is_file(
"{$path}{$this->getSettings('theme')}/ossn_theme.php")) {
128 $lang_file =
"{$path}{$this->getSettings('theme')}/locale/ossn.{$lang}.php";
129 if(is_file($lang_file)) {
131 include_once($lang_file);
133 require_once(
"{$path}{$this->getSettings('theme')}/ossn_theme.php");
177 if(empty($element)) {
180 $version = current($element->getNamespaces());
181 if(substr($version, -3) ==
'1.0') {
194 if(empty($element)) {
203 if(isset($element->name)) {
204 if(isset($element->requires)) {
206 $requires = $element->requires;
207 foreach($requires as $item) {
208 if(!in_array($item->type, $types)) {
211 $requirments = array();
213 if($item->type ==
'ossn_version') {
215 $requirments[
'type'] =
ossn_print(
'ossn:version');
216 $requirments[
'value'] = (string) $item->version;
217 $requirments[
'availability'] = 0;
220 if(($site_version <= $item->version) && ($site_version == (
int) $item->version)) {
221 $requirments[
'availability'] = 1;
226 if($item->type ==
'php_extension') {
228 $requirments[
'type'] =
ossn_print(
'php:extension');
229 $requirments[
'value'] = (string) $item->name;
230 $requirments[
'availability'] = 0;
232 if(extension_loaded($item->name)) {
233 $requirments[
'availability'] = 1;
237 if($item->type ==
'php_version') {
239 $requirments[
'type'] =
ossn_print(
'php:version');
240 $requirments[
'value'] = (string) $item->version;
241 $requirments[
'availability'] = 0;
243 $phpversion = substr(PHP_VERSION, 0, 6);
244 if($phpversion >= $item->version) {
245 $requirments[
'availability'] = 1;
249 if($item->type ==
'php_function') {
251 $requirments[
'type'] =
ossn_print(
'php:function');
252 $requirments[
'value'] = (string) $item->name;
253 $requirments[
'availability'] = 0;
255 if(function_exists($item->name)) {
256 $requirments[
'availability'] = 1;
259 $result[] = $requirments;