当前位置: 首页>>代码示例>>PHP>>正文


PHP SQL::FROM_add方法代码示例

本文整理汇总了PHP中SQL::FROM_add方法的典型用法代码示例。如果您正苦于以下问题:PHP SQL::FROM_add方法的具体用法?PHP SQL::FROM_add怎么用?PHP SQL::FROM_add使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SQL的用法示例。


在下文中一共展示了SQL::FROM_add方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: get_newsletter_users_sql

/**
 * Get SQL for active users which accept newsletter email
 *
 * @param array users IDs
 * @return object SQL
 */
function get_newsletter_users_sql($users_IDs)
{
    global $Settings;
    $SQL = new SQL();
    $SQL->SELECT('u.user_ID');
    $SQL->FROM('T_users u');
    $SQL->FROM_add('LEFT OUTER JOIN T_users__usersettings us ON u.user_ID = us.uset_user_ID');
    $SQL->FROM_add('AND us.uset_name = \'newsletter_news\'');
    $SQL->WHERE('u.user_ID IN ( ' . implode(', ', $users_IDs) . ' )');
    $SQL->WHERE_and('u.user_status IN ( \'activated\', \'autoactivated\' )');
    if ($Settings->get('def_newsletter_news')) {
        // If General setting "newsletter_news" = 1 we also should include all users without defined user's setting "newsletter_news"
        $SQL->WHERE_and('( us.uset_value = 1 OR us.uset_value IS NULL )');
    } else {
        // If General setting "newsletter_news" = 0 we take only users which accept newsletter email
        $SQL->WHERE_and('us.uset_value = 1');
    }
    return $SQL;
}
开发者ID:Ariflaw,项目名称:b2evolution,代码行数:25,代码来源:_emailcampaign.funcs.php

示例2: SQL

 /**
  * Get a count of blog members
  *
  * @return integer Members count
  */
 function get_members_count()
 {
     global $Blog, $DB;
     // Get blog owner
     $blogowner_SQL = new SQL();
     $blogowner_SQL->SELECT('user_ID, user_status');
     $blogowner_SQL->FROM('T_users');
     $blogowner_SQL->FROM_add('INNER JOIN T_blogs ON blog_owner_user_ID = user_ID');
     $blogowner_SQL->WHERE('blog_ID = ' . $DB->quote($Blog->ID));
     // Calculate what users are members of the blog
     $userperms_SQL = new SQL();
     $userperms_SQL->SELECT('user_ID, user_status');
     $userperms_SQL->FROM('T_users');
     $userperms_SQL->FROM_add('INNER JOIN T_coll_user_perms ON ( bloguser_user_ID = user_ID AND bloguser_ismember = 1 )');
     $userperms_SQL->WHERE('bloguser_blog_ID = ' . $DB->quote($Blog->ID));
     // Calculate what user groups are members of the blog
     $usergroups_SQL = new SQL();
     $usergroups_SQL->SELECT('user_ID, user_status');
     $usergroups_SQL->FROM('T_users');
     $usergroups_SQL->FROM_add('INNER JOIN T_groups ON grp_ID = user_grp_ID');
     $usergroups_SQL->FROM_add('LEFT JOIN T_coll_group_perms ON ( bloggroup_group_ID = grp_ID AND bloggroup_ismember = 1 )');
     $usergroups_SQL->WHERE('bloggroup_blog_ID = ' . $DB->quote($Blog->ID));
     $members_count_sql = 'SELECT COUNT( user_ID ) AS member_count FROM ( ' . $blogowner_SQL->get() . ' UNION ' . $userperms_SQL->get() . ' UNION ' . $usergroups_SQL->get() . ' ) AS members ' . 'WHERE members.user_status != "closed"';
     return intval($DB->get_var($members_count_sql));
 }
开发者ID:Ariflaw,项目名称:b2evolution,代码行数:30,代码来源:_member_count.widget.php

