private function format($topics) { $_topics = array(); $i = 0; foreach ($topics as $topic) { $message = \CODOF\Format::message($topic['message']); $_topics[$i] = array("cat_alias" => $topic['cat_alias'], "cat_img" => $topic['cat_img'], "id" => $topic['id'], "avatar" => \CODOF\Util::get_avatar_path($topic['avatar'], $topic['id']), "name" => $topic['name'], "post_created" => \CODOF\Time::get_pretty_time($topic['post_created']), "topic_id" => $topic['topic_id'], "post_id" => $topic['post_id'], "safe_title" => \CODOF\Filter::URL_safe($topic['title']), "title" => \CODOF\Util::mid_cut($topic['title'], 200), "no_replies" => \CODOF\Util::abbrev_no($topic['no_posts'] - 1, 1), "no_views" => \CODOF\Util::abbrev_no($topic['no_views'], 1), "last_post_uid" => $topic['last_post_uid'], "last_post_name" => $topic['last_post_name'], "last_post_time" => \CODOF\Time::get_pretty_time($topic['last_post_time'] != $topic['topic_created'] ? $topic['last_post_time'] : NULL)); $excerpt = \CODOF\Format::excerpt($message, $topic['topic_id'], $_topics[$i]["safe_title"]); $_topics[$i]["message"] = $excerpt['message']; $_topics[$i]["overflow"] = $excerpt['overflow']; $_topics[$i]["status"] = $topic['topic_status']; $_topics[$i]["what"] = 'is_topic'; $i++; } return $_topics; }
private function gen_posts_arr($posts) { $_posts = array(); $i = 0; $topics_set = array(); foreach ($posts as $post) { if (isset($topics_set[$post['topic_id']])) { $_posts[$topics_set[$post['topic_id']]]['contents'][] = array("post_id" => $post['post_id'], "message" => \CODOF\Format::message($post['message']), "post_created" => \CODOF\Time::get_pretty_time($post['post_created'])); //$topics_set[$post['topic_id']]++; continue; } $_posts[$i] = array("id" => $post['id'], "avatar" => \CODOF\Util::get_avatar_path($post['avatar'], $post['id']), "name" => $post['name'], "no_replies" => \CODOF\Util::abbrev_no($post['no_posts'] - 1, 1), "no_views" => \CODOF\Util::abbrev_no($post['no_views'], 1), "topic_created" => \CODOF\Time::get_pretty_time($post['topic_created']), "cat_alias" => $post['cat_alias'], "cat_img" => $post['cat_img'], "contents" => array(array("post_id" => $post['post_id'], "message" => \CODOF\Format::message($post['message']), "post_created" => \CODOF\Time::get_pretty_time($post['post_created']))), "topic_id" => $post['topic_id'], "safe_title" => \CODOF\Filter::URL_safe($post['title']), "title" => html_entity_decode(\CODOF\Util::mid_cut($post['title'], 200), ENT_NOQUOTES, "UTF-8")); $topics_set[$post['topic_id']] = $i; $i++; } return $_posts; }
/** private functions --------------------------------------------------------- */ public function gen_posts_arr($posts, $search = false) { $_posts = array(); $user = \CODOF\User\User::get(); $uid = $user->id; $i = 0; foreach ($posts as $post) { $message = \CODOF\Format::message($post['message']); if ($search) { $message = $search->get_matching_str($message); } $_posts[$i] = array("id" => $post['id'], "avatar" => \CODOF\Util::get_avatar_path($post['avatar'], $post['id']), "name" => $post['name'], "post_created" => \CODOF\Time::get_pretty_time($post['post_created']), "post_modified" => \CODOF\Time::get_pretty_time($post['post_modified']), "post_id" => $post['post_id'], "message" => $message, "imessage" => $post['imessage'], "reputation" => $post['reputation'], "role" => \CODOF\User\User::getRoleName($post['rid']), "no_posts" => \CODOF\Util::abbrev_no($post['no_posts'], 1), "signature" => $post['signature']); $_posts[$i]['tid'] = $this->tid; $_posts[$i]['page'] = $this->from + 1; $_posts[$i]['safe_title'] = $this->safe_title; if ($this->topic_post_id == $post['post_id']) { //is a topic $_posts[$i]['is_topic'] = true; if ($post['id'] == $uid) { //this topic belongs to current user $_posts[$i]['can_edit_topic'] = $user->can(array('edit my topics', 'edit all topics'), $this->cat_id); $_posts[$i]['can_delete_topic'] = $user->can(array('delete my topics', 'delete all topics'), $this->cat_id); } else { $_posts[$i]['can_edit_topic'] = $user->can('edit all topics', $this->cat_id); $_posts[$i]['can_delete_topic'] = $user->can('delete all topics', $this->cat_id); } $_posts[$i]['can_manage_topic'] = $_posts[$i]['can_edit_topic'] || $_posts[$i]['can_delete_topic']; } else { $_posts[$i]['is_topic'] = false; if ($post['id'] == $uid) { //this topic belongs to current user $_posts[$i]['can_edit_post'] = $user->can(array('edit my posts', 'edit all posts'), $this->cat_id); $_posts[$i]['can_delete_post'] = $user->can(array('delete my posts', 'delete all posts'), $this->cat_id); } else { $_posts[$i]['can_edit_post'] = $user->can('edit all posts', $this->cat_id); $_posts[$i]['can_delete_post'] = $user->can('delete all posts', $this->cat_id); } $_posts[$i]['can_manage_post'] = $_posts[$i]['can_edit_post'] || $_posts[$i]['can_delete_post']; } $_posts[$i]['can_see_history'] = $user->can('see history', $this->cat_id); if ($this->tuid == $uid) { //if my topic $_posts[$i]['can_reply'] = true; //i can reply to my own topic } else { $_posts[$i]['can_reply'] = $user->can('reply to all topics', $this->cat_id, $this->tid); } if ($search) { $_posts[$i]['in_search'] = true; } $i++; } return $_posts; }
public function gen_topic_arr($topics, $cid) { $_topics = array(); $user = \CODOF\User\User::get(); $uid = $user->id; $i = 0; foreach ($topics as $topic) { $message = \CODOF\Format::message($topic['message']); $_topics[$i] = array("id" => $topic['id'], "avatar" => \CODOF\Util::get_avatar_path($topic['avatar'], $topic['id']), "name" => $topic['name'], "post_created" => \CODOF\Time::get_pretty_time($topic['post_created']), "topic_created" => $topic['topic_created'], "topic_id" => $topic['topic_id'], "post_id" => $topic['post_id'], "safe_title" => \CODOF\Filter::URL_safe(html_entity_decode($topic['title'])), "title" => $topic['title'], "no_replies" => \CODOF\Util::abbrev_no($topic['no_posts'] - 1, 1), "no_views" => \CODOF\Util::abbrev_no($topic['no_views'], 1), "last_post_name" => $topic['lname'], "last_post_uid" => $topic['luid'], "sticky" => Forum::isSticky($topic['topic_status']), "last_post_id" => $topic['last_post_id'], "last_post_time" => \CODOF\Time::get_pretty_time($topic['lpost_time'] != $topic['topic_created'] ? $topic['lpost_time'] : NULL)); $excerpt = \CODOF\Format::excerpt($message, $topic['topic_id'], $_topics[$i]["safe_title"]); $_topics[$i]["message"] = $excerpt['message']; $_topics[$i]["overflow"] = $excerpt['overflow']; if ($topic['uid'] == $uid) { //this topic belongs to current user $_topics[$i]['can_edit_topic'] = $user->can(array('edit my topics', 'edit all topics'), $cid); $_topics[$i]['can_delete_topic'] = $user->can(array('delete my topics', 'delete all topics'), $cid); } else { $_topics[$i]['can_edit_topic'] = $user->can('edit all topics', $cid); $_topics[$i]['can_delete_topic'] = $user->can('delete all topics', $cid); } $_topics[$i]['can_manage_topic'] = $_topics[$i]['can_edit_topic'] || $_topics[$i]['can_delete_topic']; if (isset($search)) { $_topics[$i]['in_search'] = true; } if (in_array($topic['topic_id'], $this->new_topic_ids)) { $_topics[$i]["new_topic"] = true; } if (in_array($topic['topic_id'], $this->new_replies)) { $_topics[$i]["new_replies"] = $this->new_replies[$topic['topic_id']][0]; $_topics[$i]["last_reply_id"] = $this->new_replies[$topic['topic_id']][1]; } if (isset($this->tags[$topic['topic_id']])) { $_topics[$i]["tags"] = $this->tags[$topic['topic_id']]; } $i++; } return $_topics; }
$obj = $db->query($qry); $res = $obj->fetchAll(); $bans = $res; $i = 0; //returns how many hours/days/months left function get_expires($time) { if ($time < 0) { return '#forever'; } if ($time < DAY) { return round($time / HOUR) . '#hour'; } if ($time < MONTH) { return round($time / DAY) . '#day'; } return round($time / MONTH) . '#month'; } foreach ($res as $r) { $bans[$i]['ban_on'] = \CODOF\Time::get_pretty_time($r['ban_on']); if ($r['ban_expires'] == 0) { $bans[$i]['ban_expires'] = 'forever'; } else { $bans[$i]['ban_expires'] = date('d-m-Y h:m:s', $r['ban_expires']); } $bans[$i]['ban_real_expires'] = get_expires((int) $r['ban_expires'] - time()); $i++; } CODOF\Util::get_config($db); $smarty->assign('bans', $bans); $content = $smarty->fetch('moderation/ban_user.tpl');
/** * * @param array $notifications * @return array */ public function getFormattedForInline($notifications) { $_notes = array(); foreach ($notifications as $notification) { $data = json_decode($notification['data'], true); $data['label'] = _t($data['label']); $data['notification'] = _t($data['notification']); if (!isset($data['bindings']['actor'])) { $data['bindings']['actor'] = $data['actor']['username']; } if (isset($data['bindings'])) { $body = $this->applyBindings($data['notification'], $data['bindings']); } $_notes[] = array("data" => $data, "body" => $body, "created" => \CODOF\Time::get_pretty_time($notification['created']), "is_read" => $notification['is_read'], "type" => $notification['type']); } return $_notes; }
{ switch ($t) { case 3600: return 'hourly'; case 3600 * 24: return 'daily'; case 3600 * 24 * 7: return 'weekly'; case 3600 * 24 * 30: return 'monthly'; default: return $t . 's'; } } $i = 0; foreach ($res as $r) { $crons[$i]['cron_name'] = $r['cron_name']; $crons[$i]['cron_type'] = $r['cron_type']; $crons[$i]['cron_interval'] = get_readable_time($r['cron_interval']); $crons[$i]['cron_started'] = \CODOF\Time::get_pretty_time($r['cron_started']); $crons[$i]['cron_last_run'] = \CODOF\Time::get_pretty_time($r['cron_last_run']); if ($r['cron_status'] == 0) { $crons[$i]['cron_status'] = 'not running'; } else { $crons[$i]['cron_status'] = '<span style="color:green">running</span>'; } $i++; } CODOF\Util::get_config($db); $smarty->assign('crons', $crons); $content = $smarty->fetch('system/cron.tpl');