function convertDate($date) { // used for non-FB dates only! $format = _KUNENA_USRL_DATE_FORMAT; if ($date != "0000-00-00 00:00:00" && ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})[ ]([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs)) { $date = mktime($regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1]); $date = $date > -1 ? strftime($format, CKunenaTools::fbGetShowTime($date, 'UTC')) : '-'; } else { $date = _KUNENA_USRL_NEVER; } return $date; }
function convertDate($date) { // used for non-FB dates only! $format = _KUNENA_USRL_DATE_FORMAT; if ($date != "0000-00-00 00:00:00" && preg_match('`(\\d{4})-(\\d{2})-(\\d{2})[[:space:]](\\d{2}):(\\d{2}):(\\d{2})`', $date, $regs)) { $date = mktime($regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1]); $date = $date > -1 ? strftime($format, CKunenaTools::fbGetShowTime($date, 'UTC')) : '-'; } else { $date = _KUNENA_USRL_NEVER; } return $date; }
function KUNENA_timeformat($logTime, $show_today = true) { // formatts a time in Display space! Don't pass internal times! // ToDo: Pass format! $usertime_format = _KUNENA_DT_DATETIME_FMT; $app =& JFactory::getApplication(); $time = $logTime; $todayMod = 2; // We can't have a negative date (on Windows, at least.) if ($time < 0) { $time = 0; } // Today and Yesterday? if ($show_today === true) { // Get the current time. $nowtime = CKunenaTools::fbGetShowTime(); $then = @getdate($time); $now = @getdate($nowtime); // Try to make something of a time format string... $s = strpos($usertime_format, '%S') === false ? '' : ':%S'; if (strpos($usertime_format, '%H') === false && strpos($usertime_format, '%T') === false) { $today_fmt = '%I:%M' . $s . ' %p'; } else { $today_fmt = '%H:%M' . $s; } // Same day of the year, same year.... Today! if ($then['yday'] == $now['yday'] && $then['year'] == $now['year']) { return '' . _TIME_TODAY . '' . KUNENA_timeformat($logTime, $today_fmt); } // Day-of-year is one less and same year, or it's the first of the year and that's the last of the year... if ($todayMod == '2' && ($then['yday'] == $now['yday'] - 1 && $then['year'] == $now['year'] || $now['yday'] == 0 && $then['year'] == $now['year'] - 1 && $then['mon'] == 12 && $then['mday'] == 31)) { return '' . _TIME_YESTERDAY . '' . KUNENA_timeformat($logTime, $today_fmt); } } $str = !is_bool($show_today) ? $show_today : $usertime_format; // Do-it-yourself time localization. Fun. foreach (array('%a' => 'days_short', '%A' => 'days', '%b' => 'months_short', '%B' => 'months') as $token => $text_label) { if (strpos($str, $token) !== false) { $str = str_replace($token, $GLOBALS['KUNENA_DT_txt'][$text_label][(int) strftime($token === '%a' || $token === '%A' ? '%w' : '%m', $time)], $str); } } if (strpos($str, '%p')) { $str = str_replace('%p', strftime('%H', $time) < 12 ? 'am' : 'pm', $str); } // Format any other characters.. return strftime($str, $time); }
function dofreePDF($kunena_db) { global $aro_group; $app =& JFactory::getApplication(); $kunena_acl =& JFactory::getACL(); $kunena_my =& JFactory::getUser(); $fbConfig =& CKunenaConfig::getInstance(); require_once KUNENA_PATH_LIB . DS . 'kunena.authentication.php'; $is_Mod = 0; $catid = JRequest::getInt('catid', 2); if (!$is_admin) { $kunena_db->setQuery("SELECT userid FROM #__fb_moderation WHERE catid='{$catid}' AND userid='{$kunena_my->id}'"); if ($kunena_db->loadResult()) { $is_Mod = 1; } } else { $is_Mod = 1; } //superadmins always are if (!$is_Mod) { //get all the info on this forum: $kunena_db->setQuery("SELECT id, pub_access, pub_recurse, admin_access, admin_recurse FROM #__fb_categories WHERE id='{$catid}'"); $row = $kunena_db->loadObjectList(); check_dberror("Unable to load category detail."); $allow_forum = explode(',', CKunenaTools::getAllowedForums($kunena_my->id, $aro_group->id, $kunena_acl)); } if ($is_Mod || in_array($catid, $allow_forum)) { $id = JRequest::getInt('id', 1); $catid = JRequest::getInt('catid', 2); //first get the thread id for the current post to later on determine the parent post $kunena_db->setQuery("SELECT thread FROM #__fb_messages WHERE id='{$id}' AND catid='{$catid}'"); $threadid = $kunena_db->loadResult(); //load topic post and details $kunena_db->setQuery("SELECT a.*, b.* FROM #__fb_messages AS a, #__fb_messages_text AS b WHERE a.thread='{$threadid}' AND a.catid='{$catid}' AND a.parent='0' AND a.id=b.mesid"); $row = $kunena_db->loadObjectList(); check_dberror("Unable to load message details."); if (file_exists(KUNENA_ROOT_PATH . DS . 'includes/class.ezpdf.php')) { include KUNENA_ROOT_PATH . DS . 'includes/class.ezpdf.php'; $pdf = new Cezpdf('a4', 'P'); //A4 Portrait } elseif (class_exists('JDocument')) { $pdf = new fbpdfwrapper(); } else { echo 'No supported pdf class found!'; exit; } if (empty($row)) { //if the messages doesn't exist don't need to continue //Doesn't work Fatal error: Call to undefined method CKunenaLink::GetKunenaURL() //$app->redirect ( CKunenaLink::GetKunenaURL(true), _KUNENA_PDF_NOT_GENERATED_MESSAGE_DELETED ); } else { $mes_text = $row[0]->message; filterHTML($mes_text); $pdf->ezSetCmMargins(2, 1.5, 1, 1); $pdf->selectFont('./fonts/Helvetica.afm'); //choose font $all = $pdf->openObject(); $pdf->saveState(); $pdf->setStrokeColor(0, 0, 0, 1); // footer $pdf->line(10, 40, 578, 40); $pdf->line(10, 822, 578, 822); $pdf->addText(30, 34, 6, $fbConfig->board_title . ' - ' . $app->getCfg('sitename')); $strtmp = _KUNENA_PDF_VERSION; $strtmp = str_replace('%version%', "NEW VERSION GOES HERE", $strtmp); // TODO: fxstein - Need to change version handling $pdf->addText(250, 34, 6, $strtmp); $strtmp = _KUNENA_PDF_DATE; $strtmp = str_replace('%date%', date('j F, Y, H:i', CKunenaTools::fbGetShowTime()), $strtmp); $pdf->addText(450, 34, 6, $strtmp); $pdf->restoreState(); $pdf->closeObject(); $pdf->addObject($all, 'all'); $pdf->ezSetDy(30); $txt0 = $row[0]->subject; $pdf->ezText($txt0, 14); $pdf->ezText(_VIEW_POSTED . " " . $row[0]->name . " - " . date(_DATETIME, $row[0]->time), 8); $pdf->ezText("_____________________________________", 8); //$pdf->line( 10, 780, 578, 780 ); $txt3 = "\n"; $txt3 .= stripslashes($mes_text); $pdf->ezText($txt3, 10); $pdf->ezText("\n============================================================================\n\n", 8); //now let's try to see if there's more... $kunena_db->setQuery("SELECT a.*, b.* FROM #__fb_messages AS a, #__fb_messages_text AS b WHERE a.catid='{$catid}' AND a.thread='{$threadid}' AND a.id=b.mesid AND a.parent!='0' ORDER BY a.time ASC"); $replies = $kunena_db->loadObjectList(); check_dberror("Unable to load messages & detail."); $countReplies = count($replies); if ($countReplies > 0) { foreach ($replies as $reply) { $mes_text = $reply->message; filterHTML($mes_text); $txt0 = $reply->subject; $pdf->ezText($txt0, 14); $pdf->ezText(_VIEW_POSTED . " " . $reply->name . " - " . date(_DATETIME, $reply->time), 8); $pdf->ezText("_____________________________________", 8); $txt3 = "\n"; $txt3 .= stripslashes($mes_text); $pdf->ezText($txt3, 10); $pdf->ezText("\n============================================================================\n\n", 8); } } $pdf->ezStream(); } } else { echo "You don't have access to this resource."; } }
check_dberror("Unable to load categories."); $tabclass = array("sectiontableentry1", "sectiontableentry2"); $k = 0; if (sizeof($rows) == 0) { echo '' . _GEN_NOFORUMS . ''; } else { foreach ($rows as $singlerow) { $obj_fb_cat = new jbCategory($kunena_db, $singlerow->id); $is_Mod = fb_has_moderator_permission($kunena_db, $obj_fb_cat, $kunena_my->id, $is_admin); if (in_array($singlerow->id, $allow_forum)) { // $k=for alternating row colors: $k = 1 - $k; $numtopics = $singlerow->numTopics; $numreplies = $singlerow->numPosts; $lastPosttime = $singlerow->time_last_msg; $lastptime = KUNENA_timeformat(CKunenaTools::fbGetShowTime($singlerow->time_last_msg)); $forumDesc = stripslashes(smile::smileReplace($singlerow->description, 0, $fbConfig->disemoticons, $smileyList)); $forumDesc = nl2br($forumDesc); $forumDesc = smile::htmlwrap($forumDesc, $fbConfig->wrap); // Get the forumsubparent categories :: get the subcategories here $kunena_db->setQuery("SELECT id, name, numTopics, numPosts FROM #__fb_categories WHERE parent='{$singlerow->id}' AND published='1' ORDER BY ordering"); $forumparents = $kunena_db->loadObjectList(); check_dberror("Unable to load categories."); foreach ($forumparents as $childnum => $childforum) { if (!in_array($childforum->id, $allow_forum)) { unset($forumparents[$childnum]); } } $forumparents = array_values($forumparents); if ($kunena_my->id) { // get all threads with posts after the users last visit; don't bother for guests
//count the number of topics posted in each forum $kunena_db->setQuery("SELECT id FROM #__fb_messages WHERE catid='{$singlerow->id}' AND parent='0' AND hold='0'"); $num = $kunena_db->loadObjectList(); check_dberror("Unable to load messages."); $numtopics = count($num); //count the number of replies posted in each forum $kunena_db->setQuery("SELECT id FROM #__fb_messages WHERE catid='{$singlerow->id}' AND parent!='0' AND hold='0'"); $num = $kunena_db->loadObjectList(); check_dberror("Unable to load messages."); $numreplies = count($num); //Get the last post from each forum $kunena_db->setQuery("SELECT MAX(time) FROM #__fb_messages WHERE catid='{$singlerow->id}' AND hold='0' AND moved!='1'"); $lastPosttime = $kunena_db->loadResult(); check_dberror("Unable to get max time."); //changed lastPosttime to lastptime $lastptime = KUNENA_timeformat(CKunenaTools::fbGetShowTime($lastPosttime)); $lastPosttime = (int) $lastPosttime; if ($kunena_my->id != 0) { // get all threads with posts after the users last visit; don't bother for guests $kunena_db->setQuery("SELECT thread FROM #__fb_messages WHERE catid='{$singlerow->id}' AND hold='0' AND time>'{$prevCheck}' GROUP BY thread"); $newThreadsAll = $kunena_db->loadObjectList(); check_dberror("Unable to load messages."); if (count($newThreadsAll) == 0) { $newThreadsAll = array(); } //Get the topics this user has already read this session from #__fb_sessions $readTopics = ""; $kunena_db->setQuery("SELECT readtopics FROM #__fb_sessions WHERE userid='{$kunena_my->id}'"); $readTopics = $kunena_db->loadResult(); check_dberror("Unable to load read topics."); //make it into an array