コード例 #1
0
 function getEmail($userid)
 {
     require_once QA_INCLUDE_DIR . 'qa-db-selects.php';
     if (QA_FINAL_EXTERNAL_USERS) {
         $email = qa_get_user_email($userid);
     } else {
         $useraccount = qa_db_select_with_pending(qa_db_user_account_selectspec($userid, true));
         $email = @$useraccount['email'];
     }
     return $email;
 }
コード例 #2
0
ファイル: emails.php プロジェクト: kosmoluna/question2answer
function qa_send_notification($userid, $email, $handle, $subject, $body, $subs, $html = false)
{
    if (qa_to_override(__FUNCTION__)) {
        $args = func_get_args();
        return qa_call_override(__FUNCTION__, $args);
    }
    global $qa_notifications_suspended;
    if ($qa_notifications_suspended > 0) {
        return false;
    }
    require_once QA_INCLUDE_DIR . 'db/selects.php';
    require_once QA_INCLUDE_DIR . 'util/string.php';
    if (isset($userid)) {
        $needemail = !qa_email_validate(@$email);
        // take from user if invalid, e.g. @ used in practice
        $needhandle = empty($handle);
        if ($needemail || $needhandle) {
            if (QA_FINAL_EXTERNAL_USERS) {
                if ($needhandle) {
                    $handles = qa_get_public_from_userids(array($userid));
                    $handle = @$handles[$userid];
                }
                if ($needemail) {
                    $email = qa_get_user_email($userid);
                }
            } else {
                $useraccount = qa_db_select_with_pending(array('columns' => array('email', 'handle'), 'source' => '^users WHERE userid = #', 'arguments' => array($userid), 'single' => true));
                if ($needhandle) {
                    $handle = @$useraccount['handle'];
                }
                if ($needemail) {
                    $email = @$useraccount['email'];
                }
            }
        }
    }
    if (isset($email) && qa_email_validate($email)) {
        $subs['^site_title'] = qa_opt('site_title');
        $subs['^handle'] = $handle;
        $subs['^email'] = $email;
        $subs['^open'] = "\n";
        $subs['^close'] = "\n";
        return qa_send_email(array('fromemail' => qa_opt('from_email'), 'fromname' => qa_opt('site_title'), 'toemail' => $email, 'toname' => $handle, 'subject' => strtr($subject, $subs), 'body' => (empty($handle) ? '' : qa_lang_sub('emails/to_handle_prefix', $handle)) . strtr($body, $subs), 'html' => $html));
    } else {
        return false;
    }
}
コード例 #3
0
function qa_send_notification($userid, $email, $handle, $subject, $body, $subs)
{
    global $qa_notifications_suspended;
    if ($qa_notifications_suspended > 0) {
        return false;
    }
    require_once QA_INCLUDE_DIR . 'qa-db-selects.php';
    require_once QA_INCLUDE_DIR . 'qa-util-emailer.php';
    require_once QA_INCLUDE_DIR . 'qa-util-string.php';
    if (isset($userid)) {
        $needemail = !qa_email_validate(@$email);
        // take from user if invalid, e.g. @ used in practice
        $needhandle = empty($handle);
        if ($needemail || $needhandle) {
            if (QA_FINAL_EXTERNAL_USERS) {
                if ($needhandle) {
                    $handles = qa_get_public_from_userids(array($userid));
                    $handle = @$handles[$userid];
                }
                if ($needemail) {
                    $email = qa_get_user_email($userid);
                }
            } else {
                $useraccount = qa_db_select_with_pending(qa_db_user_account_selectspec($userid, true));
                if ($needhandle) {
                    $handle = @$useraccount['handle'];
                }
                if ($needemail) {
                    $email = @$useraccount['email'];
                }
            }
        }
    }
    if (isset($email) && qa_email_validate($email)) {
        $subs['^site_title'] = qa_opt('site_title');
        $subs['^handle'] = $handle;
        $subs['^email'] = $email;
        $subs['^open'] = "\n";
        $subs['^close'] = "\n";
        return qa_send_email(array('fromemail' => qa_opt('from_email'), 'fromname' => qa_opt('site_title'), 'toemail' => $email, 'toname' => $handle, 'subject' => strtr($subject, $subs), 'body' => (empty($handle) ? '' : $handle . ",\n\n") . strtr($body, $subs), 'html' => false));
    } else {
        return false;
    }
}
コード例 #4
0
ファイル: functions.php プロジェクト: rahularyan/dude-theme
function qw_get_avatar($handle, $size = 40, $html = true)
{
    $userid = qa_handle_to_userid($handle);
    if (defined('QA_WORDPRESS_INTEGRATE_PATH')) {
        $img_html = get_avatar(qa_get_user_email($userid), $size);
    } else {
        if (QA_FINAL_EXTERNAL_USERS) {
            $img_html = qa_get_external_avatar_html($userid, $size, false);
        } else {
            if (!isset($handle)) {
                if (qa_opt('avatar_allow_upload') && qa_opt('avatar_default_show') && strlen(qa_opt('avatar_default_blobid'))) {
                    $img = qa_opt('avatar_default_blobid');
                } else {
                    $img = '';
                }
            } else {
                $f = ra_user_data($handle);
                if (empty($f['account']['avatarblobid'])) {
                    if (qa_opt('avatar_allow_upload') && qa_opt('avatar_default_show') && strlen(qa_opt('avatar_default_blobid'))) {
                        $img = qa_opt('avatar_default_blobid');
                    } else {
                        $img = '';
                    }
                } else {
                    $img = $f['account']['avatarblobid'];
                }
            }
        }
    }
    if (empty($img)) {
        return;
    }
    if ($html) {
        return '<a href="' . qa_path_absolute('user/' . $handle) . '"><img src="' . qa_path_absolute('', array('qa' => 'image', 'qa_blobid' => $img, 'qa_size' => $size)) . '" /></a>';
    } elseif (!empty($img)) {
        return qa_path_absolute('', array('qa' => 'image', 'qa_blobid' => $img, 'qa_size' => $size));
    }
}
コード例 #5
0
ファイル: functions.php プロジェクト: microbye/CleanStrap
function cs_get_post_avatar($post, $userid, $size = 40, $html = false)
{
    if (defined('QA_WORDPRESS_INTEGRATE_PATH')) {
        $avatar = get_avatar(qa_get_user_email($userid), $size);
    }
    if (QA_FINAL_EXTERNAL_USERS) {
        $avatar = qa_get_external_avatar_html($post['userid'], $size, false);
    } else {
        $avatar = qa_get_user_avatar_html($post['flags'], $post['email'], $post['handle'], $post['avatarblobid'], $post['avatarwidth'], $post['avatarheight'], $size);
    }
    if ($html) {
        return '<div class="avatar" data-id="' . $userid . '" data-handle="' . $post['handle'] . '">' . $avatar . '</div>';
    }
    return $avatar;
}
コード例 #6
0
ファイル: qa-donut-utils.php プロジェクト: hckrtech/Donut
function donut_get_post_avatar($post, $size = 40, $html = false)
{
    if (!isset($post['raw'])) {
        $post['raw']['userid'] = $post['userid'];
        $post['raw']['flags'] = $post['flags'];
        $post['raw']['email'] = $post['email'];
        $post['raw']['handle'] = $post['handle'];
        $post['raw']['avatarblobid'] = $post['avatarblobid'];
        $post['raw']['avatarwidth'] = $post['avatarwidth'];
        $post['raw']['avatarheight'] = $post['avatarheight'];
    }
    if (defined('QA_WORDPRESS_INTEGRATE_PATH')) {
        $avatar = get_avatar(qa_get_user_email($post['raw']['userid']), $size);
    }
    if (QA_FINAL_EXTERNAL_USERS) {
        $avatar = qa_get_external_avatar_html($post['raw']['userid'], $size, false);
    } else {
        $avatar = qa_get_user_avatar_html($post['raw']['flags'], $post['raw']['email'], $post['raw']['handle'], $post['raw']['avatarblobid'], $post['raw']['avatarwidth'], $post['raw']['avatarheight'], $size);
    }
    if (empty($avatar)) {
        // if the default avatar is not set by the admin , then take the default
        $avatar = donut_get_default_avatar($size);
    }
    if ($html) {
        return '<div class="avatar" data-id="' . $post['raw']['userid'] . '" data-handle="' . $post['raw']['handle'] . '">' . $avatar . '</div>';
    }
    return $avatar;
}
コード例 #7
0
function qa_news_plugin_send_newsletter($news)
{
    $users = qa_db_read_all_values(qa_db_query_sub("SELECT userid FROM qa_usermetas WHERE title = \$ AND content = \$", 'newsletter', '1'));
    require_once QA_INCLUDE_DIR . 'qa-app-emails.php';
    $handles = qa_userids_to_handles($users);
    foreach ($users as $userid) {
        $handle = $handles[$userid];
        if (QA_FINAL_EXTERNAL_USERS) {
            $email = qa_get_user_email($userid);
        } else {
            $useraccount = qa_db_select_with_pending(qa_db_user_account_selectspec($userid, true));
            $email = @$useraccount['email'];
        }
        qa_send_email(array('fromemail' => qa_opt('from_email'), 'fromname' => qa_opt('site_title'), 'toemail' => $email, 'toname' => $handle, 'subject' => qa_opt('site_title') . ' ' . qa_lang('newsletter/newsletter'), 'body' => $news, 'html' => true));
    }
    error_log('Q2A Newsletter Sent on ' . date('M j, Y \\a\\t H\\:i\\:s'));
}