コード例 #1
0
ファイル: cron.php プロジェクト: jomsocial/JSVoice
function sendMailChangeStatus()
{
    $delete = FALSE;
    $model_sendmail = JModel::getInstance('sendmail', 'javoiceModel');
    if ($model_sendmail->checkIn()) {
        $path = JPATH_COMPONENT_SITE . DS . "asset" . DS . "emails" . DS . "change";
        $params = $model_sendmail->readFile($path);
        if ($params) {
            $user_id = $params->get('user_id', '');
            if ($user_id != '') {
                $user_ids = explode(',', $user_id);
            }
            if ($user_ids) {
                $count = count($user_ids);
                if ($count > 0) {
                    $helper = new JAVoiceHelpers();
                    $subject = $params->get('subject', '');
                    $mailcontent = $params->get('mailcontent', '');
                    $mailcontent = str_replace("###", "\n", $mailcontent);
                    $n = 100;
                    if (100 >= $count) {
                        $n = $count;
                        $delete = TRUE;
                    }
                    $del_user_ids = array();
                    for ($i = 0; $i < $n; $i++) {
                        $del_user_ids[$i] = $user_ids[$i];
                        $user = JFactory::getUser($user_ids[$i]);
                        $email = $user->email;
                        $nameto = $user->username;
                        $filters = array();
                        $filters['{USERS_USERNAME}'] = $user->username;
                        $filters['{USERS_EMAIL}'] = $user->email;
                        $link .= JRoute::_("index.php?option=com_javoice&view=users&uid={$user->id}&tab=2");
                        $filters['{EMAIL_PREFERENCE_LINK}'] = "<a href=\"{$link}\">" . JText::_("TURN_OFF_OR_EDIT_YOUR_EMAIL_NOTIFICATIONS") . "<a>";
                        $helper->sendmail($email, $nameto, $subject, $mailcontent, $filters, '', '', '', FALSE);
                    }
                } else {
                    $delete = TRUE;
                }
            } else {
                $delete = TRUE;
            }
        } else {
            $delete = TRUE;
        }
        if ($delete) {
            $model_sendmail->deleteFile();
        } else {
            $new_user = array_diff($user_ids, $del_user_ids);
            $new_user = implode(",", $new_user);
            $params->set('user_id', $new_user);
            $content = $params->toString();
            $model_sendmail->writeLogFileChange($content);
        }
    }
}