Пример #1
0
 /**
  * Running necesarry queries and functions for upgrading
  * @author Howard <*****@*****.**>
  * @return void
  */
 public function upgrade_wpl()
 {
     if (wpl_folder::exists(WPL_ABSPATH . 'assets' . DS . 'upgrade' . DS . 'files')) {
         /** copy files **/
         $res = wpl_folder::copy(WPL_ABSPATH . 'assets' . DS . 'upgrade' . DS . 'files', ABSPATH, '', true);
         /** delete files **/
         wpl_folder::delete(WPL_ABSPATH . 'assets' . DS . 'upgrade' . DS . 'files');
     }
     /** run queries **/
     $query_file = WPL_ABSPATH . 'assets' . DS . 'upgrade' . DS . 'queries.sql';
     if (wpl_file::exists($query_file)) {
         $queries = wpl_file::read($query_file);
         $queries = str_replace(";\r\n", "-=++=-", $queries);
         $queries = str_replace(";\r", "-=++=-", $queries);
         $queries = str_replace(";\n", "-=++=-", $queries);
         $sqls = explode("-=++=-", $queries);
         if (function_exists('is_multisite') and is_multisite() and wpl_global::check_addon('multisite')) {
             $original_blog_id = wpl_global::get_current_blog_id();
             // Get all blogs
             $blogs = wpl_db::select("SELECT `blog_id` FROM `#__blogs`", 'loadColumn');
             foreach ($blogs as $blog) {
                 if (!isset($blog->blog_id)) {
                     continue;
                 }
                 switch_to_blog($blog->blog_id);
                 foreach ($sqls as $sql) {
                     try {
                         wpl_db::q($sql);
                     } catch (Exception $e) {
                     }
                 }
             }
             /** delete query file **/
             wpl_file::delete($query_file);
             switch_to_blog($original_blog_id);
         } else {
             foreach ($sqls as $sql) {
                 try {
                     wpl_db::q($sql);
                 } catch (Exception $e) {
                 }
             }
             /** delete query file **/
             wpl_file::delete($query_file);
         }
     }
     /** run script **/
     $script_file = WPL_ABSPATH . 'assets' . DS . 'upgrade' . DS . 'script.php';
     if (wpl_file::exists($script_file)) {
         include $script_file;
         /** delete script file **/
         wpl_file::delete($script_file);
     }
     /** update WPL version in db **/
     update_option('wpl_version', wpl_global::wpl_version());
 }
Пример #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
 /**
  * Run a SQL Query file
  * @author Howard <*****@*****.**>
  * @static
  * @param string $sql_file
  * @param boolean $delete
  * @param boolean $exception
  * @return boolean
  */
 public static function do_file_queries($sql_file, $delete = false, $exception = false)
 {
     if (!wpl_file::exists($sql_file)) {
         return false;
     }
     $read_file = wpl_file::read($sql_file);
     if ($read_file != '') {
         $read_file = str_replace(";\r\n", "-=++=-", $read_file);
         $read_file = str_replace(";\r", "-=++=-", $read_file);
         $read_file = str_replace(";\n", "-=++=-", $read_file);
         $list_query = explode("-=++=-", $read_file);
         for ($i = 0; $i < count($list_query); $i++) {
             if (trim($list_query[$i]) == '') {
                 continue;
             }
             $query = $list_query[$i];
             if ($exception) {
                 wpl_db::q($query);
             } else {
                 try {
                     wpl_db::q($query);
                 } catch (Exception $e) {
                 }
             }
         }
     }
     if ($delete) {
         wpl_file::delete($sql_file);
     }
     return true;
 }
Пример #4
0
 /**
  * Returns notification template content
  * @author Howard R <*****@*****.**>
  * @static
  * @param string $path
  * @param boolean $images_convert
  * @return boolean|string
  */
 public static function get_template_content($path, $images_convert = true)
 {
     /** first validation **/
     if (!trim($path)) {
         return false;
     }
     $content = wpl_file::read($path);
     if (!$images_convert) {
         return $content;
     }
     preg_match_all('/##([^#]*)##/', $content, $matches);
     foreach ($matches[1] as $var_name) {
         $image_url = self::get_images_url($var_name);
         $content = str_replace('##' . $var_name . '##', '<img src="' . $image_url . '" data-wpl-var="' . $var_name . '" />', $content);
     }
     return $content;
 }
Пример #5
0
 public function makeMaskNo($maskNo, $width, $s, &$d, $maskGenOnly = false)
 {
     $b = 0;
     $bitMask = array();
     $fileName = QR_CACHE_DIR . 'mask_' . $maskNo . DIRECTORY_SEPARATOR . 'mask_' . $width . '_' . $maskNo . '.dat';
     if (QR_CACHEABLE) {
         if (file_exists($fileName)) {
             $bitMask = self::unserial(wpl_file::read($fileName));
         } else {
             $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
             if (!file_exists(QR_CACHE_DIR . 'mask_' . $maskNo)) {
                 mkdir(QR_CACHE_DIR . 'mask_' . $maskNo);
             }
             wpl_file::write($fileName, self::serial($bitMask));
         }
     } else {
         $bitMask = $this->generateMaskNo($maskNo, $width, $s, $d);
     }
     if ($maskGenOnly) {
         return;
     }
     $d = $s;
     for ($y = 0; $y < $width; $y++) {
         for ($x = 0; $x < $width; $x++) {
             if ($bitMask[$y][$x] == 1) {
                 $d[$y][$x] = chr(ord($s[$y][$x]) ^ (int) $bitMask[$y][$x]);
             }
             $b += (int) (ord($d[$y][$x]) & 1);
         }
     }
     return $b;
 }
Пример #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
 /**
  * Import Settings from a file
  * @author Steve A. <*****@*****.**>
  * @static
  * @param  string  $file Settings File
  * @return boolean		 Result
  */
 public static function import_settings($file)
 {
     $content = wpl_file::read($file);
     $ext = wpl_file::getExt($file);
     if ($ext == 'json') {
         $settings = json_decode($content);
         if (!$settings) {
             return false;
         }
     } elseif ($ext == 'xml') {
         $settings = simplexml_load_string($content);
         if (!$settings) {
             return false;
         }
         $settings = (array) $settings;
     } else {
         return false;
     }
     foreach ($settings as $name => $value) {
         self::update_setting($name, $value);
     }
     return true;
 }