status == 'true') { if ( (string)$appid_file->key == (string)$this->xml->key) { return true; } else { $message = array('status' => 'error', 'message' => i18n_r('API_ERR_AUTHFAILED')); echo json_encode($message); } } else { $message = array('status' => 'error', 'message' => i18n_r('API_ERR_AUTHDISABLED')); echo json_encode($message); } } public function add_data($array) { $this->xml = $array; } /* * Read Page * * @return json */ public function page_read() { if($this->auth()) { $id = (string)$this->xml->data->slug; if (file_exists(GSDATAPAGESPATH.$id.'.xml')) { $page = getXML(GSDATAPAGESPATH.$id.'.xml'); $page->content = strip_decode($page->content); $page->metak = strip_decode($page->metak); $page->metad = strip_decode($page->metad); $page->title = strip_decode($page->title); $wrapper = array('status' => 'success', 'message' => 'page_read ok', 'response' => $page); return json_encode($wrapper); } else { $error = array('status' => 'error', 'message' => sprintf(i18n_r('API_ERR_NOPAGE'), $id)); return json_encode($error); } } } /* * Read Settings * * @return json */ public function settings_read() { if($this->auth()) { $settings = getXML(GSDATAOTHERPATH.'website.xml'); $wrapper = array('status' => 'success', 'message' => 'settings_read ok', 'response' => $settings); return json_encode($wrapper); } } /* * Read All Pages * * @return json */ public function all_pages_read() { if($this->auth()) { $pages = get_available_pages(); $wrapper = array('status' => 'success', 'message' => 'all_pages_read ok', 'response' => $pages); return json_encode($wrapper); } } /* * Upload File * * @return bool */ public function file_upload() { if($this->auth()) { $patho = (string)$this->xml->data->path; $path = tsl(GSDATAUPLOADPATH . $patho); } } /* * Save Page * * @return bool */ public function page_save() { if($this->auth()) { $id = (string)$this->xml->data->slug; $thisfile = GSDATAPAGESPATH.$id.'.xml'; if (file_exists($thisfile)) { $page = getXML($thisfile); $page->content = safe_slash_html($this->xml->data->content); $page->title = safe_slash_html($this->xml->data->title); $page->pubDate = date('r'); $bakfile = GSBACKUPSPATH."pages/". $id .".bak.xml"; copy($thisfile, $bakfile); $status = XMLsave($page, $thisfile); if ($status) { touch($thisfile); $wrapper = array('status' => 'success', 'message' => 'page_save ok', 'response' => $page); } else { $wrapper = array('status' => 'error', 'message' => 'There was an error saving your page'); } return json_encode($wrapper); } else { $error = array('status' => 'error', 'message' => sprintf(i18n_r('API_ERR_NOPAGE'), $id)); return json_encode($error); } } } /* * Read Files * * @return json */ public function all_files_read() { if($this->auth()) { $patho = (string)$this->xml->data->path; $path = tsl(GSDATAUPLOADPATH . $patho); $filesArray = array(); $count =0; global $SITEURL; $filenames = getFiles($path); if (count($filenames) != 0) { foreach ($filenames as $file) { if ($file == "." || $file == ".." || $file == ".htaccess" ){ // not a upload file } else { $filesArray[$count]['name'] = $file; if (is_dir($path . $file)) { $filesArray[$count]['type'] = 'folder'; } else { $filesArray[$count]['type'] = 'file'; $filesArray[$count]['url'] = tsl($SITEURL.'data/uploads/'.$patho).$file; $ext = pathinfo($file,PATHINFO_EXTENSION); $extention = get_FileType($ext); $filesArray[$count]['category'] = $extention; clearstatcache(); $ss = stat($path . $file); $filesArray[$count]['date'] = date('c',$ss['ctime']); $filesArray[$count]['size'] = $ss['size']; } } $count++; } } $filesArray = subval_sort($filesArray, 'name'); $filesArray = subval_sort($filesArray, 'type'); $wrapper = array('status' => 'success', 'message' => 'all_files_read ok', 'response' => $filesArray); return json_encode($wrapper); } } } // end of class ?>