/**
  * executes subscriptions list mahara
  *
  * @param sfWebRequest $request_object
  * @param returns products details along with courses.
  * gets values from get method
  */
 public function executeSubscriptions(sfWebRequest $request)
 {
     global $CFG;
     $CFG->current_app->requireMahara();
     $this->params = $request->getGetParameters();
     $this->course = false;
     $this->current_app_short_name = $CFG->current_app->getShortName();
     // gets all available schools
     /* 		$eschool_array = array();
     		$catalog_courses_count = array();
     		foreach($CFG->current_app->getMnetEschools() as $eschool) {
     			//if (GcrEschoolTable::authorizeEschoolAccess($eschool, true)) {
     				$eschool_array[$eschool->getFullName()] = $eschool;
     			//}
     		} 
     		ksort($eschool_array);
     		// gets catalog-wise courses count
     		foreach($eschool_array as $eschool) {
     			//$catalog_courses_count[$eschool->getShortName()] = $eschool->getFullName();
     			$ctlg_courses_list = $this->getHTMLCoursesCount($eschool->getShortName());
     			$catalog_courses_count[$eschool->getShortName()] = $ctlg_courses_list;
     		}
     		$this->catalog_courses_count = $catalog_courses_count; */
     // gets subscriptions products
     $products = GcrProductsTable::getProductLibraries($this->current_app_short_name);
     //$ins_prod_orders = GcrInstitutionProductOrdersTable::get_orders("lcrcconline", "microsoft", 6);
     $products_list = array();
     $products_list_institution = array();
     $products_details = array();
     foreach ($products as $product) {
         $products_list[$product->getShortName()] = $product->getFullName();
         $products_list_institution[$product->getShortName()] = $product->getInstitutionShortName();
         $products_details[$product->getShortName()]["id"] = $product->getId();
         $products_details[$product->getShortName()]["short_name"] = $product->getShortName();
         $products_details[$product->getShortName()]["full_name"] = $product->getFullName();
         $products_details[$product->getShortName()]["institution_short_name"] = $product->getInstitutionShortName();
         $products_details[$product->getShortName()]["description"] = $product->getDescription();
         $products_details[$product->getShortName()]["cost"] = $product->getCost();
         $products_details[$product->getShortName()]["pricing_html"] = $product->getPricingHtml();
         $products_details[$product->getShortName()]["icon"] = $product->getIcon();
     }
     $this->libraries_list = $products_list;
     $this->products_list_institution = $products_list_institution;
     $this->products_details = $products_details;
     $this->getResponse()->setTitle('Subscriptions');
     sfConfig::set('sf_escaping_strategy', false);
 }
 public function executeGetSubscriptions(sfWebRequest $request)
 {
     $this->forward404Unless($request->isXmlHttpRequest());
     global $CFG;
     $CFG->current_app->requireMahara();
     $CFG->current_app->requireLogin();
     $this->current_app_short_name = $CFG->current_app->getShortName();
     $current_user = $CFG->current_app->getCurrentUser();
     $course_list_array = array();
     $products = GcrProductsTable::getProductLibraries($this->current_app_short_name);
     $products_details = array();
     $images_base_url = gcr::imagesBaseUrl;
     foreach ($products as $product) {
         $mhr_usr_institution = $current_user->checkMhrUsrInstitutionRecord($product->getInstitutionShortName());
         $catalog_courses_count = 0;
         $ctlg_crse_data = GcrInstitutionCatalogCoursesTable::getSubscriptionCoursesIns($this->current_app_short_name, $product->getInstitutionShortName());
         foreach ($ctlg_crse_data as $ctlg_crse) {
             $catalog_courses_count = $catalog_courses_count + $ctlg_crse["p_courses_count"];
         }
         if ($catalog_courses_count > 0 && ($product->getCost() == 0 || $mhr_usr_institution)) {
             $products_list[$product->getShortName()] = $product->getFullName();
             $products_details[$product->getShortName()]["id"] = $product->getId();
             $products_details[$product->getShortName()]["short_name"] = $product->getShortName();
             $products_details[$product->getShortName()]["full_name"] = $product->getFullName();
             $products_details[$product->getShortName()]["institution_short_name"] = $product->getInstitutionShortName();
             $products_details[$product->getShortName()]["icon"] = $images_base_url . $product->getIcon();
             $products_details[$product->getShortName()]["link_href"] = str_replace("/portal", "", $CFG->current_app->getAppUrl()) . "course/subscriptions/#" . $product->getInstitutionShortName() . "_" . $product->getId();
         }
     }
     $course_list_array["subsc_list"] = $products_details;
     $this->getResponse()->setHttpHeader('Content-type', 'application/json');
     return $this->renderText(json_encode($course_list_array));
 }
 public function executeSubscriptions(sfWebRequest $request)
 {
     global $CFG;
     $CFG->current_app->requireMahara();
     $this->params = $request->getGetParameters();
     $this->course = false;
     if (isset($this->params['course']) && isset($this->params['catalog'])) {
         $eschool = GcrEschoolTable::getEschool($this->params['catalog'], true);
         if ($eschool) {
             $course = $eschool->getCourse($this->params['course']);
             if ($course) {
                 $this->course = $course;
             }
         }
     }
     $eschool_array = array();
     $catalog_courses_count = array();
     foreach ($CFG->current_app->getMnetEschools() as $eschool) {
         if (GcrEschoolTable::authorizeEschoolAccess($eschool, true)) {
             $eschool_array[$eschool->getFullName()] = $eschool;
         }
     }
     ksort($eschool_array);
     foreach ($eschool_array as $eschool) {
         //$catalog_courses_count[$eschool->getShortName()] = $eschool->getFullName();
         $catalog_courses_count[$eschool->getShortName()] = $this->getHTMLCoursesCount($eschool->getShortName());
     }
     $this->catalog_courses_count = $catalog_courses_count;
     $products = GcrProductsTable::getProductLibraries();
     $products_list = array();
     $products_details = array();
     foreach ($products as $product) {
         $products_list[$product->getShortName()] = $product->getFullName();
         $products_details[$product->getShortName()]["id"] = $product->getId();
         $products_details[$product->getShortName()]["short_name"] = $product->getShortName();
         $products_details[$product->getShortName()]["full_name"] = $product->getFullName();
         $products_details[$product->getShortName()]["description"] = $product->getDescription();
         $products_details[$product->getShortName()]["cost"] = $product->getCost();
         $products_details[$product->getShortName()]["pricing_html"] = $product->getPricingHtml();
         $products_details[$product->getShortName()]["icon"] = $product->getIcon();
     }
     $this->libraries_list = $products_list;
     $this->products_details = $products_details;
     $this->getResponse()->setTitle('Courses');
     sfConfig::set('sf_escaping_strategy', false);
 }