Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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.";
    }
}
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
 //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