public function postBlog($items, $users) { $stream = array(); loader::model('blogs/blogs'); $params = array('select_users' => false); // Get blogs $columns = array('`b`.`blog_id` IN (' . implode(',', array_keys($items)) . ')'); $blogs = codebreeder::instance()->blogs_model->getBlogs('in_list', $columns, array(), false, count($items), $params); foreach ($items as $itemID => $data) { if (isset($blogs[$itemID]) && isset($users[$blogs[$itemID]['user_id']])) { foreach ($data as $actionID => $item) { $stream[$itemID][$actionID]['html'] = view::load('blogs/timeline/blog', array('user' => $users[$blogs[$itemID]['user_id']], 'blog' => $blogs[$itemID], 'params' => $item['params']), true); $stream[$itemID][$actionID]['rating']['total_votes'] = $blogs[$itemID]['total_votes']; $stream[$itemID][$actionID]['rating']['total_score'] = $blogs[$itemID]['total_score']; $stream[$itemID][$actionID]['rating']['total_rating'] = $blogs[$itemID]['total_rating']; $stream[$itemID][$actionID]['rating']['total_likes'] = $blogs[$itemID]['total_likes']; $stream[$itemID][$actionID]['rating']['type'] = config::item('blog_rating', 'blogs'); $stream[$itemID][$actionID]['comments']['total_comments'] = $blogs[$itemID]['total_comments']; $stream[$itemID][$actionID]['comments']['privacy'] = $blogs[$itemID]['comments']; $stream[$itemID][$actionID]['comments']['post'] = $blogs[$itemID]['comments'] && codebreeder::instance()->users_model->getPrivacyAccess($blogs[$itemID]['user_id'], $blogs[$itemID]['comments'], false, $users[$blogs[$itemID]['user_id']]['friends'] ? 1 : 0) ? true : false; } } } return $stream; }
public static function getPictures($params = array()) { if (!session::permission('users_groups_browse', 'users') && !session::permission('users_types_browse', 'users')) { return ''; } loader::model('pictures/pictures'); $template = isset($params['template']) ? $params['template'] : 'pictures/helpers/pictures'; $user = isset($params['user']) && $params['user'] ? $params['user'] : array(); $userID = $user ? $user['user_id'] : (isset($params['user_id']) ? $params['user_id'] : 0); $params['albums'] = true; if ($userID) { $params['join_columns'][] = '`p`.`user_id`=' . $userID; } if (!$userID || $userID != session::item('user_id')) { if ($userID) { $params['privacy'] = $userID; } else { $params['join_columns'][] = '`a`.`public`=1'; $params['join_columns'][] = '`u`.`verified`=1'; $params['join_columns'][] = '`u`.`active`=1'; $params['join_columns'][] = '`u`.`group_id` IN (' . implode(',', session::permission('users_groups_browse', 'users')) . ')'; $params['join_columns'][] = '`u`.`type_id` IN (' . implode(',', session::permission('users_types_browse', 'users')) . ')'; } } $params['limit'] = isset($params['limit']) ? $params['limit'] : 10; $params['order'] = isset($params['order']) ? $params['order'] : ''; $pictures = codebreeder::instance()->pictures_model->getPictures('in_list', $params['join_columns'], array(), $params['order'], $params['limit'], $params); view::assign(array('pictures' => $pictures, 'user' => $user, 'params' => $params), '', $template); return view::load($template, array(), 1); }
public static function getTimeline($user = array(), $privacy = 2, $template = 'timeline/helpers/timeline') { loader::model('timeline/timeline'); // Get actions $actions = codebreeder::instance()->timeline_model->getActions($user ? $user['user_id'] : 0, true, 0, config::item('actions_per_page', 'timeline')); $ratings = array(); // Do we have actions and are we logged in? if ($actions && users_helper::isLoggedin()) { foreach ($actions as $action) { if ($action['rating']) { $ratings[$action['relative_resource']][] = $action['item_id']; } else { $ratings['timeline'][] = $action['action_id']; } } // Load votes and like models loader::model('comments/votes'); loader::model('comments/likes'); // Get likes and votes $likes = codebreeder::instance()->likes_model->getMultiLikes($ratings); $votes = codebreeder::instance()->votes_model->getMultiVotes($ratings); $ratings = $likes + $votes; } // Can we post messages? $post = session::permission('messages_post', 'timeline') && codebreeder::instance()->users_model->getPrivacyAccess($user['user_id'], $privacy, false) ? true : false; view::assign(array('actions' => $actions, 'user' => $user, 'post' => $post, 'ratings' => $ratings), '', $template); // Update comments pagination config::set('comments_per_page', config::item('comments_per_page', 'timeline'), 'comments'); return view::load($template, array(), 1); }
public static function captcha($name, $value = '') { $service = config::item('default_captcha', 'security'); $settings = config::item('default_captcha_settings', 'security'); // Load library loader::library('captchas/' . $service, $settings, 'captcha_' . $service); $str = codebreeder::instance()->{'captcha_' . $service}->getCaptcha($name); return $str; }
public static function getComments($resource, $userID, $itemID, $total, $privacy = 2, $post = true, $info = true, $static = false) { // Can we post comments? $post = $post && session::permission('comments_view', 'comments') && session::permission('comments_post', 'comments') ? true : false; if ($userID) { $post = $privacy && codebreeder::instance()->users_model->getPrivacyAccess($userID, $privacy, false) ? true : false; } loader::controller('comments'); echo codebreeder::instance()->comments->browse($resource, $itemID, $total, 1, $post, $info, $static); }
public static function getNews($params = array()) { loader::model('news/news'); $template = isset($params['template']) ? $params['template'] : 'news/helpers/news'; $params['join_columns'][] = '`n`.`active`=1'; $params['limit'] = isset($params['limit']) ? $params['limit'] : 10; $params['order'] = isset($params['order']) ? $params['order'] : ''; $entries = codebreeder::instance()->news_model->getEntries('in_list', $params['join_columns'], array(), $params['order'], $params['limit'], $params); view::assign(array('entries' => $entries, 'params' => $params), '', $template); return view::load($template, array(), 1); }
public function css() { // echo 123; // exit; $template = strtolower(uri::segment(3)); if ($template != 'cp' && !in_array($template, config::item('templates', 'core', 'keywords'))) { error::show404(); } $output = $this->getStylesheets($template, $template == 'cp' ? true : false); codebreeder::setHeader('Content-Type: text/css'); echo $output; exit; }
public static function getFilePath($serviceID, $path, $name, $ext, $suffix = '') { // Get storage service and settings $service = config::item('storages', 'core', $serviceID); $settings = config::item('storages', 'core', 'settings', $serviceID); if (!$service) { return ''; } // Load library loader::library('storages/' . $service, $settings, 'storage_' . $service); $str = codebreeder::instance()->{'storage_' . $service}->getFilePath($path, $name, $ext, $suffix); return $str; }
public static function showBanner($group, $banner = '') { if (!config::item('plugins', 'core', 'banners') || !session::permission('banners_show', 'banners')) { return ''; } loader::model('banners/banners'); $banner = codebreeder::instance()->banners_model->getBanner($banner, $group); if (!$banner || input::protocol() == 'https' && !$banner['secure_mode']) { return ''; } if ($banner['count_views']) { codebreeder::instance()->banners_model->updateViews($banner['banner_id']); } if ($banner['count_clicks']) { $banner['code'] = '<div style="display:block" onclick="$(\'#banner_id_' . $banner['banner_id'] . '\').attr(\'src\',\'' . html_helper::siteURL('banners/click/' . $banner['banner_id']) . '\');return true;">' . $banner['code'] . '<img src="' . html_helper::baseURL('assets/images/banners/blank.gif') . '" border="0" style="width:0px;height:0px;" alt="" id="banner_id_' . $banner['banner_id'] . '" /></div>'; } return $banner['code']; }
public function postPicture($items, $users) { $stream = array(); loader::model('pictures/pictures'); loader::model('pictures/albums', array(), 'pictures_albums_model'); $params = array('select_users' => false); // Get file IDs $files = array(); foreach ($items as $itemID => $data) { foreach ($data as $actionID => $item) { foreach ($item['attachments'] as $fileID) { $files[$fileID] = $actionID; } } } if (!$files) { return array(); } // Get albums $columns = array('`a`.`album_id` IN (' . implode(',', array_keys($items)) . ')'); $albums = codebreeder::instance()->pictures_albums_model->getAlbums('in_list', $columns, array(), false, count($items), $params); // Get pictures $columns = array('`p`.`file_id` IN (' . implode(',', array_keys($files)) . ')'); $pictures = codebreeder::instance()->pictures_model->getPictures('in_list', $columns, array(), false, count($files), $params); foreach ($items as $itemID => $data) { if (isset($albums[$itemID]) && isset($users[$albums[$itemID]['user_id']])) { foreach ($data as $actionID => $item) { foreach ($pictures as $pictureID => $picture) { if (isset($item['attachments'][$picture['file_id']])) { $item['attachments'][$picture['file_id']] = $picture; unset($picture[$pictureID]); } } $stream[$itemID][$actionID]['html'] = view::load('pictures/timeline/pictures', array('user' => $users[$albums[$itemID]['user_id']], 'album' => $albums[$itemID], 'pictures' => $item['attachments'], 'params' => $item['params']), true); $stream[$itemID][$actionID]['rating']['total_votes'] = $albums[$itemID]['total_votes']; $stream[$itemID][$actionID]['rating']['total_score'] = $albums[$itemID]['total_score']; $stream[$itemID][$actionID]['rating']['total_rating'] = $albums[$itemID]['total_rating']; $stream[$itemID][$actionID]['rating']['total_likes'] = $albums[$itemID]['total_likes']; $stream[$itemID][$actionID]['rating']['type'] = config::item('album_rating', 'pictures'); } } } return $stream; }
public static function getAds($params = array()) { loader::model('classifieds/classifieds'); $template = isset($params['template']) ? $params['template'] : 'classifieds/helpers/classifieds'; $user = isset($params['user']) && $params['user'] ? $params['user'] : array(); $userID = $user ? $user['user_id'] : (isset($params['user_id']) ? $params['user_id'] : 0); if ($userID) { $params['join_columns'][] = '`a`.`user_id`=' . $userID; } if (!$userID || $userID != session::item('user_id')) { if ($userID) { $params['join_columns'][] = '`a`.`post_date`>' . (date_helper::now() - config::item('ad_expiration', 'classifieds') * 60 * 60 * 24); } else { $params['join_columns'][] = '`u`.`active`=1'; } } $params['limit'] = isset($params['limit']) ? $params['limit'] : 10; $params['order'] = isset($params['order']) ? $params['order'] : ''; $ads = codebreeder::instance()->classifieds_model->getAds('in_list', $params['join_columns'], array(), $params['order'], $params['limit'], $params); view::assign(array('ads' => $ads, 'user' => $user, 'params' => $params), '', $template); return view::load($template, array(), 1); }
public function postMessage($items, $users) { $stream = array(); loader::model('timeline/messages', array(), 'timeline_messages_model'); $params = array('select_users' => false); // Get messages $columns = array('`m`.`message_id` IN (' . implode(',', array_keys($items)) . ')'); $messages = codebreeder::instance()->timeline_messages_model->getMessages(0, $columns, false, count($items), $params); foreach ($items as $itemID => $data) { if (isset($messages[$itemID]) && isset($users[$messages[$itemID]['user_id']]) && isset($users[$messages[$itemID]['poster_id']])) { foreach ($data as $actionID => $item) { $stream[$itemID][$actionID]['html'] = view::load('timeline/timeline/message', array('user' => $users[$messages[$itemID]['user_id']], 'poster' => $users[$messages[$itemID]['poster_id']], 'message' => $messages[$itemID], 'params' => $item['params']), true); $stream[$itemID][$actionID]['rating']['total_votes'] = $messages[$itemID]['total_votes']; $stream[$itemID][$actionID]['rating']['total_score'] = $messages[$itemID]['total_score']; $stream[$itemID][$actionID]['rating']['total_rating'] = $messages[$itemID]['total_rating']; $stream[$itemID][$actionID]['rating']['total_likes'] = $messages[$itemID]['total_likes']; $stream[$itemID][$actionID]['rating']['type'] = config::item('timeline_rating', 'timeline'); $stream[$itemID][$actionID]['comments']['total_comments'] = $messages[$itemID]['total_comments']; $stream[$itemID][$actionID]['comments']['post'] = session::permission('comments_view', 'comments') && session::permission('comments_post', 'comments') ? true : false; } } } return $stream; }
public static function getCity($cityID) { $str = codebreeder::instance()->geo_model->getCity($cityID); return $str; }
public static function getUsers($params = array()) { if (!session::permission('users_groups_browse', 'users') && !session::permission('users_types_browse', 'users')) { return ''; } $template = isset($params['template']) ? $params['template'] : 'users/helpers/users'; $params['join_columns'][] = '`u`.`verified`=1'; $params['join_columns'][] = '`u`.`active`=1'; $params['join_columns'][] = '`u`.`group_id` IN (' . implode(',', session::permission('users_groups_browse', 'users')) . ')'; $params['join_columns'][] = '`u`.`type_id` IN (' . implode(',', session::permission('users_types_browse', 'users')) . ')'; $params['limit'] = isset($params['limit']) ? $params['limit'] : 10; $params['order'] = isset($params['order']) ? $params['order'] : '`u`.`join_date` DESC'; $users = codebreeder::instance()->users_model->getUsers('in_list', 0, $params['join_columns'], array(), $params['order'], $params['limit'], $params); view::assign(array('users' => $users, 'params' => $params), '', $template); return view::load($template, array(), 1); }
public function settings() { // Get URI vars $keyword = uri::segment(5); // Get plugin if (!$keyword || !($plugin = $this->plugins_model->getPlugin($keyword))) { view::setError(__('no_plugin', 'system_plugins')); router::redirect('cp/system/plugins'); } // Do we have settings enabled? if (!$plugin['settings']) { view::setError(__('no_plugin_settings', 'system_plugins')); router::redirect('cp/system/plugins'); } // Assign vars view::assign(array('plugin' => $plugin)); // Set title view::setTitle(__('plugin_settings', 'system_plugins')); // Set trail view::setTrail('cp/system/plugins/view/' . $keyword, __('plugin_view', 'system_plugins') . ' - ' . $plugin['name']); // Load settings controller loader::controller('cp/system/config/system', array(), 'system_settings'); codebreeder::instance()->controller->system_settings->browse($keyword); }