コード例 #1
0
ファイル: cpm_page_new.php プロジェクト: alphaomegahost/FIN
/**
 * The logic to process and validate form entry
 * 
 * @global array $current_user
 * @return object WP_ERROR
 */
function cpm_page_new_process()
{
    global $current_user;
    get_currentuserinfo();
    $cpm_errors = new WP_Error();
    if (!cpm_currentUserCanStartThread()) {
        $cpm_errors->add('noPermission', __('You do not have the permission to send new PMs.', 'cubepm'));
        return $cpm_errors;
    }
    $recipients = (array) explode(',', $_POST['cpm_recipient']);
    $valid_recipients = array();
    $invalid_recipients = array();
    foreach ($recipients as $recipient) {
        $recipient = trim($recipient);
        if ($recipient != '') {
            $user = get_user_by('login', $recipient);
            if ($user) {
                $valid_recipients[] = $user->ID;
            } else {
                $invalid_recipients[] = $recipient;
            }
            $valid_recipients = array_unique($valid_recipients);
            $invalid_recipients = array_unique($invalid_recipients);
        }
    }
    if (count($invalid_recipients) > 0) {
        $cpm_errors->add('invalidRecipient', __('One or more users you entered is invalid.', 'cubepm'));
    } else {
        if (count($valid_recipients) == 0) {
            $cpm_errors->add('emptyRecipient', __('Please enter the user you would like to send your PM to.', 'cubepm'));
        } else {
            if (in_array($current_user->ID, $valid_recipients)) {
                $cpm_errors->add('selfRecipient', __('You cannot send a PM to yourself!', 'cubepm'));
            }
        }
    }
    $subject = trim($_POST['cpm_subject']);
    if ($subject == '') {
        $cpm_errors->add('emptySubject', __('Please enter a subject!', 'cubepm'));
    }
    $message = trim($_POST['cpm_message']);
    if ($message == '') {
        $cpm_errors->add('emptyMessage', __('Please enter a message!', 'cubepm'));
    }
    if (count($cpm_errors->get_error_codes()) == 0) {
        cpm_new_thread($current_user->ID, $valid_recipients, apply_filters('cpm_subject', $subject), apply_filters('cpm_message', $message));
    }
    return $cpm_errors;
}
コード例 #2
0
ファイル: cpm_main.php プロジェクト: alphaomegahost/FIN
/**
 * CubePM HTML header
 * 
 * @todo Improve interface
 * 
 * @global $current_user;
 * @return string
 */
function cpm_header()
{
    $html = '<div class="cpm-header">';
    $html .= '<a class="cpm-button" href="' . cpm_buildURL(array('cpm_action' => 'inbox')) . '">' . __('Inbox', 'cubepm') . ' (' . cpm_inboxCount() . ')</a> ';
    if (cpm_currentUserCanStartThread()) {
        $html .= '<a class="cpm-button" href="' . cpm_buildURL(array('cpm_action' => 'new')) . '">' . __('New PM', 'cubepm') . '</a> ';
    }
    if (current_user_can('administrator')) {
        $html .= '<a class="cpm-button" href="' . cpm_buildURL(array('cpm_action' => 'admin-inbox')) . '">' . __('View all PMs', 'cubepm') . '</a> ';
    }
    $html .= '</div>';
    return $html;
}