Пример #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));
 }
Пример #2
0
 /**
  * Compile SCSS file and convert it to CSS file
  * @author Howard <*****@*****.**>
  * @param string $input
  * @param string $output
  * @return boolean
  */
 public function compile_file($input, $output)
 {
     if (!trim($input) or !wpl_file::exists($input)) {
         return false;
     }
     if (!trim($output)) {
         return false;
     }
     $CSS = $this->scssc->compile(wpl_file::read($input));
     wpl_file::write($output, $CSS);
     return $CSS;
 }
Пример #3
0
 /**
  * Use this function for troubleshooting. Don't forgot to remove it after debugging
  * @author Howard <*****@*****.**>
  * @static
  * @param string $log_msg
  * @param string $path
  * @param boolean $append
  */
 public static function trouble_shooting_log($log_msg, $path = '', $append = false)
 {
     if (trim($path) == '') {
         $path = WPL_ABSPATH . 'libraries' . DS . 'troubleshooting.txt';
     }
     if (wpl_file::exists($path) and !$append) {
         wpl_file::delete($path);
     }
     wpl_file::write($path, $log_msg, $append);
 }
Пример #4
0
 /**
  * save notification data
  * @author Kevin J <*****@*****.**> 
  * @static
  * @param array $data notification data to save reperesantion in arrray
  * @return boolean
  */
 public static function save_notification($data)
 {
     wpl_file::write(self::get_template_path($data['template_path'], true), $data['template']);
     $data = wpl_db::escape($data);
     $query = "UPDATE #__wpl_notifications SET `description` = '{$data['description']}',`template` = '{$data['template_path']}',";
     $query .= "`additional_emails` = '{$data['include_email']}',`additional_memberships` = '{$data['include_membership']}',`additional_users` = '{$data['include_user']}',`subject` = '{$data['subject']}' ";
     $query .= "WHERE id = {$data['id']}";
     return wpl_db::q($query);
 }
Пример #5
0
 public function encode($intext, $outfile = false)
 {
     $code = new QRcode();
     if ($this->eightbit) {
         $code->encodeString8bit($intext, $this->version, $this->level);
     } else {
         $code->encodeString($intext, $this->version, $this->level, $this->hint, $this->casesensitive);
     }
     QRtools::markTime('after_encode');
     if ($outfile !== false) {
         wpl_file::write($outfile, join("\n", QRtools::binarize($code->data)));
     } else {
         return QRtools::binarize($code->data);
     }
 }
Пример #6
0
 private function save_customizer()
 {
     $wplcustomizer = wpl_request::getVar('wplcustomizer', array());
     $_variables = wpl_file::read(WPL_ABSPATH . 'assets' . DS . 'scss' . DS . 'ui_customizer' . DS . '_variables_source.scss');
     foreach ($wplcustomizer as $key => $value) {
         $_variables = str_replace('[' . $key . ']', $value, $_variables);
     }
     /** Write on _variables.scss file **/
     wpl_file::write(WPL_ABSPATH . 'assets' . DS . 'scss' . DS . 'ui_customizer' . DS . '_variables.scss', $_variables);
     /** Initialize SCSS Compiler **/
     _wpl_import('libraries.scss');
     $wplscss = new wpl_scss();
     $wplscss->set_import_path(WPL_ABSPATH . 'assets' . DS . 'scss' . DS . 'ui_customizer' . DS);
     /** Compile **/
     $wplscss->compile_file(WPL_ABSPATH . 'assets' . DS . 'scss' . DS . 'ui_customizer' . DS . 'wpl.scss', WPL_ABSPATH . 'assets' . DS . 'css' . DS . 'ui_customizer' . DS . 'wpl.css');
     /** Save UI Customizer Options in Database **/
     wpl_settings::save_setting('wpl_ui_customizer', json_encode($wplcustomizer));
     $res = 1;
     $message = $res ? __('Saved.', WPL_TEXTDOMAIN) : __('Error Occured.', WPL_TEXTDOMAIN);
     $data = NULL;
     $response = array('success' => $res, 'message' => $message, 'data' => $data);
     echo json_encode($response);
     exit;
 }