示例3: get_actions_for_itemtype

 * @license GNU GPL v2 - {@link http://b2evolution.net/about/gnu-gpl-license}
 *
 * @copyright (c)2009-2015 by Francois Planque - {@link http://fplanque.com/}
 * Parts of this file are copyright (c)2009 by The Evo Factory - {@link http://www.evofactory.com/}.
 *
 * @package evocore
 */
if (!defined('EVO_MAIN_INIT')) {
    die('Please, do not access this page directly.');
}
global $Blog;
// Create query
$SQL = new SQL();
$SQL->SELECT('t.*, IF( tb.itc_ityp_ID > 0, 1, 0 ) AS type_enabled');
$SQL->FROM('T_items__type AS t');
$SQL->FROM_add('LEFT JOIN T_items__type_coll AS tb ON itc_ityp_ID = ityp_ID AND itc_coll_ID = ' . $Blog->ID);
// Create result set:
$Results = new Results($SQL->get(), 'ityp_');
$Results->title = T_('Item/Post/Page types') . get_manual_link('managing-item-types');
// get reserved and default ids
global $default_ids;
$default_ids = ItemType::get_default_ids();
/**
 * Callback to build possible actions depending on post type id
 *
 */
function get_actions_for_itemtype($id)
{
    global $default_ids;
    $action = action_icon(T_('Duplicate this Post Type...'), 'copy', regenerate_url('action', 'ityp_ID=' . $id . '&action=new'));
    if (!ItemType::is_reserved($id)) {
开发者ID:Ariflaw,项目名称:b2evolution,代码行数:31,代码来源:_itemtypes.view.php

示例4: empty

    $s = empty($goal_filters['s']) ? '' : $goal_filters['s'];
    $cat = empty($goal_filters['cat']) ? 0 : $goal_filters['cat'];
} else {
    // Save new values to Session
    $goal_filters['final'] = $final;
    $goal_filters['s'] = $s;
    $goal_filters['cat'] = $cat;
}
// Save new filters
$Session->set('goal_filters', $goal_filters);
$Session->dbsave();
// Create query:
$SQL = new SQL();
$SQL->SELECT('g.*, gcat_name, gcat_color');
$SQL->FROM('T_track__goal AS g');
$SQL->FROM_add('LEFT JOIN T_track__goalcat ON gcat_ID = goal_gcat_ID');
if (!empty($final)) {
    // We want to filter on final goals only:
    $SQL->WHERE_and('goal_redir_url IS NULL');
}
if (!empty($s)) {
    // We want to filter on search keyword:
    // Note: we use CONCAT_WS (Concat With Separator) because CONCAT returns NULL if any arg is NULL
    $SQL->WHERE_and('CONCAT_WS( " ", goal_name, goal_key, goal_redir_url ) LIKE "%' . $DB->escape($s) . '%"');
}
if (!empty($cat)) {
    // We want to filter on category:
    $SQL->WHERE_and('goal_gcat_ID = ' . $DB->quote($cat));
}
// Create result set:
$Results = new Results($SQL->get(), 'goals_', '-A');
开发者ID:Ariflaw,项目名称:b2evolution,代码行数:31,代码来源:_stats_goals.view.php

示例5: tool_create_sample_comments

/**
 * Create sample comments and display a process of creating
 *
 * @param integer Blog ID
 * @param integer Number of comments
 * @param integer Number of posts
 */
function tool_create_sample_comments($blog_ID, $num_comments, $num_posts)
{
    global $DB, $posttypes_specialtypes, $localtimenow, $Hit, $Messages, $Debuglog;
    $BlogCache =& get_BlogCache();
    $selected_Blog = $BlogCache->get_by_ID($blog_ID, false, false);
    if ($selected_Blog == NULL) {
        // Incorrect blog ID, Exit here
        return;
    }
    echo T_('Creating of the sample comments...');
    evo_flush();
    /**
     * Disable log queries because it increases the memory and stops the process with error "Allowed memory size of X bytes exhausted..."
     */
    $DB->log_queries = false;
    $curr_orderby = $selected_Blog->get_setting('orderby');
    if ($curr_orderby == 'RAND') {
        $curr_orderby .= '()';
    } else {
        $curr_orderby = 'post_' . $curr_orderby;
    }
    $curr_orderdir = $selected_Blog->get_setting('orderdir');
    // find the $num_posts latest posts in blog
    $SQL = new SQL();
    $SQL->SELECT('post_ID');
    $SQL->FROM('T_items__item');
    $SQL->FROM_add('INNER JOIN T_categories ON post_main_cat_ID = cat_ID');
    $SQL->WHERE('cat_blog_ID = ' . $DB->quote($blog_ID));
    $SQL->WHERE_and('post_status = ' . $DB->quote('published'));
    // Set condition to not create sample comments for special posts
    $SQL->WHERE_and('post_ptyp_ID NOT IN ( ' . $DB->quote($posttypes_specialtypes) . ' )');
    $SQL->ORDER_BY($curr_orderby . ' ' . $curr_orderdir . ', post_ID ' . $curr_orderdir);
    $SQL->LIMIT($num_posts);
    $items_result = $DB->get_results($SQL->get(), ARRAY_A, 'Find the x latest posts in blog');
    $count = 1;
    $fix_content = 'This is an auto generated comment for testing the moderation features.
					http://www.test.com/test_comment_';
    // go through on selected items
    foreach ($items_result as $row) {
        $item_ID = $row['post_ID'];
        $ItemCache =& get_ItemCache();
        $commented_Item =& $ItemCache->get_by_ID($item_ID);
        // create $num_comments comments for each item
        for ($i = 0; $i < $num_comments; $i++) {
            $author = 'Test ' . $count;
            $email = 'test_' . $count . '@test.com';
            $url = 'http://www.test-' . rand(1, 3) . '.com/test_comment_' . $count;
            $content = $fix_content . $count;
            for ($j = 0; $j < 50; $j++) {
                // create 50 random word
                $length = rand(1, 15);
                $word = generate_random_key($length, 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ');
                $content = $content . ' ' . $word;
            }
            // create and save a new comment
            $Comment = new Comment();
            $Comment->set_Item($commented_Item);
            $Comment->set('status', 'draft');
            $Comment->set('author', $author);
            $Comment->set('author_email', $email);
            $Comment->set('author_url', $url);
            $Comment->set('content', $content);
            $Comment->set('date', date('Y-m-d H:i:s', $localtimenow));
            $Comment->set('author_IP', $Hit->IP);
            $Comment->dbsave();
            $count++;
            if ($count % 100 == 0) {
                // Display a process of creating by one dot for 100 comments
                echo ' .';
                evo_flush();
            }
            // Clear all debug messages, To avoid an error about full memory
            $Debuglog->clear('all');
        }
    }
    echo ' OK.';
    $Messages->add(sprintf(T_('Created %d comments.'), $count - 1), 'success');
}
开发者ID:ldanielz,项目名称:uesp.blog,代码行数:85,代码来源:_tool.funcs.php

示例6: SQL

 /**
  * Restrict by members
  *
  * @param boolean TRUE to select only member of the current Blog
  */
 function where_members($members)
 {
     global $DB, $Blog;
     if (empty($members) || is_admin_page() || empty($Blog) || $Blog->get_setting('allow_access') != 'members') {
         // Don't restrict
         return;
     }
     // Get blog owner
     $blogowner_SQL = new SQL();
     $blogowner_SQL->SELECT('user_ID');
     $blogowner_SQL->FROM('T_users');
     $blogowner_SQL->FROM_add('INNER JOIN T_blogs ON blog_owner_user_ID = user_ID');
     $blogowner_SQL->WHERE('blog_ID = ' . $DB->quote($Blog->ID));
     // Calculate what users are members of the blog
     $userperms_SQL = new SQL();
     $userperms_SQL->SELECT('user_ID');
     $userperms_SQL->FROM('T_users');
     $userperms_SQL->FROM_add('INNER JOIN T_coll_user_perms ON ( bloguser_user_ID = user_ID AND bloguser_ismember = 1 )');
     $userperms_SQL->WHERE('bloguser_blog_ID = ' . $DB->quote($Blog->ID));
     // Calculate what user groups are members of the blog
     $usergroups_SQL = new SQL();
     $usergroups_SQL->SELECT('user_ID');
     $usergroups_SQL->FROM('T_users');
     $usergroups_SQL->FROM_add('INNER JOIN T_groups ON grp_ID = user_grp_ID');
     $usergroups_SQL->FROM_add('LEFT JOIN T_coll_group_perms ON ( bloggroup_group_ID = grp_ID AND bloggroup_ismember = 1 )');
     $usergroups_SQL->WHERE('bloggroup_blog_ID = ' . $DB->quote($Blog->ID));
     $members_count_sql = 'SELECT DISTINCT user_ID FROM ( ' . $blogowner_SQL->get() . ' UNION ' . $userperms_SQL->get() . ' UNION ' . $usergroups_SQL->get() . ' ) members';
     $this->WHERE_and('user_ID IN ( ' . $members_count_sql . ' ) ');
 }
开发者ID:Ariflaw,项目名称:b2evolution,代码行数:34,代码来源:_userquery.class.php

示例7: detect_timeout_cron_jobs

/**
 * Detect timed out cron jobs and Send notifications
 *
 * @param array Task with error
 *             'name'
 *             'message'
 */
function detect_timeout_cron_jobs($error_task = NULL)
{
    global $DB, $time_difference, $cron_timeout_delay, $admin_url;
    $SQL = new SQL('Find cron timeouts');
    $SQL->SELECT('ctsk_ID, ctsk_name, ctsk_key');
    $SQL->FROM('T_cron__log');
    $SQL->FROM_add('INNER JOIN T_cron__task ON ctsk_ID = clog_ctsk_ID');
    $SQL->WHERE('clog_status = "started"');
    $SQL->WHERE_and('clog_realstart_datetime < ' . $DB->quote(date2mysql(time() + $time_difference - $cron_timeout_delay)));
    $SQL->GROUP_BY('ctsk_ID');
    $timeout_tasks = $DB->get_results($SQL->get(), OBJECT, $SQL->title);
    $tasks = array();
    if (count($timeout_tasks) > 0) {
        $cron_jobs_names = get_cron_jobs_config('name');
        foreach ($timeout_tasks as $timeout_task) {
            if (!empty($timeout_task->ctsk_name)) {
                // Task name is defined in DB
                $task_name = $timeout_task->ctsk_name;
            } else {
                // Try to get default task name by key:
                $task_name = isset($cron_jobs_names[$timeout_task->ctsk_key]) ? $cron_jobs_names[$timeout_task->ctsk_key] : $timeout_task->ctsk_key;
            }
            $tasks[$timeout_task->ctsk_ID] = array('name' => $task_name, 'message' => NT_('Cron job has timed out.'));
        }
        // Update timed out cron jobs:
        $DB->query('UPDATE T_cron__log
			  SET clog_status = "timeout"
			WHERE clog_ctsk_ID IN ( ' . $DB->quote(array_keys($tasks)) . ' )', 'Mark timeouts in cron jobs.');
    }
    if (!is_null($error_task)) {
        // Send notification with error task
        $tasks[$error_task['ID']] = $error_task;
    }
    if (count($tasks) > 0) {
        // Send notification email about timed out and error cron jobs to users with edit options permission
        $email_template_params = array('tasks' => $tasks);
        send_admin_notification(NT_('Scheduled task error'), 'scheduled_task_error_report', $email_template_params);
    }
}
开发者ID:Ariflaw,项目名称:b2evolution,代码行数:46,代码来源:_cron.funcs.php

示例8: SQL

 /**
  * Load members of a given blog
  *
  * @todo make a UNION query when we upgrade to MySQL 4
  * @param integer Blog ID to load members for
  * @param integer Limit, 0 - for unlimit
  */
 function load_blogmembers($blog_ID, $limit = 0)
 {
     global $DB, $Debuglog;
     if (isset($this->alreadyCached['blogmembers']) && isset($this->alreadyCached['blogmembers'][$blog_ID])) {
         $Debuglog->add("Already loaded <strong>{$this->objtype}(Blog #{$blog_ID} members)</strong> into cache", 'dataobjects');
         return false;
     }
     // Clear previous users to get only the members of this blog
     $this->clear();
     // Remember this special load:
     $this->alreadyCached['blogmembers'][$blog_ID] = true;
     $Debuglog->add("Loading <strong>{$this->objtype}(Blog #{$blog_ID} members)</strong> into cache", 'dataobjects');
     // Get users which are members of the blog:
     $user_perms_SQL = new SQL();
     $user_perms_SQL->SELECT('T_users.*');
     $user_perms_SQL->FROM('T_users');
     $user_perms_SQL->FROM_add('INNER JOIN T_coll_user_perms ON user_ID = bloguser_user_ID');
     $user_perms_SQL->WHERE('bloguser_blog_ID = ' . $DB->quote($blog_ID));
     $user_perms_SQL->WHERE_and('bloguser_ismember <> 0');
     // Get users which groups are members of the blog:
     $group_perms_SQL = new SQL();
     $group_perms_SQL->SELECT('T_users.*');
     $group_perms_SQL->FROM('T_users');
     $group_perms_SQL->FROM_add('INNER JOIN T_coll_group_perms ON user_grp_ID = bloggroup_group_ID');
     $group_perms_SQL->WHERE('bloggroup_blog_ID = ' . $DB->quote($blog_ID));
     $group_perms_SQL->WHERE_and('bloggroup_ismember <> 0');
     // Union two sql queries to execute one query and save an order as one list
     $users_sql = '( ' . $user_perms_SQL->get() . ' )' . ' UNION ' . '( ' . $group_perms_SQL->get() . ' )' . ' ORDER BY user_login';
     if ($limit > 0) {
         // Limit the users
         $users_sql .= ' LIMIT ' . $limit;
     }
     $users = $DB->get_results($users_sql);
     foreach ($users as $row) {
         if (!isset($this->cache[$row->user_ID])) {
             // Save reinstatiating User if it's already been added
             $this->add(new User($row));
         }
     }
     return true;
 }
开发者ID:ldanielz,项目名称:uesp.blog,代码行数:48,代码来源:_usercache.class.php

示例9: SQL

 $SQL_count = new SQL();
 $SQL_count->SELECT('COUNT(ghit_ID)');
 $SQL_count->FROM('T_track__goalhit LEFT JOIN T_hitlog ON ghit_hit_ID = hit_ID');
 if (!empty($datestart)) {
     $SQL->WHERE_and('hit_datetime >= ' . $DB->quote($datestart . ' 00:00:00'));
     $SQL_count->WHERE_and('hit_datetime >= ' . $DB->quote($datestart . ' 00:00:00'));
 }
 if (!empty($datestop)) {
     $SQL->WHERE_and('hit_datetime <= ' . $DB->quote($datestop . ' 23:59:59'));
     $SQL_count->WHERE_and('hit_datetime <= ' . $DB->quote($datestop . ' 23:59:59'));
 }
 if (!empty($sess_ID)) {
     // We want to filter on the session ID:
     $operator = $exclude ? ' <> ' : ' = ';
     $SQL->WHERE_and('hit_sess_ID' . $operator . $sess_ID);
     $SQL_count->FROM_add('LEFT JOIN T_sessions ON hit_sess_ID = sess_ID');
     $SQL_count->WHERE_and('hit_sess_ID' . $operator . $sess_ID);
 }
 if (!empty($goal_name) || !empty($goal_cat)) {
     $SQL_count->FROM_add('LEFT JOIN T_track__goal ON ghit_goal_ID = goal_ID');
     if (!empty($goal_name)) {
         // We want to filter on the goal name:
         $operator = $exclude ? ' NOT LIKE ' : ' LIKE ';
         $SQL->WHERE_and('goal_name' . $operator . $DB->quote($goal_name . '%'));
         $SQL_count->WHERE_and('goal_name' . $operator . $DB->quote($goal_name . '%'));
     }
     if (!empty($goal_cat)) {
         // We want to filter on the goal category:
         $operator = $exclude ? ' != ' : ' = ';
         $SQL->WHERE_and('goal_gcat_ID' . $operator . $DB->quote($goal_cat));
         $SQL_count->WHERE_and('goal_gcat_ID' . $operator . $DB->quote($goal_cat));
开发者ID:Ariflaw,项目名称:b2evolution,代码行数:31,代码来源:_stats_goalhits.view.php

示例10: translation_generate_po_file

/**
 * Generate .PO file
 *
 * @param string Locale
 */
function translation_generate_po_file($locale)
{
    global $DB, $locales_path, $locales;
    $po_folder_name = $locales_path . $locales[$locale]['messages'] . '/LC_MESSAGES/';
    $po_file_name = $po_folder_name . 'messages.po';
    if (!file_exists($po_file_name)) {
        if (!file_exists($locales_path . $locales[$locale]['messages'])) {
            evo_mkdir($locales_path . $locales[$locale]['messages']);
        }
        if (!file_exists($locales_path . $locales[$locale]['messages'] . '/LC_MESSAGES')) {
            evo_mkdir($locales_path . $locales[$locale]['messages'] . '/LC_MESSAGES');
        }
    }
    $locale_name = explode(' ', $locales[$locale]['name']);
    $po_content = array();
    $po_content[] = '# b2evolution - ' . $locale_name[0] . ' language file';
    $po_content[] = '# Copyright (C) ' . date('Y') . ' Francois PLANQUE';
    $po_content[] = '# This file is distributed under the same license as the b2evolution package.';
    $po_content[] = '';
    // Get the translated strings from DB
    $SQL = new SQL();
    $SQL->SELECT('iost_string, itst_standard');
    $SQL->FROM('T_i18n_original_string');
    $SQL->FROM_add('RIGHT OUTER JOIN T_i18n_translated_string ON iost_ID = itst_iost_ID');
    $SQL->WHERE('itst_locale = ' . $DB->quote($locale));
    $SQL->ORDER_BY('iost_string');
    $translated_strings = $DB->get_results($SQL->get());
    foreach ($translated_strings as $string) {
        $po_content[] = 'msgid "' . $string->iost_string . '"';
        $po_content[] = 'msgstr "' . $string->itst_standard . '"';
        $po_content[] = '';
    }
    // Write to .PO file
    $ok = save_to_file(implode("\r\n", $po_content), $po_file_name, 'w+');
    return (bool) $ok;
}
开发者ID:ldanielz,项目名称:uesp.blog,代码行数:41,代码来源:_translation.funcs.php

示例11: col_thread_recipients

/**
 * Get thread's recipients
 *
 * @param integer Thread ID
 * @param boolean TRUE for abuse management mode
 * @return string Recipients (avatar + login)
 */
function col_thread_recipients($thread_ID, $abuse_management)
{
    global $DB, $Blog;
    $SQL = new SQL();
    $SQL->SELECT('user_login');
    $SQL->FROM('T_messaging__threadstatus mts');
    $SQL->FROM_add('LEFT JOIN T_users u ON user_ID = tsta_user_ID');
    $SQL->WHERE('tsta_thread_ID = ' . $thread_ID);
    if (!$abuse_management) {
        // Show current user only in abuse management
        global $current_User;
        $SQL->WHERE_and('tsta_user_ID != ' . $current_User->ID);
    }
    $recipients = $DB->get_col($SQL->get());
    $image_size = isset($Blog) ? $Blog->get_setting('image_size_messaging') : 'crop-top-32x32';
    return get_avatar_imgtags($recipients, true, true, $image_size, 'avatar_before_login_middle mb1', '', NULL, true, '<br />', true);
}
开发者ID:ldanielz,项目名称:uesp.blog,代码行数:24,代码来源:_messaging.funcs.php

示例12: sprintf

$UserCache->clear(true);
$UserCache->load_by_sql($SQL);
$loaded_ids = $UserCache->get_ID_array();
if (empty($loaded_ids)) {
    // UserCache result is empty which means nobody wants to receive notifications
    $result_message = sprintf('Could not find any moderators wanting to receive post moderation notifications for the blogs that have posts pending moderation!');
    return 1;
}
// load all required Blogs
$BlogCache =& get_BlogCache();
$BlogCache->load_list($moderation_blogs);
// count all posts awaiting for moderation in the required blogs, group by blog/post_status/author_level
$SQL = new SQL();
$SQL->SELECT('cat_blog_ID as blog_ID, post_status, user_level as author_level, count( post_ID ) as post_count');
$SQL->FROM('T_items__item');
$SQL->FROM_add('LEFT JOIN T_users ON user_ID = post_creator_user_ID');
$SQL->FROM_add('LEFT JOIN T_categories ON cat_ID = post_main_cat_ID');
$SQL->WHERE('post_status IN ( ' . $DB->quote($notify_statuses) . ' )');
$SQL->WHERE_and('cat_blog_ID IN (' . implode(',', $moderation_blogs) . ')');
$SQL->GROUP_BY('cat_blog_ID, post_status, author_level');
$blog_posts = $DB->get_results($SQL->get());
// Create a posts map by blog_ID:post_status:author_level:count. This way it will be much easier to get allowed posts for a specific permission
$posts_map = array();
$last_blog_ID = NULL;
foreach ($blog_posts as $row) {
    if ($last_blog_ID != $row->blog_ID) {
        $Blog =& $BlogCache->get_by_ID($row->blog_ID);
        $blog_moderation_statuses = $Blog->get_setting('post_moderation_statuses');
        $last_blog_ID = $row->blog_ID;
    }
    if (strpos($blog_moderation_statuses, $row->post_status) === false) {
开发者ID:Ariflaw,项目名称:b2evolution,代码行数:31,代码来源:_post_moderation_reminder.job.php

示例13: get_commentcount_in_category

/**
 * Get # of comments for each category in a blog
 *
 * @param integer Category ID
 * @param integer Blog ID
 */
function get_commentcount_in_category($cat_ID, $blog_ID = NULL)
{
    if (is_null($blog_ID)) {
        global $blog;
        $blog_ID = $blog;
    }
    global $DB, $number_of_comments_in_cat;
    if (!isset($number_of_comments_in_cat[(string) $blog_ID])) {
        global $posttypes_specialtypes;
        $SQL = new SQL();
        $SQL->SELECT('cat_ID, COUNT( comment_ID ) c');
        $SQL->FROM('T_comments');
        $SQL->FROM_add('LEFT JOIN T_postcats ON comment_item_ID = postcat_post_ID');
        $SQL->FROM_add('LEFT JOIN T_categories ON postcat_cat_ID = cat_id');
        $SQL->FROM_add('LEFT JOIN T_items__item ON comment_item_ID = post_id');
        $SQL->WHERE('cat_blog_ID = ' . $DB->quote($blog_ID));
        $SQL->WHERE_and('comment_type IN ( "comment", "trackback", "pingback" )');
        $SQL->WHERE_and(statuses_where_clause(get_inskin_statuses($blog_ID, 'comment'), 'comment_', $blog_ID, 'blog_comment!', true));
        // add where condition to show only those posts commetns which are visible for the current User
        $SQL->WHERE_and(statuses_where_clause(get_inskin_statuses($blog_ID, 'post'), 'post_', $blog_ID, 'blog_post!', true));
        if (!empty($posttypes_specialtypes)) {
            // Get content post types, Exclide pages, intros, sidebar links and ads
            $SQL->WHERE_and('post_ityp_ID NOT IN( ' . $DB->quote($posttypes_specialtypes) . ' )');
        }
        $SQL->GROUP_BY('cat_ID');
        $number_of_comments_in_cat[(string) $blog_ID] = $DB->get_assoc($SQL->get());
    }
    return isset($number_of_comments_in_cat[(string) $blog_ID][$cat_ID]) ? (int) $number_of_comments_in_cat[(string) $blog_ID][$cat_ID] : 0;
}
开发者ID:Ariflaw,项目名称:b2evolution,代码行数:35,代码来源:_category.funcs.php

示例14: SQL

}
// Get all distinct hash values from what we have duplicates and at least one file from duplicates corresponds to filters
$hash_results = $DB->get_assoc($hash_SQL->get());
$file_hash_values = array_keys($hash_results);
// set the number of count all files which will be displayed
$num_file_results = array_sum($hash_results);
if ($num_file_results > 0) {
    // Create SQL query to build a results table
    $SQL = new SQL();
    $SQL->SELECT('f.*,
		SUM( IFNULL( lvot_like, 0 ) ) as total_like,
		SUM( IFNULL( lvot_inappropriate, 0 ) ) as total_inappropriate,
		SUM( IFNULL( lvot_spam, 0 ) ) as total_spam,
		( SELECT COUNT( file_ID ) FROM T_files AS f2 WHERE f.file_hash = f2.file_hash ) AS total_duplicates');
    $SQL->FROM('T_files AS f');
    $SQL->FROM_add('LEFT JOIN T_links AS l ON l.link_file_ID = f.file_ID');
    $SQL->FROM_add('LEFT JOIN T_links__vote AS lv ON lv.lvot_link_ID = l.link_ID');
    $SQL->WHERE('f.file_hash IN ( ' . $DB->quote($file_hash_values) . ' )');
    $SQL->GROUP_BY('f.file_ID, f.file_hash');
    $SQL->ORDER_BY('f.file_hash, *, total_spam DESC, total_inappropriate DESC');
}
$Results = new Results($num_file_results ? $SQL->get() : NULL, 'fdupl_', $default_order, $UserSettings->get('results_per_page'), $num_file_results);
$Results->Cache =& get_FileCache();
$Results->Cache->clear();
$Results->title = T_('Duplicate files') . get_manual_link('file-moderation-duplicates');
/*
 * Grouping params:
 */
$Results->group_by = 'file_hash';
/*
 * Group columns:
开发者ID:Ariflaw,项目名称:b2evolution,代码行数:31,代码来源:_file_duplicates.view.php

示例15: sprintf

$UserCache->clear(true);
$UserCache->load_by_sql($SQL);
$loaded_ids = $UserCache->get_ID_array();
if (empty($loaded_ids)) {
    // UserCache result is empty which means nobody wants to receive notifications
    $result_message = sprintf(T_('Could not find any moderators wanting to receive comment moderation notifications for the blogs that have comments pending moderation!'));
    return 1;
}
// load all required Blogs
$BlogCache =& get_BlogCache();
$BlogCache->load_list($moderation_blogs);
// count all comments awaiting for moderation in the required blogs, group by blog/comment_status/author_level
$SQL = new SQL();
$SQL->SELECT('cat_blog_ID as blog_ID, comment_status, IF( comment_author_ID IS NULL, 0, user_level ) as author_level, count( comment_ID ) as cmt_count');
$SQL->FROM('T_comments');
$SQL->FROM_add('LEFT JOIN T_users ON user_ID = comment_author_ID');
$SQL->FROM_add('LEFT JOIN T_items__item ON post_ID = comment_post_ID');
$SQL->FROM_add('LEFT JOIN T_categories ON cat_ID = post_main_cat_ID');
$SQL->WHERE('comment_status IN ( ' . $DB->quote($notify_statuses) . ' )');
$SQL->WHERE_and('post_status IN ( ' . $DB->quote(array('published', 'community', 'protected')) . ' )');
$SQL->WHERE_and('cat_blog_ID IN (' . implode(',', $moderation_blogs) . ')');
$SQL->GROUP_BY('cat_blog_ID, comment_status, author_level');
$blog_comments = $DB->get_results($SQL->get());
// Create a comments map by blog_ID:comment_status:author_level:count. This way it will be much easier to get allowed comments for a specific permission
$comments_map = array();
$last_blog_ID = NULL;
foreach ($blog_comments as $row) {
    if ($last_blog_ID != $row->blog_ID) {
        $Blog =& $BlogCache->get_by_ID($row->blog_ID);
        $blog_moderation_statuses = $Blog->get_setting('moderation_statuses');
        $last_blog_ID = $row->blog_ID;
开发者ID:ldanielz,项目名称:uesp.blog,代码行数:31,代码来源:_comment_moderation_reminder.job.php


注:本文中的SQL::FROM_add方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。