Exemplo n.º 1
0
 function countIcalEventRepeatsByCreator($creator_id)
 {
     $user = JFactory::getUser();
     $db = JFactory::getDBO();
     $extrawhere = array();
     $extrajoin = array();
     $extrafields = "";
     // must have comma prefix
     $catwhere = "\n WHERE ev.catid IN(" . $this->accessibleCategoryList() . ")";
     $params = JComponentHelper::getParams("com_jevents");
     if ($params->get("multicategory", 0)) {
         $extrajoin[] = "\n #__jevents_catmap as catmap ON catmap.evid = rpt.eventid";
         $extrajoin[] = "\n #__categories AS catmapcat ON catmap.catid = catmapcat.id";
         $extrafields .= ", GROUP_CONCAT(DISTINCT catmap.catid SEPARATOR ',') as catids";
         $extrawhere[] = " catmapcat.access " . (version_compare(JVERSION, '1.6.0', '>=') ? ' IN (' . JEVHelper::getAid($user) . ')' : ' <=  ' . JEVHelper::getAid($user));
         $extrawhere[] = " catmap.catid IN(" . $this->accessibleCategoryList() . ")";
         $needsgroup = true;
         $catwhere = "\n WHERE 1 ";
     }
     $adminCats = JEVHelper::categoryAdmin();
     $where = '';
     if ($creator_id == 'ADMIN') {
         $where = "";
     } else {
         if ($adminCats && count($adminCats) > 0) {
             if ($params->get("multicategory", 0)) {
                 $adminCats = " OR catmap.catid IN(" . implode(",", $adminCats) . ")";
             } else {
                 $adminCats = " OR ev.catid IN(" . implode(",", $adminCats) . ")";
             }
             $where = " AND ( ev.created_by = " . $user->id . $adminCats . ")";
         } else {
             $where = " AND ev.created_by = '{$creator_id}' ";
         }
     }
     // State is managed by plugin
     $filters = jevFilterProcessing::getInstance(array("published", "justmine", "category", "startdate", "search"));
     $filters->setWhereJoin($extrawhere, $extrajoin);
     $extrajoin = count($extrajoin) ? " \n LEFT JOIN " . implode(" \n LEFT JOIN ", $extrajoin) : '';
     $extrawhere = count($extrawhere) ? ' AND ' . implode(' AND ', $extrawhere) : '';
     $query = "SELECT rpt.rp_id, ev.catid" . "\n FROM #__jevents_repetition as rpt " . "\n LEFT JOIN #__jevents_vevent as ev ON rpt.eventid = ev.ev_id" . "\n LEFT JOIN #__jevents_icsfile as icsf ON icsf.ics_id=ev.icsid" . "\n LEFT JOIN #__jevents_rrule as rr ON rr.eventid = ev.ev_id" . $extrajoin . $catwhere . $extrawhere . $where . "\n AND icsf.state=1" . "\n GROUP BY rpt.rp_id";
     $db->setQuery($query);
     $db->query();
     return $db->getNumRows();
 }
Exemplo n.º 2
0
 function countIcalEventRepeatsByCreator($creator_id)
 {
     $user =& JFactory::getUser();
     $db =& JFactory::getDBO();
     $adminCats = JEVHelper::categoryAdmin();
     $where = '';
     if ($creator_id == 'ADMIN') {
         $where = "";
     } else {
         if ($adminCats && count($adminCats) > 0) {
             //$adminCats = " OR (ev.state=0 AND ev.catid IN(".implode(",",$adminCats)."))";
             $adminCats = " OR ev.catid IN(" . implode(",", $adminCats) . ")";
             $where = " AND ( ev.created_by = " . $user->id . $adminCats . ")";
         } else {
             $where = " AND ev.created_by = '{$creator_id}' ";
         }
     }
     // State is managed by plugin
     $extrawhere = array();
     $extrajoin = array();
     $filters = jevFilterProcessing::getInstance(array("published", "justmine", "category", "startdate", "search"));
     $filters->setWhereJoin($extrawhere, $extrajoin);
     $extrajoin = count($extrajoin) ? " \n LEFT JOIN " . implode(" \n LEFT JOIN ", $extrajoin) : '';
     $extrawhere = count($extrawhere) ? ' AND ' . implode(' AND ', $extrawhere) : '';
     $query = "SELECT rpt.rp_id, ev.catid" . "\n FROM #__jevents_repetition as rpt " . "\n LEFT JOIN #__jevents_vevent as ev ON rpt.eventid = ev.ev_id" . "\n LEFT JOIN #__jevents_icsfile as icsf ON icsf.ics_id=ev.icsid" . "\n LEFT JOIN #__jevents_rrule as rr ON rr.eventid = ev.ev_id" . $extrajoin . "\n WHERE ev.catid IN(" . $this->accessibleCategoryList() . ")" . $extrawhere . $where . "\n AND icsf.state=1" . "\n GROUP BY rpt.rp_id";
     $db->setQuery($query);
     $db->query();
     return $db->getNumRows();
 }