/** * Updates slug_name column of restaurants * * @throws \Exception */ public function updateRestaurantSlugName() { try { $restaurants = $this->orderBy('id', 'ASC')->get(); $franchise_restaurants = array(); foreach ($restaurants as $restaurant) { $rest = $this->where('name', $restaurant->name)->get(); $rest_count = $rest->count(); if ($rest_count >= 2) { $franchise_restaurants[] = $restaurant; continue; } elseif ($rest_count <= 1) { $slug_name = getSlugName($restaurant->name); $restaurant->slug_name = $slug_name; $restaurant->save(); } $slug_name = ''; } if ($franchise_restaurants) { $franchise_restaurants_tmp = array(); foreach ($franchise_restaurants as $franchise_restaurant) { $franchise_restaurants_tmp[$franchise_restaurant->name][] = $franchise_restaurant; } $franchise_restaurants = $franchise_restaurants_tmp; unset($franchise_restaurants_tmp); foreach ($franchise_restaurants as $franchise_restaurant) { $count = 1; foreach ($franchise_restaurant as $fr) { $slug_name = getSlugName($fr->name); if ($count > 1) { $slug_name = $slug_name . '-' . $count; } if (!$fr->slug_name) { $fr->slug_name = $slug_name; $fr->save(); } $count = $count + 1; } } } } catch (\Exception $e) { throw $e; } }
public function removeTrashed() { global $app; $params = $app->router()->getCurrentRoute()->getParams(); $id = $params['param']; $data = MetaDataWriter::getFileData($this->metaFile); // sort posts by latest first $dates = array(); foreach ($data as $key => $value) { $dates[] = strtotime($value['dated']); } array_multisort($dates, SORT_DESC, SORT_NUMERIC, $data); // remove post from disk $postPath = 'public/post/' . getSlugName($data[$id]['title']); @rrmdir($postPath); unset($data[$id]); MetaDataWriter::writeData($this->metaFile, $data); $app->flash('info', 'Restored Successfully'); $app->redirect($_SERVER['HTTP_REFERER']); }
protected function generateSitemap($data) { $newline = PHP_EOL; $sitemap = <<<SITEMAP <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">{$newline} SITEMAP; // for posts foreach ($data['posts'] as $post) { $postURL = $data['settings']['url']; $postURL = rtrim($postURL, '/'); $postURL .= '/post/' . getSlugName($post['title']); $datetime = new \DateTime($post['dated']); $lastmod = $datetime->format('Y-m-d\\TH:i:sP'); $sitemap .= '<url>' . $newline; $sitemap .= '<loc>' . $postURL . '/</loc>' . $newline; $sitemap .= '<lastmod>' . $lastmod . '</lastmod>' . $newline; $sitemap .= '<changefreq>daily</changefreq>' . $newline; $sitemap .= '<priority>1.00</priority>' . $newline; $sitemap .= '</url>' . $newline; } // for pages foreach ($data['pages'] as $page) { $pageURL = $data['settings']['url']; $pageURL = rtrim($pageURL, '/'); $pageURL .= '/page/' . getSlugName($page['title']); $sitemap .= '<url>' . $newline; $sitemap .= '<loc>' . $pageURL . '/</loc>' . $newline; $sitemap .= '<changefreq>weekly</changefreq>' . $newline; $sitemap .= '<priority>1.00</priority>' . $newline; $sitemap .= '</url>' . $newline; } $sitemap .= '</urlset>'; file_put_contents($this->publicDir . 'sitemap.xml', $sitemap) or die('error writing sitemap file!'); }
public function remove() { global $app; $params = $app->router()->getCurrentRoute()->getParams(); $id = $params['param']; $data = MetaDataWriter::getFileData($this->metaFile); // remove page from disk $pagePath = 'public/page/' . getSlugName($data[$id]['title']); @rrmdir($pagePath); unset($data[$id]); MetaDataWriter::writeData($this->metaFile, $data); $app->flash('info', 'Deleted Successfully'); $app->redirect($_SERVER['HTTP_REFERER']); }