⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
local
/
softaculous
/
enduser
/
themes
/
default
/
View File Name :
classes_theme.php
<?php ////////////////////////////////////////////////////////////// //=========================================================== // classes_theme.php //=========================================================== // SOFTACULOUS // Version : 1.1 // Inspired by the DESIRE to be the BEST OF ALL // ---------------------------------------------------------- // Started by: Alons // Date: 10th Jan 2009 // Time: 21:00 hrs // Site: http://www.softaculous.com/ (SOFTACULOUS) // ---------------------------------------------------------- // Please Read the Terms of use at http://www.softaculous.com // ---------------------------------------------------------- //=========================================================== // (c)Softaculous Inc. //=========================================================== ////////////////////////////////////////////////////////////// if(!defined('SOFTACULOUS')){ die('Hacking Attempt'); } function classes_theme(){ global $user, $globals, $l, $theme, $softpanel, $iscripts, $catwise, $error, $scripts; global $software, $cid, $info, $settings, $init_tab, $overwrite_option, $dbs, $installed, $__settings, $setupcontinue, $installations, $notes, $show_installtype, $protocols, $nopackage; // Give the staus if(optGET('ajaxstatus')){ $_status = soft_progress(optGET('ajaxstatus')); $tmp_status = unserialize($_status[1]); $_status[1] = $tmp_status['current_status']; if(!empty($_status)){ echo implode('|', $_status); return true; } // False call echo 0; return false; } //First add the installation info if(empty($installed)){ $random_username = true; // This is to see if a script has predefined username and cannot be changed foreach($settings as $ik => $iv){ if($ik == 'hidden') continue; foreach($iv as $ikk => $ivv){ if($ikk == 'admin_username' && preg_match('/disabled=\"disabled\"/is', $ivv['tag'])){ $random_username = false; } } } $info['install'] = '<div id="fadeout_div"><form accept-charset="'.$globals['charset'].'" name="installsoftware" method="post" action="" onsubmit="return checkform();" id="installsoftware" class="form-horizontal"> '.error_handle($error, "100%", 0, 1).' <script language="javascript" src="'.$theme['url'].'/js/jquery-ui-custom.js?'.$GLOBALS['globals']['version'].'" type="text/javascript"></script> <script language="javascript" type="text/javascript"><!-- // --><![CDATA[ function checkform(dosubmit){ try{ if(!formcheck()){ return false; } }catch(e){ //Do nothing } $_("softsubmitbut").disabled = true; if(!get_package()){ return false; } if(useprog){ // Send a request to check the status progressbar.start(); // Return false so that the form is not submitted return false; // This is OLD School ! }else{ if(dosubmit == 1){ $_("installsoftware").submit(); } show_msg("'.$l['installing'].'"); } return true; }; function toggle_advoptions(){ if ($("#advoptions").is(":hidden")){ $("#advoptions").slideDown("slow"); $("#advoptions_toggle_plus").attr("src", "'.$theme['images'].'minus_new.gif"); } else{ $("#advoptions").slideUp("slow"); $("#advoptions_toggle_plus").attr("src", "'.$theme['images'].'plus_new.gif"); } } function plus_onmouseover(){ $("#plus").attr("src", "'.$theme['images'].'plus_hover.gif"); } function plus_onmouseout(){ $("#plus").attr("src", "'.$theme['images'].'plus.gif"); } var progressbar = { timer: 0, total_width: 0, status_key: "", synctimer: 0, fadeout_div: "#fadeout_div", win_div: "#install_win", progress_div: "#progress_bar", formid: "#installsoftware", frequency: 8000, current: function(){ try{ var tmp_cur = Math.round(parseInt($_("progress_color").width)/parseInt($_("table_progress").width)*100); if(tmp_cur > 100){ tmp_cur = 99; } return tmp_cur; }catch(e){ return -1; } }, reset: function(){ try{ clearTimeout(this.timer); $_("progress_color").width = 1; }catch(e){ }}, move: function(dest, speed, todo){ try{ var cur = this.current(); if(cur < 0){ clearTimeout(this.timer); return false; } var cent = cur + 1; var new_width = cent/100*this.total_width; if(new_width < 1){ new_width = 1; } //alert(new_width+" "+dest+" "+cent); $_("progress_color").width = new_width; $_("progress_percent").innerHTML = "("+cent+" %)"; if(cent < dest){ this.timer = setTimeout("progressbar.move("+dest+", "+speed+")", speed); }else{ eval(todo); } }catch(e){ }}, text: function(txt){ try{ $_("progress_txt").innerHTML = txt; }catch(e){ }}, sync: function(){ if(progressbar.status_key.length < 2){ return false; } $.ajax({ url: window.location+"&ajaxstatus="+progressbar.status_key+"&random="+Math.random(), type: "GET", success: function(data){ if(data == 0) return false; var tmp = data.split("|"); var cur = progressbar.current(); tmp[2] = (3000/(tmp[0]-cur)); //alert(tmp); if(tmp[0] > cur){ if(parseInt(tmp[2]) == 0){ tmp[2] = 800; } progressbar.move(tmp[0], tmp[2]); } progressbar.text(tmp[1]); progressbar.synctimer = setTimeout("progressbar.sync()", progressbar.frequency); } }); }, sync_abort: function(){ clearTimeout(this.synctimer); }, start: function(){ try{ this.post(); this.reset(); this.total_width = parseInt($_("table_progress").width); this.move(95, 800); this.status_key = $("#soft_status_key").attr("value"); this.sync(); }catch(e){ }}, post: function(){ // Scroll to the Top and show the progress bar goto_top(); $(progressbar.fadeout_div).fadeOut(500, function(){ $(progressbar.progress_div).fadeOut(1); $(progressbar.progress_div).fadeIn(500); } ); $.ajax({ url: window.location+"&jsnohf=1", type: "POST", data: $(progressbar.formid).serialize(), complete: function( jqXHR, status, responseText ) { progressbar.sync_abort(); // Store the response as specified by the jqXHR object responseText = jqXHR.responseText; try{ //alert(responseText); if(responseText.match(/\<\!\-\-PROC_DONE\-\-\>/gi)){ progressbar.text("'.addslashes($l['finishing_process']).'"); progressbar.move(99, 10, "$(progressbar.progress_div).fadeOut(1)"); }else{ progressbar.reset(); } }catch(e){ } if ( jqXHR.state() == "resolved" ) { // #4825: Get the actual response in case // a dataFilter is present in ajaxSettings jqXHR.done(function( r ) { responseText = r; }); // Create a dummy div to hold the results // inject the contents of the document in, removing the scripts // to avoid any "Permission Denied" errors in IE var newhtml = jQuery("<div>").append(responseText).find(progressbar.win_div).html(); $(progressbar.win_div).animate({opacity: 0}, 1000, "", function(){ $(progressbar.win_div).html(newhtml); new_theme_funcs_init(); }).delay(50).animate({opacity: 1}, 500); //alert(newhtml); }else{ alert("Oops ... the connection was lost"); } } }); } }; function show_msg(msg){ $_("show_txt").innerHTML = "<br /><br /> "+msg+" <img src=\"'.$theme['images'].'progress.gif\" />"; $_("show_txt").style.display = ""; } // Is the package there ? var nopackage = '.(empty($nopackage) ? 0 : 1).'; // Use the Progress Bar ? var useprog = 1; try{ if(BrowserDetect.browser.toLowerCase() == "safari" && BrowserDetect.version.toString().substr(0, 1) == "3"){ useprog = 0; } }catch(e){ } function get_package(){ if(nopackage){ show_msg("'.$l['downloading'].'"); var csrf_token = $("#csrf_token").val(); try{ $.ajax({ type: "POST", data: "csrf_token="+csrf_token, url: "'.$globals['index'].'act=js&soft='.$cid.'&ajaxdownload=1&random="+Math.random(), // Checking for error success: function(data){ get_package_handle(data); } }); }catch(e){ } return false; }else{ $_("show_txt").style.display = "none"; return true; } }; function get_package_handle(resp){ nopackage = 0; show_msg("'.$l['installing'].'"); checkform(1); }; softemail = new Object(); function softmail(){ try{ var use_eu_email = "'.(!empty($globals['use_eu_email']) ? $globals['use_eu_email'] : 0).'"; if(use_eu_email > 0){ return true; } var sofdom = "softdomain"; for(x in softemail){ if(softemail[x] == true) continue; var temp = $_(x).value.split("@"); $_(x).value = temp[0] + "@" + $_(sofdom).value; } }catch(e){ return false; } }; function change_aefer_path(){ try{ var str = $_("softdomain").value; var apath = ' . json_encode($softpanel->domains) . '; $_("aef_path").innerHTML = $_("aef_span_lang").innerHTML = $_("aef_span_lang_a").innerHTML = apath[str]["path"]+"/"; }catch(e){ return false; } }; $(document).ready(function(){ $("#check_all_classes").on("click", function(event){ if(this.checked == true){ $(".check_all_classes").prop("checked", true); }else{ $(".check_all_classes").prop("checked", false); } }); change_aefer_path(); }); '.(!empty($_POST) ? '' : 'addonload(\'softmail();\');'); $info['install'] .= '// ]]></script>'; $info['install'] .= ' <div class="bg"> <div class="sai_sub_head">'.$l['setup'].'</div><hr>'; if(aefer() || ent()){ $info['install'] .= ' <div class="row"> <div class="col-sm-5"> <label for="softdomain" class="sai_head">'.$l['choose_domain'].'</span><br /> <span class="sai_exp">'.$l['choose_domain_exp'].'</span> </div> <div class="col-sm-7"> <select name="softdomain" id="softdomain" onchange="change_aefer_path();" class="form-control">'; if(!empty($globals['blank_domain'])){ $info['install'] .= '<option value="" '.(empty($_POST['softdomain']) ? 'selected="selected"' : '').'>('.$l['select_domain'].')</option>'; } foreach($softpanel->domainroots as $domain => $dompath){ $info['install'] .= '<option value="'.$domain.'" '.((!empty($_POST['softdomain']) && $_POST['softdomain'] == $domain) ? 'selected="selected"' : '').'>'.$domain.'</option>'; } $info['install'] .= '</select> </div> </div>'; } $info['install'] .= ' <div class="row"> <div class="col-sm-5"> <label for="softdirectory" class="sai_head">'.$l['in_directory'].'</label><br /> <span class="sai_exp2">'. lang_vars((aefer() || ent() ? $l['aef_in_directory_exp'] : $l['in_directory_exp']), array($softpanel->user['homedir'])).'</span> </div> <div class="col-sm-7"> <span id="aef_path">'.$softpanel->user['homedir'].'/</span><br><input type="text" name="softdirectory" id="softdirectory" class="form-control" size="30" value="'.POSTval('softdirectory', $software['softname']).'" /> </div> </div>'; $info['install'] .= ' </div><br /><!--end of bg class-->'; if(!empty($settings)){ if(file_exists($software['path'].'/install.js')){ $info['install'] .= '<script language="javascript" type="text/javascript"><!--// --><![CDATA['; $info['install'] .= @parselanguages(str_replace('$(', '$_(', file_get_contents($software['path'].'/install.js'))); $info['install'] .= '// ]]></script>'; } foreach($settings as $group => $sets){ if($group == 'hidden') continue; $info['install'] .= ' <div class="bg"> <div class="sai_sub_head">'.$group.'</div><hr>'; foreach($sets as $sk => $sv){ //Adding class to input if(preg_match('/type="text"/is', $sv['tag'])){ $sv['tag'] = preg_replace('/>/is', ' class="form-control">',$sv['tag']); } if(preg_match('/<select/is', $sv['tag'])){ $sv['tag'] = preg_replace('/<select/is', '<select class="form-control"',$sv['tag']); } $info['install'] .= ' <div class="row"> <div class="col-sm-5"> <label for='.$sk.' class="sai_head" id="sai_head">'.$sv['head'].'</label> '.(empty($sv['exp']) ? '' : '<span class="sai_exp">'.$sv['exp'].'</span>').' </div> '.(preg_match('/admin_pass|softpass/is', $sv['tag']) ? preg_replace('/>|\/>/is',' onkeyup="check_pass_strength();" >', ' <div class="col-sm-6">'.$sv['tag'].'</div>') :'<div class="col-sm-7 ">'.$sv['tag'].'</div>').' '.(preg_match('/softmail/is', $sv['tag']) ? '<script language="javascript" type="text/javascript"><!-- // --><![CDATA[ softemail["'.$sk.'"] = false; //Add an event handler $_("'.$sk.'").onkeydown = function(){ softemail["'.$sk.'"] = true; } // ]]></script> ' : '').' '.(preg_match('/admin_pass|softpass/is', $sv['tag']) && (!empty($softpanel->securepass) || !empty($globals['random_pass'])) ? ' <script language="javascript" type="text/javascript"><!-- // --><![CDATA[ addonload(\'$_("'.$sk.'").value=randstr(10, 1, '.(!empty($globals['pass_strength']) ? $globals['pass_strength'] : 0).');check_pass_strength();\'); // ]]></script> ' : '').' '.(preg_match('/admin_pass|softpass/is', $sv['tag']) && !empty($globals['empty_pass']) ? ' <script language="javascript" type="text/javascript"><!-- // --><![CDATA[ addonload(\'$_("'.$sk.'").value="";check_pass_strength();\'); // ]]></script> ' : '').' '.(preg_match('/admin_username/is', $sv['tag']) && !empty($globals['random_username']) && !empty($random_username) ? ' <script language="javascript" type="text/javascript"><!-- // --><![CDATA[ addonload(\'$_("'.$sk.'").value=randstr(5);\'); // ]]></script> ' : '').' '.(preg_match('/admin_username/is', $sv['tag']) && !empty($globals['empty_username']) && !empty($random_username) ? ' <script language="javascript" type="text/javascript"><!-- // --><![CDATA[ addonload(\'$_("'.$sk.'").value="";\'); // ]]></script> ' : '').' '.(preg_match('/admin_username/is', $sv['tag']) && !empty($globals['admin_prefix']) && empty($globals['empty_username']) && empty($globals['random_username']) && !empty($random_username) ? '<script language="javascript" type="text/javascript"><!-- // --><![CDATA[ addonload(\'prepend_prefix("'.$globals['admin_prefix'].'");\'); // ]]></script> ' : '').'<!--//Code for admin setting for admin email and admin username--> '.(preg_match('/admin_username/is', $sv['tag']) && !empty($globals['use_eu_username']) && empty($globals['empty_username']) && !empty($random_username) && empty($globals['random_username']) ? ' <script language="javascript" type="text/javascript"><!-- // --><![CDATA[ addonload(\'$_("'.$sk.'").value="'.$softpanel->user['name'].'";\'); // ]]></script> ' : '').' '.(preg_match('/admin_email/is', $sv['tag']) && !empty($globals['use_eu_email']) ? ' <script language="javascript" type="text/javascript"><!-- // --><![CDATA[ $(document).ready(function(){$_("'.$sk.'").value="'.$user['email'].'";}); // ]]></script> ' : '').' </div><br />'; } $info['install'] .= ' </div><br /><!--end of bg class-->'; } //The Hidden groups if(!empty($settings['hidden'])){ foreach($settings['hidden'] as $sk => $sv){ $info['install'] .= $sv['tag'].' '.(preg_match('/softmail/is', $sv['tag']) ? '<script language="javascript" type="text/javascript"><!-- // --><![CDATA[ softemail["'.$sk.'"] = false; //Add an event handler $_("'.$sk.'").onkeydown = function(){ softemail["'.$sk.'"] = true; } // ]]></script> ' : ''); } } }//End of if($settings) //Do not show 'disable update notifications' option if both 'Turn off all Emails sent to endusers' and 'Disable End User Update E-Mails' or either is enabled in Admin Panel if(empty($globals['off_email_link']) && empty($globals['eu_email_off'])){ // Advance option $info['install'] .= ' <div class="bg"> <div class="sai_sub_head" id="advoptions_toggle" onclick="toggle_advoptions(\'advoptions\');" style="cursor:pointer"><img id="advoptions_toggle_plus" src="'.$theme['images'].'plus_new.gif" style="margin-top:-4px;"/> '.$l['adv_option'].'</div> <div id="advoptions" style="display:none;"><hr> <div class="row"> <div class="col-sm-5"> <label class="sai_head">'.$l['disable_notify_update'].'</label> <span class="sai_exp">'.$l['exp_disable_notify_update'].'</span> </div> <div class="col-sm-7"> <input type="checkbox" name="disable_notify_update" id="disable_notify_update" '.POSTchecked('disable_notify_update').' /> </div> </div> </div> </div><!--end of bg--><br /><br />'; } $info['install'] .= ' <p align="center" class="sai_head"> <input type="hidden" name="softsubmit" id="softsubmit" value="'.$l['softsubmit'].'" /> <input type="submit" name="softsubmitbut" id="softsubmitbut" value="'.$l['softsubmit'].'" class="flat-butt" /><span id="show_txt" style="display:none;"></span> <br /><br /><br /> '.(empty($globals['off_email_link']) ? $l['ins_emailto'].' : <input type="text" name="emailto" id="emailto" size="20" value="'.POSTval('emailto', '').'" />' : '').' </p> <input type="hidden" name="soft_status_key" id="soft_status_key" value="'.POSTval('soft_status_key', generateRandStr(32)).'" /> '.csrf_display().' </form></div> <div id="progress_bar" style="height:125px; display: none; width:100%;"> <br /><br /> <center> <font size="4" id="progress_txt" style="width:100%;">'.$l['checking_data'].'</font> <font style="font-size: 18px;font-weight: 400;" width:100%;" id="progress_percent">(0 %)</font><br /><br /> </center> <table width="500" cellpadding="0" cellspacing="0" id="table_progress" border="0" align="center" height="28" style="border:1px solid #CCC; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; width:50%;""> <tr> <td id="progress_color" width="1" style="background-image: url('.$theme['images'].'bar.gif); -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px;"></td> <td id="progress_nocolor"> </td> </tr> </table> </div> <br />'; }elseif(!empty($installed)){ $info['install'] = ' <div class="bg2"> <h4>'.$l['congrats'].'</h4><br /> '.$software['name'].' '.$l['succesful'].' : <br /> <b>'.$__settings['softpath'].'</b> <br /><br /> '.$l['enjoy'].'<br /><br /> '.(!empty($notes) ? $l['install_notes'].' : <br /> <div class="sai_notes">'.softparse($notes, $cid).'</div><br /><br />' : '').' '.$l['please_note'].'<br /><br /> '.$l['regards'].',<br /> '.$l['softinstaller'].'<br /><br /> <center><b><a href="'.$globals['ind'].'act=classes&cid='.$cid.'">'.$l['return'].'</a></b></center><br /><br />'; if(empty($globals['install_tweet_off']) || empty($globals['lictype'])){ $info['install'] .= '<form method="get" action="https://twitter.com/intent/tweet" id="tweet" onsubmit="return dotweet(this);"> <div class="panel panel-info" style="width:55%; margin:0 auto;"> <div class="panel-heading" style="padding:5px; font-size:15px;"> <font><b>'.$l['install_tweet_sub'].' :</b></font> </div> <div class="panel-body"> <div class="row"> <div class="col-sm-10"> <textarea name="text" cols="80" row="3" style="resize:none; width:100%;">'.loadtweetdata('install_tweet', $l['install_tweet_classes']).'</textarea> </div> <div class="col-sm-2"> <input type="submit" value="Tweet!" class="btn btn-info" onsubmit="return false;" id="twitter-btn" style="margin-top:20px;"/> </div> </div> </div> </div> </form>'; } $info['install'] .= ' </div><!--end of bg class--><!--PROC_DONE--> <br /><br /><br /><br /> '; } softheader($l['<title>'].$software['name']); $loadedinfo = array('install', 'overview', 'file', 'reviews', 'ratings'); ?> <script language="JavaScript" src="<?php echo $theme['url'].'/js/tabber.js';?>" type="text/javascript"> </script> <script language="JavaScript" id="ratings_js_file" type="text/javascript"></script> <script language="JavaScript" id="review_js_file" type="text/javascript"></script> <script language="JavaScript" id="reviews_js_file" type="text/javascript"></script> <script language="JavaScript" id="file_js_file" type="text/javascript"></script> <script type="text/javascript"> tabs = new tabber; tabs.tabs = new Array('<?php echo implode('\', \'', $loadedinfo);?>'); tabs.tabwindows = new Array('<?php echo implode('_win\', \'', $loadedinfo);?>_win'); tabs.inittab = <?php echo '\''.$init_tab.'\';';?> addonload('tabs.init();loadraterev();'); function loadraterev(){ $_('ratings_js_file').src = '<?php echo $globals['api_nuphp2'].'rating.php?cid='.$cid.'&user='.$softpanel->user['name'].'&ip='.$_SERVER['SERVER_ADDR'].'&rating=1';?>'; $_('review_js_file').src = '<?php echo $globals['api_nuphp2'].'review.php?cid='.$cid.'&user='.$softpanel->user['name'].'&ip='.$_SERVER['SERVER_ADDR'].'&review=1';?>'; $_('reviews_js_file').src = '<?php echo $globals['api_nuphp2'].'reviews.php?cid='.$cid.'&user='.$softpanel->user['name'].'&timezone='.$globals['timezone'].'&ip='.$_SERVER['SERVER_ADDR'].'&reviews=1';?>'; if(tabs.inittab == 'file'){ filecodeview.loadDirStruct(); } } </script> <?php $url = $theme['images']; $ratings = array(); $deduct = 1; $r = $software['ratings']; for($i_r=1; $i_r<=5; $i_r++){ if($r >= 1){ $ratings[$i_r] = '<img src="'.$url.'star.png'.'" alt="('.number_format($software['ratings'], 2).' out of 5)" />'; }elseif($r > 0){ $ratings[$i_r] = '<img src="'.$url.'halfstar.png'.'" alt="('.number_format($software['ratings'], 2).' out of 5)" />'; }else{ $ratings[$i_r] = '<img src="'.$url.'nostar.png'.'" alt="('.number_format($software['ratings'], 2).' out of 5)" />'; } $r = $r - $deduct; } echo ' <div class="bg"> <div id="currentrating" style="display:none"></div> <div class="row" style="margin-left:-5px;"> <span class="sai_process_heading" colspan="4">'.$software['name'].'</span> </div><br /> <div class="row"> <div class="col-sm-3"><div class="someclass" title="'.$scripts[$k]['ratings'].'">'.implode('', $ratings).'</div></div> <div class="col-sm-4"> '.$l['software_ver'].' : <span class="sai_head"><font size="4">'.$software['version'].'</font></span> <a href="javascript" onclick="notifyversion(); return false;" ><img src="'.$theme['images'].'notify.gif" name="notifyver" title="'.$l['notify_ver'].'" alt="'.$l['notify_ver'].'"></a> </div> <div class="col-sm-3"> '.$l['software_category'].' : <span class="sai_head"><font size="4">'.$l['classes_'.$software['category']].'</font></span> </div> </div><br /> <table width="100%" cellpadding="0" cellspacing="0" border="0" class="sai_tabs"> <tr> <td><a href="javascript:tabs.tab(\'install\')" id="install" class="sai_insbut">'.$l['install'].'</a></td> <td><a href="javascript:tabs.tab(\'overview\')" class="sai_tab" id="overview">'.$l['overview'].'</a></td> <td><a href="javascript:tabs.tab(\'file\'); filecodeview.loadDirStruct();" class="sai_tab" id="file">'.$l['file'].'</a></td> '.(empty($globals['off_rating_link']) ? '<td><a href="javascript:tabs.tab(\'ratings\')" class="sai_tab" id="ratings">'.$l['ratings'].'</a></td>' : '').' '.(empty($globals['off_review_link']) ? '<td><a href="javascript:tabs.tab(\'reviews\')" class="sai_tab" id="reviews">'.$l['reviews'].'</a></td>' : '').' </tr> </table><br />'; ?> <script type="text/javascript"> $_(tabs.inittab).className = tabs.tabbedclass; var softid = <?php echo $cid;?>; tabs.override = function(id){ if(id == 'install'){ $_('install').className = 'sai_insbutclicked'; }else{ $_('install').className = 'sai_insbut'; } }; </script> <?php //Parse and take care of images $info['overview'] = '<table width="100%" cellpadding="8" cellspacing="1" border="0"> <tr> <td valign="top" style="padding:10px;"> '.softparse($info['overview'], $cid).'<br /><br /> <table width="100%" cellpadding="4" cellspacing="1" border="0"> <tr> <td width="52" valign="top" align="center"><font color="#447edf"><i class="fas fa-inbox fa-3x"></i></font></td> <td valign="top"> <span class="sai_head">'.$l['space_req'].'</span><br /> <span class="sai_exp2">'.$l['available_space'].' : '.(is_numeric($softpanel->spaceremain) ? number_format($softpanel->spaceremain/1024/1024, 2) : $softpanel->spaceremain).' '.$l['mb'].'<br /> '.$l['req_space'].' : '.number_format($software['spacereq']/1024/1024, 2).' '.$l['mb'].'</span> </td> </tr> <tr> <td valign="top" align="center"><a href="'.$info['support'].'"><font color="#447edf"><i class="fas fa-question-circle fa-3x"></i></font></a></td> <td valign="top"> <span class="sai_head">'.$l['software_support'].'</span><br /> <span class="sai_exp2"><a href="'.$info['support'].'" target="_blank">'.$l['support_link'].'</a><br /> '.$l['support_note'].'</span> </td> </tr> </table> </td> </tr> </table>'; if(!empty($installations)){ $info['overview'] .= '<br /><br /> <div class="sai_sub_head" align="center">'.$l['current_ins'].'</div><hr>'; $info['overview'] .= '<table border="0" cellpadding="5" cellspacing="0" width="100%" class="table table-hover"> <tr> <thead class="sai_head2" style="background:#333; color:#fff;"> <th><b>'.$l['link'].'</b></th> <th width="180"><b>'.$l['ins_time'].'</b></th> <th width="80"><b>'.$l['version'].'</b></th> <th width="120"><b>'.$l['remove'].'</b></th> <th width="50"><input type="checkbox" id="check_all_classes"></th> <thead> </tr>'; foreach($installations as $ik => $iv){ $info['overview'] .= '<tr> <td>'.$iv['softpath'].'</td> <td width="180">'.datify($iv['itime']).'</td> <td width="80">'.$iv['ver'].($software['ver'] != $iv['ver'] && file_exists($software['path'].'/upgrade.xml') ? ' <a href="'.$globals['ind'].'act=upgrade&cinsid='.$ik.'"><img src="'.$theme['images'].'updates.gif" alt="'.$l['upd_to'].' '.$scripts[$cid]['ver'].'" /></a>' : '').'</td> <td width="120"><a href="'.$globals['ind'].'act=classes_remove&cinsid='.$ik.'" title="'.$l['remove'].'"><img src="'.$theme['images'].'remove.gif" /></a></td> <td width="50"><input type="checkbox" class="check_all_classes" name="insids[]" value="'.$ik.'"></td> </tr>'; } $info['overview'] .= '</table><br /> <p align="right"> '.$l['with_selected'].': <select name="multi_options" id="multi_options"> <option name="todo" id="todo" value="0">---</option> <option name="todo" id="todo" value="mult_rem">'.$l['remove'].'</option> </select> <input type="button" class="sai_graybluebut" value="'.$l['go'].'" onclick="show_confirm()"> <br /> </p> <div id="rem_div"></div> <script language="javascript" type="text/javascript"><!-- // --><![CDATA[ insids = new Array(); removed = new Object(); function show_confirm(){ insids = new Array(); removed = new Object(); if($_("multi_options").value != "mult_rem"){ return false; } // Build the list of Installations to remove var field = document.getElementsByName(\'insids[]\'); insids = new Array(); var c = 0; for(i = 0; i < field.length; i++){ if(field[i].checked == true){ insids[c] = field[i].value; c++; } } //alert(insids); if(c == 0){ alert("'.$l['no_sel_inst'].'"); return false; } var r = confirm("'.$l['del_insid'].'"); if(r != true){ return false; } remove_by_id(insids[0], "", 0); } function remove_by_id(insid, re, oldinsid){ removed[insid] = false; if(re.length > 0 && oldinsid > 0){ if(re == "removed"){ removed[insid] = true; } } nextinsid = 0; // Find the next INSTALLATION to remove for(i = 0; i < insids.length; i++){ if(typeof(removed[insids[i]]) != "undefined"){ continue; } nextinsid = insids[i]; break; } // If there is something left to be removed if(insid != 0){ var csrf_token = $("#csrf_token").val(); try{ $.ajax({ type: "POST", data: "csrf_token="+csrf_token, url: "'.$globals['index'].'act=classes_remove&cinsid="+insid+"&ajax=1&ssk="+randomstring(32)+"&random="+Math.random(), // Checking for error success: function(data){ remove_by_id(nextinsid, data, insid); } }); $_("rem_div").innerHTML = "<br /><br /><p align=\"center\"><img src=\"' . $theme['images'] . 'ajax_remove.gif\"> <br />'.$l['rem_inst_id']. ' ID: " +insid+ "<br /></p>"; return true; }catch(e){ return false; } } $_("rem_div").innerHTML = ""; alert("'.$l['inst_remvd'].'"); location.reload(true); return true; } $(document).ready(function(){ $(".sai_altrowstable tr").mouseover(function(){ var old_class = $(this).attr("class"); //alert(old_class); $(this).attr("class", "sai_tr_bgcolor"); $(this).mouseout(function(){ $(this).attr("class", old_class); }); }); }); // ]]></script>'; } $info['file'] = '<script language="javascript" type="text/javascript"><!-- // --><![CDATA[ var filecodeview = { dir : "", data_obj : '.$software['dirstruct'].', loadDirStruct : function(direction){ var size = new Number(('.$software['zip_size'].'/1024)+"").toFixed(parseInt(2)); size = size+" kb"; var right = "right"; var back_path_div = \'<table border="0" width="100%"><tr><td><a href="javascript:void(0);" onclick="filecodeview.loadDirStruct(\\\'\'+right+\'\\\');" style="font-size:15px;color:#09F;text-decoration:none;">'.$software['name'].'</a> / <div id="back_path" style="display:inline;"></div></td><td align="right" width="33%"><a href="'.$globals['api_nuphp'].'download.php?cid='.$cid.'&file=package" taget="_blank" style="text-decoration:none">'.$l['download_zip'].' (\'+size+\') <img src="'.$theme['images'].'zip.gif" alt="Download" title="Download" height="35px" width="30px"></a></td></tr></table><div id="soft_dir"></div>\'; $("#file_win").html(back_path_div); var soft_dirs = \'<table border="0" cellpadding="10" cellspacing="0" width="100%" class="table table-hover"><th width="50%" class="sai_exp2">'.$l['files'].'</th><th width="25%" class="sai_exp2">'.$l['size'].'</th><th width="25%" class="sai_exp2" colspan="2">'.$l['modified_time'].'</th>\'; var tr_i = 1; $.each(filecodeview.data_obj, function (i, item) { if(tr_i % 2 == 0){ tr_class = "sai_evenrowcolor"; }else{ tr_class = "sai_oddrowcolor"; } var download_td = "<td></td>"; if(item.is_dir == 1){ var file_ext_ico = "dir.png"; }else{ var file_ext_ico = "txt.png"; download_td = \'<td><a href="'.$globals['api_nuphp'].'download.php?cid='.$cid.'&file=\'+i+\'" taget="_blank" style="text_decoration:none";><img src="'.$theme['images'].'downloadbutton.png" alt="Download" title="'.$l['download'].'" height="20px" width="20px"></a></td>\'; } var size = new Number((item.size/1024)+"").toFixed(parseInt(2)); size = size+" kb"; if(item.modified == "" || typeof(item.modified) == "undefined"){ var m_time = "--"; }else{ var m_time = filecodeview.timeConverter(item.modified); } if(i.search("/") <= 0){ var right = "right"; soft_dirs += \'<tr class=\'+tr_class+\'><td><img src="'.$theme['images'].'\'+file_ext_ico+\'" width="20px" height="20px"/> <a href="javascript:void(0)" onclick="filecodeview.show_tree(\\\'\'+i+\'\\\', \\\'\'+right+\'\\\');" style="text-decoration:none;">\'+i+\'</td><td>\'+size+\'</td><td>\'+m_time+\'</td>\'+download_td+\'</tr>\'; tr_i += 1; } });// end of each loop soft_dirs += "</table>"; $("#soft_dir").css("display", "none"); $("#soft_dir").html(soft_dirs); $("#soft_dir").show("slide", {direction : "left"}, 700); $(".sai_altrowstable tr").mouseover(function(){ var old_class = $(this).attr("class"); //alert(old_class); $(this).attr("class", "sai_tr_bgcolor"); $(this).mouseout(function(){ $(this).attr("class", old_class); }); }); }, // End of loadDirStruct show_tree : function(current, direction){ //alert(current); if(filecodeview.data_obj[current].is_dir == 0){ var size = new Number((filecodeview.data_obj[current].size/1024)+"").toFixed(parseInt(2)); size = size+" kb"; download_td = \'<a href="'.$globals['api_nuphp'].'download.php?cid='.$cid.'&file=\'+current+\'" taget="_blank" style="text_decoration:none";><img src="'.$theme['images'].'downloadbutton.png" alt="Download" title="Download" height="20px" width="20px"></a>\'; var soft_file = \'<div style="height:600px;width:100%;"><div style="background-color:#E8E8E8;box-shadow: 0 5px 5px 0 #CCCCCC;text-shadow: 2px 2px 2px #FFFFFF;padding:10px;font-size:13px;">\'+current.substr((current.lastIndexOf("/")+1))+\' <img src="'.$theme['images'].'action_separator.png"> \'+size+\' <img src="'.$theme['images'].'action_separator.png"> \'+download_td+\'</div><iframe src="'.$globals['api_nuphp'].'file_giver.php?cid='.$cid.'&giveinfo=codeview&file=\'+current+\'" width="100%" height="100%" frameborder="0" class="sai_iframe_class" id="filecode"></iframe></div>\'; //$("#soft_dir").css("display", "none"); $("#soft_dir").html(soft_file); $("#soft_dir").show("slide", {direction : "right"}, 700); }else{ var soft_dirs = \'<div id="back_path" ></div><table border="0" cellpadding="10" cellspacing="0" width="100%" class="table table-hover"><tr><th width="50%" class="sai_exp2">'.$l['files'].'</th><th width="25%" class="sai_exp2">'.$l['size'].'</th><th width="25%" class="sai_exp2" colspan="2">'.$l['modified_time'].'</th></tr>\'; var tr_i = 1; $.each(filecodeview.data_obj, function (i, item) { if(tr_i % 2 == 0){ tr_class = "sai_evenrowcolor"; }else{ tr_class = "sai_oddrowcolor"; } var download_td = "<td></td>"; if(item.is_dir == 1){ var file_ext_ico = "dir.png"; }else{ var file_ext_ico = "txt.png"; download_td = \'<td><a href="'.$globals['api_nuphp'].'download.php?cid='.$cid.'&file=\'+i+\'"><img src="'.$theme['images'].'downloadbutton.png" alt="Download" title="Download" height="20px" width="20px"></a></td>\'; } var rgxp = new RegExp("^"+current, "i"); var rgxpnot = new RegExp("^"+current+"/(.*)/(.*)", "gi"); if(i.match(rgxpnot)){ return; } if(i.match(rgxp)){ // This new_i is defined because we are changing the value of i for display purpose var new_i = i; // We are adding / to i bcoz same filename as folder should not be replaced otherwise only extension will be displayed if(item.is_dir == 1){ i = i + "/"; } // If we are not in the directory why should we go ahead right !! if(!i.match(current+"/")) return; i = i.replace(current+"/",""); var size = new Number((item.size/1024)+"").toFixed(parseInt(2)); size = size+" kb"; if(item.modified == "" || typeof(item.modified) == "undefined"){ var m_time = "--"; }else{ var m_time = filecodeview.timeConverter(item.modified); } // Now count the / occured bcoz only the current folder we have to display var count_i = i.split("/"); // For checking the right file to be displayed if((count_i.length) <= 2 && i.length > 0){ var right = "right"; soft_dirs += \'<tr class=\'+tr_class+\'><td><img src="'.$theme['images'].'\'+file_ext_ico+\'" width="20px" height="20px"/> <a href="javascript:void(0)" onclick="filecodeview.show_tree(\\\'\'+new_i+\'\\\', \\\'\'+right+\'\\\');" style="text-decoration:none;">\'+i+\'</td><td>\'+size+\'</td><td>\'+m_time+\'</td>\'+download_td+\'</tr>\'; tr_i += 1; } } });// end of each loop soft_dirs += "</table>"; var seperated_path = new Array(); var new_joined_path = ""; var final_path = ""; if(current.search("/") >= 0){ var new_back_path = current.substr(current.lastIndexOf("/")); seperated_path = current.split("/"); for(var i = 0; i < (seperated_path.length); i++){ if(i>0){ var seperator = "/"; }else{ var seperator = ""; } var left = "left"; new_joined_path += seperator+seperated_path[i]; final_path += \'<a href="javascript:void(0);" onclick="filecodeview.show_tree(\\\'\'+new_joined_path+\'\\\', \\\'\'+left+\'\\\');" style="font-size:16px;color:#09F;text-decoration:none;">\'+seperated_path[i]+\'</a> / \'; } }else{ var left = "left"; var new_back_path = current; final_path += \'<a href="javascript:void(0);" onclick="filecodeview.show_tree(\\\'\'+current+\'\\\', \\\'\'+left+\'\\\');" style="font-size:16px;color:#09F;text-decoration:none;">\'+current+\' </a>\'; } $("#back_path").html(final_path); $("#soft_dir").css("display", "none"); $("#soft_dir").html(soft_dirs); $("#soft_dir").show("slide", {direction : direction}, 700); }// End of else $(".sai_altrowstable tr").mouseover(function(){ var old_class = $(this).attr("class"); //alert(old_class); $(this).attr("class", "sai_tr_bgcolor"); $(this).mouseout(function(){ $(this).attr("class", old_class); }); }); }, //End of show_tree timeConverter : function(timestamp){ var a = new Date(timestamp*1000); var months = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]; var year = a.getFullYear(); var month = months[a.getMonth()]; var date = a.getDate(); var hour = a.getHours(); var min = a.getMinutes(); var sec = a.getSeconds(); var time = date+","+month+" "+year+" "+hour+":"+min+":"+sec ; return time; } };// end of filecodeview // ]]></script>'; $info['ratings'] = ''; $info['reviews'] = '<div id="allreviews"></div>'; foreach($info as $k => $v){ if(in_array($k, array('demo', 'support'))) continue; echo '<div id="'.$k.'_win" style="display: '.($init_tab == $k ? "block" : "none").';"> '.$v.' </div>'; } echo '</div><!--end of bg class-->'; softfooter(); } ?>