ÿØÿàJFIFÿÛ„ ( %"1"%)+...383,7(-.- 404 Not Found
Sh3ll
OdayForums


Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20
System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64
User : apache ( 48)
PHP Version : 7.4.20
Disable Function : NONE
Directory :  /proc/self/root/var/www/html/tien-dien/layout/visahp/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/var/www/html/tien-dien/layout/visahp/test_menu.php
<?php
/**
 * Kiểm tra xem một danh mục (dựa trên slug) có phải là danh mục sản phẩm gốc
 * HOẶC là con cháu của danh mục sản phẩm gốc hay không.
 *
 * @param array $all_categories Mảng chứa tất cả các mục menu.
 *                              Mỗi mục menu con phải có ít nhất 'menus_id', 'menus_fname', 'menus_parentid'.
 * @param string $current_category_slug Slug của danh mục hiện tại cần kiểm tra.
 * @param int $product_root_id ID của danh mục cha gốc (ví dụ: ID của "Sản phẩm").
 * @return bool True nếu là danh mục sản phẩm gốc hoặc là con cháu, False nếu không phải hoặc không tìm thấy.
 */
function isDescendantOfProductCategory($all_categories, $current_category_slug, $product_root_id)
{
    if (empty($all_categories) || !is_array($all_categories) || empty($current_category_slug)) {
        return false;
    }

    $currentItem = null;
    // Tìm mục menu hiện tại dựa trên slug
    foreach ($all_categories as $category) {
        if (isset($category['menus_fname']) && $category['menus_fname'] == $current_category_slug) {
            $currentItem = $category;
            break;
        }
    }

    // Nếu không tìm thấy slug hiện tại trong danh sách
    if ($currentItem === null) {
        return false;
    }

    // Nếu slug hiện tại chính là danh mục gốc "Sản phẩm"
    if (isset($currentItem['menus_id']) && $currentItem['menus_id'] == $product_root_id) {
        return true; // Sửa đổi: Trả vỠtrue nếu là chính danh mục sản phẩm
    }

    // Bắt đầu truy ngược lên cây danh mục từ mục hiện tại
    $parentId = $currentItem['menus_parentid'] ?? 0;

    // Lặp cho đến khi lên đến cấp gốc (parentid = 0)
    while ($parentId != 0) {
        // Nếu tìm thấy ID của danh mục "Sản phẩm" trong chuỗi cha
        if ($parentId == $product_root_id) {
            return true;
        }

        // Tìm mục cha trong mảng $all_categories
        $parentItem = null;
        foreach ($all_categories as $category) {
            if (isset($category['menus_id']) && $category['menus_id'] == $parentId) {
                $parentItem = $category;
                break;
            }
        }

        // Nếu không tìm thấy mục cha (có thể do dữ liệu không nhất quán)
        if ($parentItem === null) {
            return false;
        }

        // Di chuyển lên cấp cha tiếp theo
        $parentId = $parentItem['menus_parentid'] ?? 0;
    }

    // Nếu đã duyệt hết lên cấp gốc mà không tìm thấy $product_root_id
    return false;
}

?>

ZeroDay Forums Mini