function publishQuiz() { $cids = JRequest::getVar("cid", array(), "post", "array"); if (!isset($cids) || count($cids) == 0) { return FALSE; } else { $db = JFActory::getDBO(); $sql = "update #__guru_quiz set published='1' where id in (" . implode(", ", $cids) . ")"; $db->setQuery($sql); if (!$db->query()) { return false; } return true; } }
/** * Returns a published state on a grid * * @param int $value The state value. * @param int $i The row index * @param string|array $prefix An optional task prefix or an array of options * @param boolean $enabled An optional setting for access control on the action. * @param string $checkbox An optional prefix for checkboxes. * @param string $publish_up An optional start publishing date. * @param string $publish_down An optional finish publishing date. * * @return The Html code * * @see JHtmlJGrid::state * * @since 1.6 */ public static function published($value, $i, $prefix = '', $enabled = true, $checkbox = 'cb', $publish_up = null, $publish_down = null) { if (is_array($prefix)) { $options = $prefix; $enabled = array_key_exists('enabled', $options) ? $options['enabled'] : $enabled; $checkbox = array_key_exists('checkbox', $options) ? $options['checkbox'] : $checkbox; $prefix = array_key_exists('prefix', $options) ? $options['prefix'] : ''; } $states = array(1 => array('unpublish', 'JPUBLISHED', 'JLIB_HTML_UNPUBLISH_ITEM', 'JPUBLISHED', false, 'publish', 'publish'), 0 => array('publish', 'JUNPUBLISHED', 'JLIB_HTML_PUBLISH_ITEM', 'JUNPUBLISHED', false, 'unpublish', 'unpublish'), 2 => array('unpublish', 'JARCHIVED', 'JLIB_HTML_UNPUBLISH_ITEM', 'JARCHIVED', false, 'archive', 'archive'), -2 => array('publish', 'JTRASHED', 'JLIB_HTML_PUBLISH_ITEM', 'JTRASHED', false, 'trash', 'trash')); // Special state for dates if ($publish_up || $publish_down) { $nullDate = JFActory::getDBO()->getNullDate(); $nowDate = JFactory::getDate()->toUnix(); $tz = JFactory::getApplication()->getCfg('offset'); $publish_up = $publish_up != $nullDate ? JFactory::getDate($publish_up, $tz) : false; $publish_down = $publish_down != $nullDate ? JFactory::getDate($publish_down, $tz) : false; // Create tip text, only we have publish up or down settings $tips = array(); if ($publish_up) { $tips[] = JText::sprintf('JLIB_HTML_PUBLISHED_START', $publish_up->toFormat()); } if ($publish_down) { $tips[] = JText::sprintf('JLIB_HTML_PUBLISHED_FINISHED', $publish_down->toFormat()); } $tip = empty($tips) ? false : implode('<br/>', $tips); // Add tips and special titles foreach ($states as $key => $state) { // Create special titles for published items if ($key == 1) { $states[$key][2] = $states[$key][3] = 'JLIB_HTML_PUBLISHED_ITEM'; if ($publish_up && $nowDate < $publish_up->toUnix()) { $states[$key][2] = $states[$key][3] = 'JLIB_HTML_PUBLISHED_PENDING_ITEM'; $states[$key][5] = $states[$key][6] = 'pending'; } if ($publish_down && $nowDate > $publish_down->toUnix()) { $states[$key][2] = $states[$key][3] = 'JLIB_HTML_PUBLISHED_EXPIRED_ITEM'; $states[$key][5] = $states[$key][6] = 'expired'; } } // Add tips to titles if ($tip) { $states[$key][1] = JText::_($states[$key][1]); $states[$key][2] = JText::_($states[$key][2]) . '::' . $tip; $states[$key][3] = JText::_($states[$key][3]) . '::' . $tip; $states[$key][4] = true; } } return self::state($states, $value, $i, array('prefix' => $prefix, 'translate' => !$tip), $enabled, true, $checkbox); } return self::state($states, $value, $i, $prefix, $enabled, true, $checkbox); }
function sendEmailForPending($course_id) { $db = JFActory::getDBO(); $sql = "select p.*, u.name as username from #__guru_program p, #__users u where u.`id`=p.`author` and p.`id`=" . intval($course_id); $db->setQuery($sql); $db->query(); $result = $db->loadAssocList(); $sql = "select `template_emails`, `fromname`, `fromemail`, `admin_email` from #__guru_config"; $db->setQuery($sql); $db->query(); $confic = $db->loadAssocList(); $template_emails = $confic["0"]["template_emails"]; $template_emails = json_decode($template_emails, true); $fromname = $confic["0"]["fromname"]; $fromemail = $confic["0"]["fromemail"]; $sql = "select u.`email` from #__users u, #__user_usergroup_map ugm where u.`id`=ugm.`user_id` and ugm.`group_id`='8' and u.`id` IN (" . $confic["0"]["admin_email"] . ")"; $db->setQuery($sql); $db->query(); $email = $db->loadColumn(); $app = JFactory::getApplication(); $site_name = $app->getCfg('sitename'); $subject = $template_emails["unapprove_subject"]; $body = $template_emails["unapprove_body"]; $approve_url = '<a href="' . JURI::root() . "administrator/index.php?option=com_guru&controller=guruPrograms&cid[]=" . intval($result["0"]["id"]) . "&task=approve" . '" target="_blank">' . JURI::root() . "administrator/index.php?option=com_guru&controller=guruPrograms&cid[]=" . intval($result["0"]["id"]) . "&task=approve" . '</a>'; $subject = str_replace("[AUTHOR_NAME]", $result["0"]["username"], $subject); $subject = str_replace("[COURSE_NAME]", $result["0"]["name"], $subject); $subject = str_replace("[COURSE_APPROVE_URL]", $approve_url, $subject); $subject = str_replace("[SITE_NAME]", $site_name, $subject); $body = str_replace("[AUTHOR_NAME]", $result["0"]["username"], $body); $body = str_replace("[COURSE_NAME]", $result["0"]["name"], $body); $body = str_replace("[COURSE_APPROVE_URL]", $approve_url, $body); $body = str_replace("[SITE_NAME]", $site_name, $body); for ($i = 0; $i < count($email); $i++) { JFactory::getMailer()->sendMail($fromemail, $fromname, $email[$i], $subject, $body, 1); } }