View Admin and Init script

This commit is contained in:
Ibnu Maksum
2024-02-19 14:24:34 +07:00
parent ce649220f5
commit ade714e2ae
15 changed files with 377 additions and 378 deletions

View File

@ -19,16 +19,16 @@ class Lang
$key = Lang::sanitize($key);
if (isset($_L[$key])) {
return $_L[$key];
}else if (isset($_L[$key])) {
} else if (isset($_L[$key])) {
return $_L[$key];
} else {
$iso = Lang::getIsoLang()[$config['language']];
if(empty($iso)){
if (empty($iso)) {
return $val;
}
if(!empty($iso) && !empty($val)){
if (!empty($iso) && !empty($val)) {
$temp = Lang::translate($val, $iso);
if(!empty($temp)){
if (!empty($temp)) {
$val = $temp;
}
}
@ -39,14 +39,16 @@ class Lang
}
}
public static function sanitize($str){
public static function sanitize($str)
{
return preg_replace("/[^A-Za-z0-9]/", '_', $str);;
}
public static function getIsoLang(){
public static function getIsoLang()
{
global $isolang;
if(empty($isolang) || count($isolang)==0){
$isolang = json_decode(file_get_contents(File::pathFixer("system/lan/country.json")),true);
if (empty($isolang) || count($isolang) == 0) {
$isolang = json_decode(file_get_contents(File::pathFixer("system/lan/country.json")), true);
}
return $isolang;
}
@ -94,22 +96,35 @@ class Lang
return date($config['date_format'] . ' H:i', strtotime("$date $time"));
}
public static function timeElapsed($time){
$s = $time%60;
$m = floor(($time%3600)/60);
$h = floor(($time%86400)/3600);
$d = floor(($time%2592000)/86400);
$M = floor($time/2592000);
$result = '';
if($M>0){
$result = $M.'m ';
public static function timeElapsed($datetime, $full = false)
{
$now = new DateTime;
$ago = new DateTime($datetime);
$diff = $now->diff($ago);
$diff->w = floor($diff->d / 7);
$diff->d -= $diff->w * 7;
$string = array(
'y' => Lang::T('year'),
'm' => Lang::T('month'),
'w' => Lang::T('week'),
'd' => Lang::T('day'),
'h' => Lang::T('hour'),
'i' => Lang::T('minute'),
's' => Lang::T('second'),
);
foreach ($string as $k => &$v) {
if ($diff->$k) {
$v = $diff->$k . ' ' . $v . ($diff->$k > 1 ? 's' : '');
} else {
unset($string[$k]);
}
if($d>0){
$result .= $d.'d ';
}else if($M>0){
$result .= '0d ';
}
return "$result$h:$m:$s";
}
if (!$full)
$string = array_slice($string, 0, 1);
return $string ? implode(', ', $string) . ' ago' : 'just now';
}
public static function nl2br($text)
@ -143,14 +158,15 @@ class Lang
return ucwords(str_replace('_', ' ', $text));
}
public static function randomUpLowCase($text){
public static function randomUpLowCase($text)
{
$jml = strlen($text);
$result = '';
for($i = 0; $i < $jml;$i++){
if(rand(0,99)%2){
$result .= strtolower(substr($text,$i,1));
}else{
$result .= substr($text,$i,1);
for ($i = 0; $i < $jml; $i++) {
if (rand(0, 99) % 2) {
$result .= strtolower(substr($text, $i, 1));
} else {
$result .= substr($text, $i, 1);
}
}
return $result;
@ -162,52 +178,68 @@ class Lang
* 1 right
* 2 center
* */
public static function pad($text, $pad_string = ' ', $pad_type = 0){
public static function pad($text, $pad_string = ' ', $pad_type = 0)
{
global $config;
$cols = 37;
if($config['printer_cols']){
if ($config['printer_cols']) {
$cols = $config['printer_cols'];
}
$text = trim($text);
$texts = explode("\n", $text);
if(count($texts)>1){
if (count($texts) > 1) {
$text = '';
foreach($texts as $t){
$text.= self::pad(trim($t), $pad_string, $pad_type)."\n";
foreach ($texts as $t) {
$text .= self::pad(trim($t), $pad_string, $pad_type) . "\n";
}
return $text;
}else{
} else {
return str_pad(trim($text), $cols, $pad_string, $pad_type);
}
}
public static function pads($textLeft, $textRight, $pad_string = ' '){
public static function pads($textLeft, $textRight, $pad_string = ' ')
{
global $config;
$cols = 37;
if($config['printer_cols']){
if ($config['printer_cols']) {
$cols = $config['printer_cols'];
}
return $textLeft.str_pad($textRight, $cols-strlen($textLeft), $pad_string, 0);
return $textLeft . str_pad($textRight, $cols - strlen($textLeft), $pad_string, 0);
}
public static function translate($txt, $to='id'){
public static function translate($txt, $to = 'id')
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"https://translate.google.com/m?hl=en&sl=en&tl=$to&ie=UTF-8&prev=_m&q=".urlencode($txt));
curl_setopt($ch, CURLOPT_URL, "https://translate.google.com/m?hl=en&sl=en&tl=$to&ie=UTF-8&prev=_m&q=" . urlencode($txt));
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (iPhone; CPU OS 13_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/28.1 Mobile/15E148 Safari/605.1.15");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt ($ch, CURLOPT_HEADER, 0);
$hasil = curl_exec ($ch);
curl_setopt($ch, CURLOPT_HEADER, 0);
$hasil = curl_exec($ch);
curl_close($ch);
$temp = explode('<div class="result-container">', $hasil);
if(count($temp)>0){
if (count($temp) > 0) {
$temp = explode("</div", $temp[1]);
if(!empty($temp[0])){
if (!empty($temp[0])) {
return $temp[0];
}
}
return $txt;
}
public static function maskText($text){
$len = strlen($text);
if($len < 3){
return "***";
}else if($len<5){
return substr($text,0,1)."***".substr($text,-1,1);
}else if($len<8){
return substr($text,0,2)."***".substr($text,-2,2);
}else{
return substr($text,0,4)."******".substr($text,-3,3);
}
}
}