/** * Sends messages from queue * @param $count * @return void */ function send_messages_from_queue($count) { global $setting; $count = intval($count) ? intval($count) : 10; $campaigns = array(); $senders = array(); $messages = he_database::fetch_array("SELECT * FROM se_he_mass_mailing_queue ORDER BY id LIMIT $count"); foreach ($messages as $message) { if( !$this->delete_message_from_queue($message['id']) ) continue; //get campaign if( !$campaigns[$message['campaign_id']] ) $campaigns[$message['campaign_id']] = $this->get_campaign($message['campaign_id']); $campaign = $campaigns[$message['campaign_id']]; //get sender if it is not email and sender is not admin if( !$campaign['is_email'] && $campaign['sender'] ) { if( !$senders[$campaign['sender']] ) $senders[$campaign['sender']] = new se_user(array($campaign['sender'], '')); $sender = $senders[$campaign['sender']]; if( !$sender->user_exists ) continue; } //get recipient $recipient = null; if( $message['recipient'] ) { $recipient = new se_user(array($message['recipient'], '')); if( !$recipient->user_exists ) continue; } else { if( !$message['email'] ) continue; } //set subject and message $subject = $message['replace'] ? vsprintf($campaign['subject'], unserialize($message['replace'])) : $campaign['subject']; $body = $message['replace'] ? vsprintf($campaign['message'], unserialize($message['replace'])) : $campaign['message']; //send email/message if( $campaign['is_email'] ) { $mail = new PHPMailer(); $mail->From = $setting['setting_email_fromemail']; $mail->FromName = $setting['setting_email_fromname']; $mail->Subject = $subject; $mail->AltBody = $body;//'To view the message, please use an HTML compatible email viewer.'; $mail->MsgHTML($body); if( $recipient ) $mail->AddAddress($recipient->user_info['user_email'], $recipient->user_displayname); else $mail->AddAddress($message['email'], $message['full_name']); $mail->Send(); } else { if( !$recipient->user_exists || !$sender->user_exists ) continue; $sender->user_message_send($recipient->user_info['user_username'], $subject, $body); } } }
function find_cats() { $query = "SELECT * FROM `se_he_quiz_cat` WHERE 1"; return he_database::fetch_array($query); }
function get_paging_comments($action_id, $start = 0, $limit = 0) { $query = he_database::placeholder("SELECT `c`.*, `u`.`user_username`, `u`.`user_fname`, `u`.`user_lname`, `u`.`user_photo`\r\n FROM `se_he_wall_comment` AS `c` \r\n INNER JOIN `se_users` AS `u` ON (`c`.`author_id`=`u`.`user_id`)\r\n WHERE `c`.`action_id`=?\r\n ORDER BY `c`.`id`", $action_id); if ($start < 0) { $start = 0; } if ($start != 0 && $limit != 0) { $query .= " LIMIT {$start}, {$limit}"; } elseif ($start == 0 && $limit != 0) { $query .= " LIMIT {$limit}"; } $count = he_database::num_rows(he_database::query($query)); $temp = he_database::fetch_array($query); foreach ($temp as $key => $t) { $temp[$key]['author'] = new se_user(array($t['author_id'])); } $action_comments[$action_id] = $temp; return array('count' => $count, 'action_comments' => $action_comments, 'sql' => $query); }
function get_user_uploads() { $query = he_database::placeholder("SELECT * FROM `se_he_uploads`\r\n WHERE `uploads_user_id`=? AND `uploads_instance_type`='?'", $this->user_id, $this->instance_type); return he_database::fetch_array($query); }