}
public static function SetObject($key, $var, $expire = 86400) {
return static::Set($key, serialize($var), $expire);
}
public static function SetArray($key, $var, $expire = 86400) {
return static::Set($key, serialize($var), $expire);
}
public static function SetBoolean($key, $var, $expire = 86400) {
return static::Set($key, serialize($var), $expire);
}
public static function Set($key, $var, $expire = 86400) {
App::debugbarLog('debug', "Cache set: $key");
if ($i = static::getInstance()) {
$var = static::beforeSet($var);
return $expire > 0?
$i->setEx($key, $expire, $var) :
$i->set($key, $var);
}
return null;
}
public static function Exists(...$key):?bool {
if ($i = static::getInstance()) {
return $i->exists($key);
}
return null;
}
public static function Expire($key, $ttl) {
if ($i = static::getInstance()) {
return $i->expire($key, $ttl);
}
return false;
}
/**
"MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error."
}
public static function SetObject($key, $var, $expire = 86400) {
return static::Set($key, serialize($var), $expire);
}
public static function SetArray($key, $var, $expire = 86400) {
return static::Set($key, serialize($var), $expire);
}
public static function SetBoolean($key, $var, $expire = 86400) {
return static::Set($key, serialize($var), $expire);
}
public static function Set($key, $var, $expire = 86400) {
App::debugbarLog('debug', "Cache set: $key");
if ($i = static::getInstance()) {
$var = static::beforeSet($var);
return $expire > 0?
$i->setEx($key, $expire, $var) :
$i->set($key, $var);
}
return null;
}
public static function Exists(...$key):?bool {
if ($i = static::getInstance()) {
return $i->exists($key);
}
return null;
}
public static function Expire($key, $ttl) {
if ($i = static::getInstance()) {
return $i->expire($key, $ttl);
}
return false;
}
/**
"6437_8325_99266_2_schema"
86400
""" <script type="application/ld+json">{\n "@context": "http://schema.org",\n "@type": "Menu",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main",\n "mainEntityOfPage": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main",\n "inLanguage": "English",\n "name": "Main",\n "hasMenuSection": [\n {\n "@type": "MenuSection",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte",\n "name": "Sushi and Sashimi a La Carte",\n "hasMenuItem": [\n {\n "@type": "MenuItem",\n "name": " 1. Tuna",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/1-tuna",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": " 2. Toro",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/2-toro",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "5.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": " 3. Yellowtail",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/3-yellowtail",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": " 4. Yellowtail Belly",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/4-yellowtail-belly",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "5. Salmon",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/6-salmon",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "6. Salmon Belly",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/7-salmon-belly",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "7. Smoked Salmon",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/8-smoked-salmon",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "8. Mackerel",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/9-mackerel",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "9. Eel",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/10-eel",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "10. Octopus",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/11-octopus",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "11. Squid",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/12-squid",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "12. Shrimp",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/13-shrimp",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "13. Crab Stick",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/14-crab-stick",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "14. King Crab",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/15-king-crab",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "4.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "15. Salmon Roe",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/18-salmon-roe",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "16. Japanese Red Snapper",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/19-japanese-red-snapper",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "4.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "17. Tobiko",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/21-tobiko",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "18. Scallop",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/22-scallop",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "19. Egg Custard",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/24-egg-custard",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "20. Tofu Skin",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/25-tofu-skin",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "21. Spicy Tuna",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/26-spicy-tuna",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "22. Spicy Salmon",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/27-spicy-salmon",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "23. Quail Egg",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/28-quail-egg",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "1.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n }\n ]\n }\n ]\n }</script> """
if (count($prices) > 1 || $p->getDisplayName() != $i->getDisplayName()) {
$priceJson['eligibleQuantity'] = [
'@type' => 'QuantitativeValue',
'name' => $p->getDisplayName()
];
}
$itemJson['offers'][] = $priceJson;
}
}
$categoryJson['hasMenuItem'][] = $itemJson;
}
}
}
$json['hasMenuSection'][] = $categoryJson;
}
}
$schemaScript = '<script type="application/ld+json">'.json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES).'</script>';
Cache::Set($cacheKey, $schemaScript);
echo $schemaScript;
break;
}
};
$printSchema();
"6437_8325_99266_2_schema"
""" <script type="application/ld+json">{\n "@context": "http://schema.org",\n "@type": "Menu",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main",\n "mainEntityOfPage": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main",\n "inLanguage": "English",\n "name": "Main",\n "hasMenuSection": [\n {\n "@type": "MenuSection",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte",\n "name": "Sushi and Sashimi a La Carte",\n "hasMenuItem": [\n {\n "@type": "MenuItem",\n "name": " 1. Tuna",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/1-tuna",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": " 2. Toro",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/2-toro",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "5.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": " 3. Yellowtail",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/3-yellowtail",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": " 4. Yellowtail Belly",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/4-yellowtail-belly",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "5. Salmon",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/6-salmon",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "6. Salmon Belly",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/7-salmon-belly",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "7. Smoked Salmon",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/8-smoked-salmon",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "8. Mackerel",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/9-mackerel",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "9. Eel",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/10-eel",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "10. Octopus",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/11-octopus",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "11. Squid",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/12-squid",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "12. Shrimp",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/13-shrimp",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "13. Crab Stick",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/14-crab-stick",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "14. King Crab",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/15-king-crab",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "4.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "15. Salmon Roe",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/18-salmon-roe",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "16. Japanese Red Snapper",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/19-japanese-red-snapper",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "4.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "17. Tobiko",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/21-tobiko",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.50",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "18. Scallop",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/22-scallop",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "19. Egg Custard",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/24-egg-custard",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "20. Tofu Skin",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/25-tofu-skin",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "2.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "21. Spicy Tuna",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/26-spicy-tuna",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "22. Spicy Salmon",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/27-spicy-salmon",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "3.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n },\n {\n "@type": "MenuItem",\n "name": "23. Quail Egg",\n "url": "https://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte/28-quail-egg",\n "description": "Maguro.",\n "offers": [\n {\n "@type": "Offer",\n "price": "1.00",\n "priceCurrency": "USD",\n "eligibleQuantity": {\n "@type": "QuantitativeValue",\n "name": "."\n }\n }\n ]\n }\n ]\n }\n ]\n }</script> """
}
$itemJson['offers'][] = $priceJson;
}
}
$categoryJson['hasMenuItem'][] = $itemJson;
}
}
}
$json['hasMenuSection'][] = $categoryJson;
}
}
$schemaScript = '<script type="application/ld+json">'.json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES).'</script>';
Cache::Set($cacheKey, $schemaScript);
echo $schemaScript;
break;
}
};
$printSchema();
}
if (count($unavail) > 0) {
echo '<style type="text/css">'.join(', ', $unavail).' {display:none !important;}</style>';
echo '<script type="text/javascript">window.UNAVAILABLE_MENU_IDS = '.JE($unavailable_menu_ids).'</script>';
}
} ?>
<script type="text/javascript">
var UrlTag = <?=JE((isSpringroll()?'restaurant/':'').(isset($account) ? $account->url_tag : ''))?>;
var template = '<?=$templateName?>';
var formname = '<?=urlencode($_REQUEST['form'])?>';
var menulink = '<?=!isMarketplace()?formatCustomerOrderLink([$restaurant, $menu]):''?>';
var checkoutlink = '<?=formatCustomerLink('checkout')?>';
</script>
<script>
/* http://writing.colin-gourlay.com/safely-using-ready-before-including-jquery/ */
(function(w,d,u){w.readyQ=[];w.bindReadyQ=[];function p(x,y){if(x=="ready"){w.bindReadyQ.push(y);}else{w.readyQ.push(x);}};var a={ready:p,bind:p};w.$=w.jQuery=function(f){if(f===d||f===u){return a}else{p(f)}}})(window,document)
</script>
<? include_once(CORE_PATH . 'templates3.0/customer/schema.php');
include_once(CORE_PATH . 'templates4.0/customer/google_analytics.php');
if (isset($account) && $account->getFacebookPixelId()) { ?>
<!-- Facebook Pixel Code -->
<script>
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
document,'script','https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '<?=$account->getFacebookPixelId()?>');
fbq('track', 'PageView');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=<?=$account->getFacebookPixelId()?>&ev=PageView&noscript=1"
/></noscript>
<!-- DO NOT MODIFY -->
<!-- End Facebook Pixel Code -->
<? }
"/home/deploy/EHungry-3-boyan/Web/templates3.0/customer/schema.php"
}
if (!isset($cart) || !is_object($cart)) {
$GLOBALS['cart'] = \Cart::getCurrent();
}
//unset callback data in the event someone didn't hit the callback validation page
if (!in_array($_REQUEST['form'], ['checkout', 'nosuchpage', 'validatecallback', 'viewdeliveryzone'])) {
//TODO: probably need to add one more form here that is called ajax, callback seems to reset when it shouldnt
unset($_SESSION['validation_data']);
}
$locs = $account->getActiveRestaurants('position');
$tab = MainNavigationTab::getAllForAccount($account->getId());
include_once(CORE_PATH.'lib/helpers/customer3.0.php');
if (!in_array($_REQUEST['form'], $viewContentOnly)) {
App::debugbarTime('header');
include_once(getLayoutPartPath('header'));
App::debugbarTime('header');
}
App::debugbarTime("view '{$_REQUEST['form']}'");
$path = CORE_PATH.'view' . ($_REQUEST['_VERSION'] == 4 ? 4 : 3) . '.0/customer/'.$_REQUEST['form'].'.php';
if (is_readable($path)) {
include_once($path);
}
App::debugbarTime("view '{$_REQUEST['form']}'");
if (!in_array($_REQUEST['form'], $viewContentOnly)) {
App::debugbarTime('footer');
include_once(getLayoutPartPath('footer'));
App::debugbarTime('footer');
}
function getLayoutPartPath($part) {
if (isset($_REQUEST['_CORDOVA_APP'])) {
$cart = Cart::getCurrent();
"/home/deploy/EHungry-3-boyan/Web/templates4.0/customer/header.php"
App::startTime();
ErrorHandlers::register();
// Global.php is the core setup file for the application
App::debugbarTime('Global.php');
require(dirname(__DIR__) . '/PHP/Global.php');
App::debugbarTime('Global.php');
/** @var string $controller The main controller - defined at /PHP/Global.php */
App::debugbarTime('Sentry - controller');
ErrorHandlers::sentryInit($controller); //doesn't always do much - not every controller has a Sentry project
App::debugbarTime('Sentry - controller');
App::debugbarTime("controller: $controller");
apache_note('AppController', $controller);
if (file_exists(CORE_PATH."lib/helpers/$controller.php")) {
require CORE_PATH."lib/helpers/$controller.php";
}
require CORE_PATH."controllers/$controller.php";
App::debugbarTime("controller: $controller");
"/home/deploy/EHungry-3-boyan/Web/controllers/customer.php"
| Key | Value |
| aid | "restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte"
|
| Key | Value |
| PHPSESSID | "j9k9ffdb17c29qqjilm25h7nlt"
|
| Key | Value |
| loc | "en_US"
|
| customer_account_id | 5798
|
| cart | Cart {}
|
| restaurant_id | 6437
|
| status | array:2 [ 1 => [] 2 => [] ] |
| app_banner_shown | true
|
| redirect_form | "checkout"
|
| menu_id | 8325
|
| Key | Value |
| UNIQUE_ID | "aTV4JPjF7-wGToQjeV3CWgAAABA"
|
| SCRIPT_URL | "/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte"
|
| SCRIPT_URI | "http://www.springroll.com.3.boyan.ehungry.net/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte"
|
| HTTP_HOST | "www.springroll.com.3.boyan.ehungry.net"
|
| HTTP_X_REAL_IP | "216.73.216.186"
|
| HTTP_X_FORWARDED_FOR | "216.73.216.186"
|
| HTTP_X_CONFKEY | "Main_Domain:6462"
|
| HTTP_SCHEME | "https"
|
| HTTP_EHENV | "TODO"
|
| HTTP_CONNECTION | "close"
|
| HTTP_ACCEPT | "*/*"
|
| HTTP_USER_AGENT | "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
|
| HTTP_ACCEPT_ENCODING | "gzip, br, zstd, deflate"
|
| HTTP_COOKIE | "PHPSESSID=j9k9ffdb17c29qqjilm25h7nlt"
|
| PATH | "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
|
| SERVER_SIGNATURE | "" |
| SERVER_SOFTWARE | "Apache/2.4.62 () mod_wsgi/4.6.5 Python/3.7 PHP/7.2.34"
|
| SERVER_NAME | "www.springroll.com.3.boyan.ehungry.net"
|
| SERVER_ADDR | "127.0.0.1"
|
| SERVER_PORT | "80"
|
| REMOTE_ADDR | "127.0.0.1"
|
| DOCUMENT_ROOT | "/home/deploy/EHungry-3-boyan/Web"
|
| REQUEST_SCHEME | "http"
|
| CONTEXT_PREFIX | "" |
| CONTEXT_DOCUMENT_ROOT | "/home/deploy/EHungry-3-boyan/Web"
|
| SERVER_ADMIN | "root@localhost"
|
| SCRIPT_FILENAME | "/home/deploy/EHungry-3-boyan/Web/index.php"
|
| REMOTE_PORT | "33640"
|
| GATEWAY_INTERFACE | "CGI/1.1"
|
| SERVER_PROTOCOL | "HTTP/1.0"
|
| REQUEST_METHOD | "GET"
|
| QUERY_STRING | "aid=restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte"
|
| REQUEST_URI | "/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte"
|
| SCRIPT_NAME | "/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte"
|
| PHP_SELF | "/restaurant/asiantokyobronx/order/main/sushi-and-sashimi-a-la-carte"
|
| REQUEST_TIME_FLOAT | 1765111844.776
|
| REQUEST_TIME | 1765111844
|