Exemplo n.º 1
0
 private function update_package()
 {
     $sid = wpl_request::getVar('sid');
     $tmp_directory = wpl_global::init_tmp_folder();
     $dest = $tmp_directory . 'package.zip';
     $zip_file = wpl_global::get_web_page('http://billing.realtyna.com/index.php?option=com_rls&view=downloadables&task=download&sid=' . $sid . '&randomkey=' . rand(1, 100));
     if (!$zip_file) {
         $this->response(array('success' => '0', 'error' => __('Error: #U202, Could not download the update package!', WPL_TEXTDOMAIN), 'message' => ''));
     }
     if (!class_exists('ZipArchive')) {
         $this->response(array('success' => '0', 'error' => __('Error: #U205, Your PHP has no ZipArchive support enabled!', WPL_TEXTDOMAIN), 'message' => ''));
     }
     if (!wpl_file::write($dest, $zip_file)) {
         $this->response(array('success' => '0', 'error' => __('Error: #U203, Could not create the update file!', WPL_TEXTDOMAIN), 'message' => ''));
     }
     if (!wpl_global::zip_extract($dest, $tmp_directory)) {
         $this->response(array('success' => '0', 'error' => __('Error: #U204, Could not extract the update file!', WPL_TEXTDOMAIN), 'message' => ''));
     }
     $script_file = $tmp_directory . 'installer.php';
     if (!wpl_file::exists($script_file)) {
         $this->response(array('error' => __("Installer file doesn't exist!", WPL_TEXTDOMAIN), 'message' => ''));
     }
     if (!is_writable(WPL_ABSPATH . 'WPL.php')) {
         $this->response(array('error' => __("PHP doesn't have write access to the files and directories!", WPL_TEXTDOMAIN), 'message' => ''));
     }
     /** including installer and run the install method **/
     include $script_file;
     if (!class_exists('wpl_installer')) {
         $this->response(array('error' => __("Installer class doesn't exist!", WPL_TEXTDOMAIN), 'message' => ''));
     }
     /** run install script **/
     $wpl_installer = new wpl_installer();
     $wpl_installer->path = $tmp_directory;
     if (!$wpl_installer->run()) {
         $this->response(array('error' => $wpl_installer->error, 'message' => ''));
     }
     /** Trigger Event **/
     wpl_global::event_handler('package_updated', array('package_id' => isset($wpl_installer->addon_id) ? $wpl_installer->addon_id : 0));
     $message = $wpl_installer->message ? $wpl_installer->message : __('Addon Updated.', WPL_TEXTDOMAIN);
     $this->response(array('error' => '', 'message' => $message));
 }
Exemplo n.º 2
0
 /**
  * Checks Realtyna billing credentials
  * @author Howard <*****@*****.**>
  * @static
  * @return array
  */
 public static function check_realtyna_credentials()
 {
     /** import settings library **/
     _wpl_import('libraries.settings');
     $current_url = wpl_global::get_full_url();
     $domain = wpl_global::domain($current_url);
     $settings = wpl_global::get_settings();
     $phpver = phpversion();
     $wplversion = wpl_global::wpl_version();
     $wpversion = wpl_global::wp_version();
     $username = $settings['realtyna_username'];
     $password = $settings['realtyna_password'];
     $POST = array('domain' => $domain, 'wpversion' => $wpversion, 'wplversion' => $wplversion, 'phpver' => $phpver, 'username' => urlencode($username), 'password' => urlencode($password), 'command' => 'check_credentials', 'format' => 'json');
     $io_handler = 'http://billing.realtyna.com/io/io.php';
     $result = wpl_global::get_web_page($io_handler, $POST);
     $answer = json_decode($result, true);
     /** saving status **/
     $status = isset($answer['status']) ? $answer['status'] : 0;
     wpl_settings::save_setting('realtyna_verified', $status, 1);
     $message = $status ? __('Credentials verified.', WPL_TEXTDOMAIN) : __('Invalid credentials!', WPL_TEXTDOMAIN);
     $success = 1;
     return array('success' => $success, 'message' => $message, 'status' => $status);
 }