관리-도구
편집 파일: library.php
<?php class Library { public $secure; public $info; public $app_version; function __construct() { $this->info=array(); $this->app_version='na'; } function getInfo($key='@_@') { //get info array $arr=$this->info; if($key=='@_@'){return $arr;} else { if(isset($arr[$key])){return $arr[$key];} else {return 0;} } } function setInfo($key,$val) { //set value to information array if($key=='app_version') { $this->app_version=$val; } $arr=$this->info; $arr[$key]=$val; $arr['ip']=self::getIP(); $arr['protocol']=self::getProtocol(); $this->info=$arr; } function getProtocol() { if ((!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || $_SERVER['SERVER_PORT'] == 443) { return "https://"; } return "http://"; } function getIP() { $ipaddress = ''; if (isset($_SERVER['HTTP_CLIENT_IP'])) $ipaddress = $_SERVER['HTTP_CLIENT_IP']; else if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR']; else if(isset($_SERVER['HTTP_X_FORWARDED'])) $ipaddress = $_SERVER['HTTP_X_FORWARDED']; else if(isset($_SERVER['HTTP_FORWARDED_FOR'])) $ipaddress = $_SERVER['HTTP_FORWARDED_FOR']; else if(isset($_SERVER['HTTP_FORWARDED'])) $ipaddress = $_SERVER['HTTP_FORWARDED']; else if(isset($_SERVER['REMOTE_ADDR'])) $ipaddress = $_SERVER['REMOTE_ADDR']; else $ipaddress = 'UNKNOWN'; return $ipaddress; } function secure() { require_once("security.php"); $ob=new SecureClass(); return $ob; } function loadVue($type="dev") { //load vue as dev or prodction mode if(isset($GLOBALS['vue_loaded'])) { return ''; } $GLOBALS['vue_loaded']=1; if($type=="dev") { return '<script src="assets/js/vue.js"></script>'; } else { return '<script src="assets/js/vue-production.js"></script>'; } } function loadVideoPlayer($relative= true) { if(!isset($GLOBALS['load_video_player'])) { $base_url= ""; if(!$relative) { $base_url =get_option('install_url'); $base_url .= "/"; } return "<link rel='stylesheet' href='".$base_url."assets/video-js/style.css'/> <script src='".$base_url."assets/video-js/script-ie.js'></script> <script src='".$base_url."assets/video-js/script.js'></script> "; $GLOBALS['load_video_player']= 1; } return ""; } function loadJSTranslator($relative=true) { $setup_token=time(); if(function_exists('get_option') && get_option('qfnl_setup_token')) { $setup_token=get_option('qfnl_setup_token'); } $version=(function_exists('qfnl_current_version') && get_option('qfnl_current_version'))? (get_option('qfnl_current_version')):0; $relative_cache_location='<script src="./lang/cache.js?v='.$setup_token.'"></script>'; $absolute_cache_location=''; if($relative) { $script= $relative_cache_location.' <script src="./assets/js/html_entities.js?v='.$version.'"></script> <script src="./assets/js/lang.js?v='.$version.'"></script>'; } else if(function_exists('get_option')) { $install_url=get_option('install_url'); $cache_base=$install_url; $script= '<script src="'.$cache_base.'/lang/cache.js?v='.$setup_token.'"></script> <script src="'.$install_url.'/assets/js/html_entities.js?v='.$version.'"></script> <script src="'.$install_url.'/assets/js/lang.js?v='.$version.'"></script> '; } else { $script=""; } return $script; } function loadBootstrap($absolute=false) { $main_url=""; if(function_exists('get_option')) { if($absolute && get_option('install_url')) { $main_url=rtrim(get_option('install_url'),"/"); $main_url .="/"; } } return ' <meta name="viewport" content="width=device-width, initial-scale=1"> <!--@cfbootstrap@--> <link rel="stylesheet" href="'.$main_url.'assets/bootstrap/css/bootstrap.min.css"> <script src="'.$main_url.'assets/js/jquery-3.4.1.min.js"></script> <script src="'.$main_url.'assets/bootstrap/js/bootstrap.bundle.min.js"></script> <!--/@cfbootstrap@--> '; } function loadJquery() { return '<script src="assets/js/jquery-3.4.1.min.js"></script>'; } function loadScript($str) { //loadspecificscript if(isset($GLOBALS['loaded_scripts']) && in_array($str, $GLOBALS['loaded_scripts'])) { return ''; } else { if(!isset($GLOBALS['loaded_scripts'])) { $GLOBALS['loaded_scripts']=array($str); } else { array_push($GLOBALS['loaded_scripts'], $str); } } $bs=""; if($str=="request") { $bs="<script src='assets/js/node_modules/js-base64/base64.js?version=".$this->app_version."'></script>"; } return $bs."<script src='assets/js/".$str.".js?version=".$this->app_version."'></script>"; } function loadStyle($str) { //load specific css return "<link rel='stylesheet' href='assets/css/".$str.".css?version=".$this->app_version."'></link>"; } function loadChartJs() { $chart=self::loadScript('chart'); return ' <link href="assets/css/anychart-ui.min.css" rel="stylesheet" type="text/css"> <link href="assets/css/anychart-font.min.css" rel="stylesheet" type="text/css"> <script src="assets/js/anychart-base.min.js"></script> <script src="assets/js/anychart-ui.min.js"></script> <script src="assets/js/anychart-exports.min.js"></script>' . $chart; } function loadUser() { //load user data require_once("user_data.php"); self::setInfo('load',$this); $info_arr=self::getInfo(); $ob=new Userdata($info_arr); //self::setInfo('valid_purchase',$ob->userDataIsValid(0)); return $ob; } function loadFunnel() { //load funnel control library require_once("funnel.php"); self::setInfo('load',$this); $ob=new Funnel(self::getInfo()); return $ob; } function loadFunnelCloner() { require_once("Clone_funnel.php"); self::setInfo('load',$this); $ob=new Clone_funnel(self::getInfo()); return $ob; } function view($title,$header,$content,$footer,$data_arr=array(),$plugin_page=false) { //load view $info=self::getInfo(); if(!get_option('is_valid_user')) { $content="createuser.php"; } $plugin_menues=array(); $plugin_loader=false; if(isset($GLOBALS['plugin_loader'])) { $plugin_loader=$GLOBALS['plugin_loader']; $plugin_loader->processInit('admin_init'); $plugin_menues=$plugin_loader->processAdminMenu(); } require_once($info['view_dir']."/view_container.php"); } function loadOptin() { //load optin require_once('optin_control.php'); self::setInfo('load',$this); $data=self::getInfo(); $ob=new Optincontrol($data); return $ob; } function loadMember() { require_once("membership.php"); $info=self::getInfo(); $ob=new Membershipqfnl($info); return $ob; } function createlist() { require_once('savelist.php'); self::setInfo('load',$this); $dbinfo = self::getInfo(); $data=new CreateList($dbinfo); return $data; } function loadSMTP() { require_once("smtp_control.php"); $info=self::getInfo(); $ob=new Smtpcontrol($info); return $ob; } function loadSMTPData() { require_once("smtp.php"); //load smtp $info_arr=self::getInfo(); $ob=new Smtp($info_arr); return $ob; } function isPlusUser() { $type = 0; if (function_exists('get_option') && get_option('valid_user_data')) { $data = json_decode(cf_enc(get_option('valid_user_data'), 'decrypt')); if(isset($data->product_permissions) && $data->product_permissions=='pro') { $type=1; }else if(isset($data->product_permissions) && $data->product_permissions=='free') { $type=2; } } return $type; } function isFreeUser() { $type = 0; if (function_exists('get_option') && get_option('valid_user_data')) { $data = json_decode(cf_enc(get_option('valid_user_data'), 'decrypt')); if (isset($data->product_permissions) && $data->product_permissions == 'free') { $type = 2; } } return $type; } function loadSell() { require_once("sell_control.php"); self::setInfo('load',$this); $info=self::getInfo(); $ob=new Sellcontrol($info); return $ob; } function loadSequence() { require_once("sequence.php"); self::setInfo('load',$this); $info = self::getInfo(); $obj = new Sequence($info); return $obj; } function loadMailComposer() { require_once("compose_mail.php"); self::setInfo('load',$this); $info = self::getInfo(); return new ComposeMail($info); } function loadPayment() { require_once("payment.php"); $info = self::getInfo(); $object = new payment($info); return $object; } function loadScheduler() { require_once("schedule_api.php"); $info = self::getInfo(); $ob=new QmlrSchedular($info); return $ob; } function loadCbMailer($data) { self::setInfo('load',$this); $info=self::getInfo(); require_once("ajaxmailsend.php"); sendSequencedMail($info,$data); } function loadmultiuser() { //load multi user data require_once("multiuser.php"); self::setInfo('load',$this); $info_arr=self::getInfo(); $ob=new Multisuer($info_arr); return $ob; } function loadSettings() { //load setting require_once("settings.php"); self::setInfo('load',$this); $info=$this->getInfo(); $ob=new Settings($info); return $ob; } function loadUnsubscribePage() { $info = self::getInfo(); require_once($info['view_dir']."/do_unsubscribe.php"); } function loadGdpr() { require_once("gdpr.php"); self::setInfo('load',$this); $info=$this->getInfo(); $ob=new Gdprcontrol($info); return $ob; } function loadAutoUpdater() { require_once("autoupdate.php"); $info=$this->getInfo(); $ob=new Autoupdate($info); return $ob; } function loadIntegrations() { $info=self::getInfo(); require_once("integrations.php"); $ob=new Integrations($info); return $ob; } function isProUser() { //type=0 -> elite user //type=1 -> pro user //type=2 -> free user $type = 0; if (function_exists('get_option') && get_option('valid_user_data')) { $data = json_decode(cf_enc(get_option('valid_user_data'), 'decrypt')); // $data->product_permissions='elite'; // echo $data->product_permissions; if (isset($data->product_permissions) && $data->product_permissions == 'pro') { $type = 1; } if (isset($data->product_permissions) && $data->product_permissions == 'free') { $type = 2; } }else{ global $free_version; if($free_version) { $type = 2; }else{ $type = 0; } } return $type; } function loadFourHunderdFour() { $basedir=self::getInfo('base_dir'); if(!cf_dir_exists($basedir)) { $temp_dir=str_replace('\\','/',__FILE__); $basedir=str_replace('/library/library.php','',$temp_dir); } $load_template=(isset($_GET['loadtemplate']))? $_GET['loadtemplate']:get_option('default_404_page_template'); $file=$basedir."/assets/default-404-template/".$load_template."/index.php"; $file=str_replace("//",'/',$file); require_once($file); } function loadUnderConstructionpage() { $basedir1=self::getInfo('base_dir'); if(!cf_dir_exists($basedir1)) { $temp_dir1=str_replace('\\','/',__FILE__); $basedir1=str_replace('/library/library.php','',$temp_dir1); } $load_template = (isset($_GET['load_undertemplate'])) ? $_GET['load_undertemplate'] : get_option('default_under_page_template'); $file1=$basedir1."/assets/under_construction/".$load_template."/index.php"; $file1=str_replace("//",'/',$file1); require_once($file1); } function cloneURL() { require_once("clone_url.php"); self::setInfo('load',$this); $ob=new Clone_url(self::getInfo()); return $ob; } function loadPlugins() { require_once("Plugin.php"); self::setInfo('load',$this); $ob=new Plugin(self::getInfo()); return $ob; } function loadMedia() { require_once('media_control.php'); self::setInfo('load', $this); $ob= new Media_control(self::getInfo()); return $ob; } function loadStreamer() { require_once('stream_control.php'); self::setInfo('load', $this); $ob= new Stream_control(self::getInfo()); return $ob; } function loadMediaBox() { $header =$this->loadVue(); $header .=$this->loadScript('vuex'); $header .=$this->loadScript('request'); $header .=$this->loadStyle('style'); $header .= $this->loadVideoPlayer(); $body="<div id='cf_media_app' style='display:none;'> <media_app v-bind:view='view' use_mode='external'></media_app> </div>"; $footer = $this->loadScript('media_storage'); $footer .=$this->loadScript('media_components/plupload.full.min'); $footer .=$this->loadScript('media_components/app'); $footer .=$this->loadScript('media'); return $header.$body.$footer; } } ?>