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)); }
/** * 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; }
/** * 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); }
/** * 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); }
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); } }
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; }
/** * 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; }