PNG  IHDR pHYs   OiCCPPhotoshop ICC profilexڝSgTS=BKKoR RB&*! J!QEEȠQ, !{kּ> H3Q5 B.@ $pd!s#~<<+"x M0B\t8K@zB@F&S`cbP-`'{[! eDh;VEX0fK9-0IWfH  0Q){`##xFW<+*x<$9E[-qWW.(I+6aa@.y24x6_-"bbϫp@t~,/;m%h^ uf@Wp~<5j>{-]cK'Xto(hw?G%fIq^D$.Tʳ?D*A, `6B$BB dr`)B(Ͱ*`/@4Qhp.U=pa( Aa!ڈbX#!H$ ɈQ"K5H1RT UH=r9\F;2G1Q= C7F dt1r=6Ыhڏ>C03l0.B8, c˱" VcϱwE 6wB aAHXLXNH $4 7 Q'"K&b21XH,#/{C7$C2'ITFnR#,4H#dk9, +ȅ3![ b@qS(RjJ4e2AURݨT5ZBRQ4u9̓IKhhitݕNWGw Ljg(gwLӋT071oUX**| J&*/Tު UUT^S}FU3S ԖUPSSg;goT?~YYLOCQ_ cx,!k u5&|v*=9C3J3WRf?qtN (~))4L1e\kXHQG6EYAJ'\'GgSSݧ M=:.kDwn^Loy}/TmG X $ <5qo</QC]@Caaᄑ.ȽJtq]zۯ6iܟ4)Y3sCQ? 0k߬~OCOg#/c/Wװwa>>r><72Y_7ȷOo_C#dz%gA[z|!?:eAAA!h쐭!ΑiP~aa~ 'W?pX15wCsDDDޛg1O9-J5*>.j<74?.fYXXIlK9.*6nl {/]py.,:@LN8A*%w% yg"/6шC\*NH*Mz쑼5y$3,幄'L Lݛ:v m2=:1qB!Mggfvˬen/kY- BTZ(*geWf͉9+̳ې7ᒶKW-X潬j9(xoʿܔĹdff-[n ڴ VE/(ۻCɾUUMfeI?m]Nmq#׹=TR+Gw- 6 U#pDy  :v{vg/jBFS[b[O>zG499?rCd&ˮ/~јѡ򗓿m|x31^VwwO| (hSЧc3- cHRMz%u0`:o_F@8N ' p @8N@8}' p '#@8N@8N pQ9p!i~}|6-ӪG` VP.@*j>[ K^<֐Z]@8N'KQ<Q(`s" 'hgpKB`R@Dqj '  'P$a ( `D$Na L?u80e J,K˷NI'0eݷ(NI'؀ 2ipIIKp`:O'`ʤxB8Ѥx Ѥx $ $P6 :vRNb 'p,>NB 'P]-->P T+*^h& p '‰a ‰ (ĵt#u33;Nt̵'ޯ; [3W ~]0KH1q@8]O2]3*̧7# *p>us p _6]/}-4|t'|Smx= DoʾM×M_8!)6lq':l7!|4} '\ne t!=hnLn (~Dn\+‰_4k)0e@OhZ`F `.m1} 'vp{F`ON7Srx 'D˸nV`><;yMx!IS钦OM)Ե٥x 'DSD6bS8!" ODz#R >S8!7ّxEh0m$MIPHi$IvS8IN$I p$O8I,sk&I)$IN$Hi$I^Ah.p$MIN$IR8I·N "IF9Ah0m$MIN$IR8IN$I 3jIU;kO$ɳN$+ q.x* tEXtComment

Viewing File: /home/u456810272/domains/globalsoftech.org.in/public_html/lms/application/controllers/Sitemap.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Sitemap extends CI_Controller {

    public function __construct()
    {
        parent::__construct();
        $this->load->helper('url'); // Load URL helper for creating URLs
        date_default_timezone_set(get_settings('timezone'));

        // Your own constructor code
        $this->load->database();
        $this->load->library('session');
        /*cache control*/
        $this->output->set_header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
        $this->output->set_header('Pragma: no-cache');

        //Check custom session data
        $this->user_model->check_session_data();
    }

    public function index()
    {
        $sitemap = get_settings('sitemap_xml');
        $routes = json_decode($sitemap, true);

        // Construct URLs for each blog
        $static_route_url_array = array();
        foreach ($routes as $url) {
            $static_route_url_array[] = base_url(htmlspecialchars($url));
        }

        // Fetching data for blogs, blog categories, courses, and categories
        $blogs = $this->crud_model->get_all_blogs()->result_array();
        $blog_categories = $this->crud_model->get_blog_categories()->result_array();
        $courses = $this->crud_model->get_courses()->result_array();
        $categories = $this->crud_model->get_categories()->result_array();

        // Construct URLs for each blog
        $blog_url_array = array();
        foreach ($blogs as $blog) {
            $slug = slugify($blog['title']);
            $blog_id = $blog['blog_id'];
            $url = base_url("blog/details/$slug/$blog_id");
            $blog_url_array[] = $url;
        }

        // Construct URLs for each blog category
        $blog_category_url_array = array();
        foreach ($blog_categories as $blog_category) {
            $slug = $blog_category['slug'];
            $url = base_url("blogs?category=$slug");
            $blog_category_url_array[] = $url;
        }

        // Construct URLs for each category
        $category_url_array = array();
        foreach ($categories as $category) {
            $slug = $category['slug'];
            $url = base_url("home/courses?category=$slug");
            $category_url_array[] = $url;

            // Retrieve subcategories for the current category using its ID
            $sub_categories = $this->crud_model->get_sub_categories($category['id']);

            foreach ($sub_categories as $sub_category) {
                $sub_slug = $sub_category['slug'];
                $sub_url = base_url("home/courses?category=$sub_slug");
                $category_url_array[] = $sub_url;
            }
        }

        // Construct URLs for each course
        $course_url_array = array();
        foreach ($courses as $course) {
            $slug = slugify($course['title']);
            $course_id = $course['id'];
            $url = base_url("home/course/$slug/$course_id");
            $course_url_array[] = $url;
        }

        $ebook_url_array = array();

        if (addon_status('ebook')) {

            $ebooks = $this->db->get('ebook', array('is_active', 1))->result_array();

            foreach ($ebooks as $ebook) {
                $slug = slugify($ebook['title']);
                $ebook_id = $ebook['ebook_id'];
                $url = base_url("ebook/ebook_details/$slug/$ebook_id");
                $ebook_url_array[] = $url;
            }
        }

        $course_bundle_url_array = array();

        if (addon_status('course_bundle')) {
            $course_bundles = $this->db->get('course_bundle', array('status', 1))->result_array();

            foreach ($course_bundles as $bundle) {
                $slug = slugify($bundle['title']);
                $bundle_id = $bundle['id'];
                $url = base_url("bundle_details/$bundle_id/$slug");
                $course_bundle_url_array[] = $url;
            }
        }

        $bootcamp_url_array = array();
        if (addon_status('bootcamp')) {
            $bootcamps = $this->db->get('bootcamp')->result_array();

            foreach ($bootcamps as $bootcamp) {
                $bootcamp_id = $bootcamp['id'];
                $url = base_url("addons/bootcamp/details/$bootcamp_id");
                $bootcamp_url_array[] = $url;
            }
        }

        // Combine all the URLs
        $all_urls = array_merge(
            $static_route_url_array,
            $blog_url_array,
            $blog_category_url_array,
            $category_url_array,
            $course_url_array,
            $ebook_url_array,
            $course_bundle_url_array,
            $bootcamp_url_array
        );

        // Generate the sitemap XML content
        header("Content-Type: application/xml");

        $xml = new SimpleXMLElement('<?xml version="1.0" encoding="UTF-8"?><urlset></urlset>');

        foreach ($all_urls as $url) {
            $urlNode = $xml->addChild('url');
            $urlNode->addChild('loc', $url);
            $urlNode->addChild('changefreq', 'monthly');
            $urlNode->addChild('priority', '0.8');
        }

        // Output the generated XML
        echo $xml->asXML();
    }
}
Back to Directory=ceiIENDB`