Exemplo n.º 1
0
 /**
  * Adding multiple recipients;
  * 
  * @param ARRAY recipients
  * @param INT thread
  * @param BOOLEAN check_thread
  */
 function add_recipients($users, $thread_id, $check_thread = true)
 {
     if ($check_thread) {
         if (!$this->thread_exists($thread_id)) {
             e(lang('Invalid thread while adding recipient'));
             return false;
         }
     }
     $users = array_unique($users);
     foreach ($users as $uid) {
         $fields[] = array('userid' => $uid, 'thread_id' => $thread_id, 'date_added' => now(), 'time_added' => time());
     }
     db_multi_insert(tbl('recipients'), $fields);
 }
function add_subscription_content($type, $results, $subscription_id)
{
    $sql_values = get_subscriptions_db_values();
    $callbacks = get_subscriptions_callback();
    $sql = $sql_values[$type];
    if (!$sql) {
        return false;
    }
    extract($sql);
    if ($results) {
        foreach ($results as $result) {
            if (isset($callbacks[$type])) {
                $content = $callbacks[$type]($result[$id]);
            } else {
                $content = get_content($type, $result[$id]);
            }
            if (!$content or !is_array($content)) {
                continue;
            }
            $array['content_id'] = $result[$id];
            $array['content_type'] = $type;
            $array['content_owner_id'] = $result['userid'];
            $array['date_added'] = $result[$date];
            $array['time_added'] = strtotime($result[$date]);
            $array['content_cache_id'] = add_object_cache($result[$id], create_subscription_cache_type($type), is_array($content) ? json_encode($content) : $content);
            $array['subscription_id'] = $subscription_id;
            $fields[] = $array;
        }
        if ($fields and count($fields) > 0) {
            $insert = db_multi_insert(tbl('subscriptions_content'), $fields);
            if ($insert) {
                e(lang('Inital actions performed'), 'm');
            }
        }
    }
}