Пример #7
0
 /**
  * Add watermark to an image
  * @author Francis R <*****@*****.**>
  * @param string $source: source file string path
  * @param string $dest  : destination file string path
  * @param int $watermark: 0 if watermark is disable, 1 if watermark is enable
  * @param array $options: array consist of status, opacity, position and user_logo
  * @return string       : destination file path
  */
 public static function add_watermark_image($source, $dest, $options = '')
 {
     if ($options == '') {
         $options['status'] = 0;
     }
     if ($options['status'] != 1) {
         return;
     }
     $filename = $source;
     //default path for watermark
     $watermark = WPL_ABSPATH . 'assets' . DS . 'img' . DS . 'system' . DS;
     if (trim($options['url']) != '') {
         $watermark .= trim($options['url']);
     }
     if (!wpl_file::exists($watermark)) {
         return;
     }
     $source = strtolower($source);
     $extension = wpl_file::getExt($source);
     $w_extension = wpl_file::getExt($watermark);
     list($w_width, $w_height, $w_type, $w_attr) = getimagesize($filename);
     list($markwidth, $markheight, $w_type1, $w_attr1) = getimagesize($watermark);
     switch ($extension) {
         case 'jpg':
         case 'jpeg':
             $w_dest = imagecreatefromjpeg($filename);
             break;
         case 'gif':
             $w_dest = imagecreatefromgif($filename);
             break;
         case 'png':
             $w_dest = imagecreatefrompng($filename);
             break;
         default:
             return;
     }
     switch ($w_extension) {
         case 'jpg':
         case 'jpeg':
             $w_src = imagecreatefromjpeg($watermark);
             break;
         case 'gif':
             $w_src = imagecreatefromgif($watermark);
             break;
         case 'png':
             $w_src = imagecreatefrompng($watermark);
             break;
         default:
             return;
     }
     // Copy and merge
     $opacity = $options['opacity'];
     $position = strtolower($options['position']);
     switch ($position) {
         case 'center':
             wpl_images::imagecopymerge_alpha($w_dest, $w_src, $w_width - $markwidth >> 1, $w_height - $markheight >> 1, 0, 0, $markwidth, $markheight, $opacity);
             break;
         case 'left':
             wpl_images::imagecopymerge_alpha($w_dest, $w_src, $w_width - $markwidth > 1, $w_height - $markheight >> 1, 0, 0, $markwidth, $markheight, $opacity);
             break;
         case 'right':
             wpl_images::imagecopymerge_alpha($w_dest, $w_src, $w_width - $markwidth, $w_height - $markheight >> 1, 0, 0, $markwidth, $markheight, $opacity);
             break;
         case 'top':
             wpl_images::imagecopymerge_alpha($w_dest, $w_src, $w_width - $markwidth >> 1, $w_height - $markheight > 1, 0, 0, $markwidth, $markheight, $opacity);
             break;
         case 'bottom':
             wpl_images::imagecopymerge_alpha($w_dest, $w_src, $w_width - $markwidth >> 1, $w_height - $markheight, 0, 0, $markwidth, $markheight, $opacity);
             break;
         case 'top-left':
             wpl_images::imagecopymerge_alpha($w_dest, $w_src, $w_width - $markwidth > 1, $w_height - $markheight > 1, 0, 0, $markwidth, $markheight, $opacity);
             break;
         case 'top-right':
             wpl_images::imagecopymerge_alpha($w_dest, $w_src, $w_width - $markwidth, $w_height - $markheight > 1, 0, 0, $markwidth, $markheight, $opacity);
             break;
         case 'bottom-left':
             wpl_images::imagecopymerge_alpha($w_dest, $w_src, $w_width - $markwidth > 1, $w_height - $markheight, 0, 0, $markwidth, $markheight, $opacity);
             break;
         case 'bottom-right':
             wpl_images::imagecopymerge_alpha($w_dest, $w_src, $w_width - $markwidth, $w_height - $markheight, 0, 0, $markwidth, $markheight, $opacity);
             break;
     }
     if ($extension == 'jpg' || $extension == 'jpeg') {
         $quality = 95;
         if (wpl_global::check_addon('optimizer') && wpl_global::get_client() === 0) {
             $quality = wpl_addon_optimizer::optimize_image(wpl_addon_optimizer::IMAGE_JPEG, $w_dest);
         }
         ob_start();
         imagejpeg($w_dest, NULL, $quality);
         $out_image = ob_get_clean();
         wpl_file::write($dest, $out_image);
     } elseif ($extension == 'png') {
         $quality = 9;
         if (wpl_global::check_addon('optimizer') && wpl_global::get_client() === 0) {
             $quality = wpl_addon_optimizer::optimize_image(wpl_addon_optimizer::IMAGE_PNG, $w_dest);
         }
         ob_start();
         imagepng($w_dest, NULL, $quality);
         $out_image = ob_get_clean();
         wpl_file::write($dest, $out_image);
     } elseif ($extension == 'gif') {
         ob_start();
         imagegif($w_dest);
         $out_image = ob_get_clean();
         wpl_file::write($dest, $out_image);
     }
     imagedestroy($w_src);
     imagedestroy($w_dest);
     // Return Destination
     return $source;
 }