public static function getSub($path = '') { if ($path) { $path .= '/'; } $dirs = glob(self::PREFIX . $path . '*', GLOB_ONLYDIR); if (!$dirs) { return array(); } foreach ($dirs as $k => $v) { $v = str_replace(self::PREFIX, '', $v); $dirs[$k] = Category::get($v); } return sortByName($dirs); }
/** * This Function checks GET parameter or If Cookie exists, and realizes correspondent scenario (shows current user's choice) */ function checkGetParameter() { if (isset($_GET['sort'])) { $sortBy = $_GET['sort']; //echo "сейчас сработал GET<br>".$sortBy; // проверка switch ($sortBy) { case 'name': setcookie("sort", "name", time() + 3600, "source-it.me/day-6/"); $product_info = sortByName(getProductInfo()); break; case 'cheap': setcookie("sort", "cheap", time() + 3600, "source-it.me/day-6/"); $product_info = sortByPriceAsc(getProductInfo()); break; case 'expensive': setcookie("sort", "expensive", time() + 3600, "source-it.me/day-6/"); $product_info = sortByPriceDes(getProductInfo()); break; } exit; } if (isset($_COOKIE['sort'])) { $sortBy = $_COOKIE['sort']; //echo "сейчас сработал cookie<br>".$sortBy; // проверка if ($sortBy == "name") { $product_info = sortByName(getProductInfo()); exit; } elseif ($sortBy == "cheap") { $product_info = sortByPriceAsc(getProductInfo()); exit; } elseif ($sortBy == "expensive") { $product_info = sortByPriceDes(getProductInfo()); exit; } } if (!isset($sortBy)) { // default sorting - by name $product_info = sortByName(getProductInfo()); } }
</form> <?php $catalog = __DIR__ . "/products/enabled/"; //read files from catalog and create array with content files $array = readProductsFromCatalog($catalog); //sort and show switch ($sortDirection) { case 1: sortByPrice($array, $sortDirection); break; case 2: sortByPrice($array, $sortDirection); break; case 3: sortByName($array, $sortDirection); break; default: break; } foreach ($array as $value) { echo "<div>"; echo "Product " . $value['name'] . "<br>"; if ($value['special_price'] != 0) { echo "<strike>Price " . $value['price'] . "</strike> Special price " . $value['special_price'] . "<br>"; } else { echo "Price " . $value['price'] . "<br>"; } echo "<img src=\"{$value['image_url']}\"><br><br>"; echo "</div>"; }
require_once __DIR__ . DIRECTORY_SEPARATOR . 'bootstrap.php'; try { $args = PFXUtils::collapseArgs(array('f', 'h'), array('force-refresh', 'help')); $ga = new Google\Analytics\API(); if ($args['force-refresh']) { $ga->clearAccountCache(); } $accounts = $ga->getAccountSummaries(); sortByName($accounts); foreach ($accounts as $account) { printf("(account:%s) %s:\n", $account->getID(), $account->getName()); $webProperties = $account->getWebPropertySummaries(); sortByName($webProperties); foreach ($webProperties as $webProperty) { printf("\t(web property:%s) (%s) %s:\n", $webProperty->getID(), $webProperty->getName(), $webProperty->getURL()); $profiles = $webProperty->getProfileSummaries(); sortByName($profiles); foreach ($profiles as $profile) { printf("\t\t(profile:%s) %s\n", $profile->getID(), $profile->getName()); } } } } catch (Exception $e) { echo PFXUtils::buildExceptionTrace($e) . "\n"; } function sortByName(&$arr) { usort($arr, function ($a, $b) { return strcasecmp($a->getName(), $b->getName()); }); }
/** * Вернуть отсортированный список объектов-подкаталогов по пути */ public static function getSub($path = '') { if ($path) { $path .= '/'; } $dirs = glob(data_directory() . '/' . $path . '*', GLOB_ONLYDIR); if (!$dirs) { return []; } return sortByName(array_map(function ($pth) { return new Category(str_replace(data_directory() . '/', '', $pth)); }, $dirs)); }