Exemplo n.º 1
0
    function person_select_user_callback($post)
    {
        $post = get_post();
        wp_nonce_field(basename(__FILE__), 'person_select_user-nonce');
        $email = get_post_meta($post->ID, 'email', true);
        // Get user for person
        $user_id = get_user_by_person($post->ID);
        if ($user_id) {
            $profile_link = add_query_arg('user_id', $user_id, self_admin_url('user-edit.php'));
            echo '<a href="' . $profile_link . '">Ссылка на профиль</a>';
        } else {
            ?>

                <label for="user_email_for_added">Укажите адрес эл.почты для приглашения:</label><br/>
                <input type="text" id="user_email_for_added" name="user_email_for_add_cp" class="field_cp" value="<?php 
            echo $email;
            ?>
" size="30">
                <label for="add_user_by_email_cp"><input type="checkbox" name="add_user_by_email_cp" id="add_user_by_email_cp" class="field_cp"> Подключить пользователя</label>
                <p>
                    <small>Внимание! Эти данные указываются только если требуется предоставить персоне доступ к системе.</small>
                </p>
            <?php 
        }
    }
Exemplo n.º 2
0
 function update_acl_if_updated_members($meta_ids, $object_id, $meta_key, $meta_value)
 {
     if ($meta_key != 'members-cp-posts-sql') {
         return;
     }
     // Проверяем нужный нам ключ
     $user_id = get_user_by_person($meta_value);
     if (empty($user_id)) {
         return;
     }
     //Если нет пользователя, то возврат
     $members = get_post_meta($object_id, 'members-cp-posts-sql');
     $acl_users_s = get_post_meta($object_id, 'acl_users_s');
     //Если персона еще в участниках, то добавить ACL, иначе - удалить
     if (in_array($meta_value, $members)) {
         if (!in_array($user_id, $acl_users_s)) {
             add_post_meta($object_id, 'acl_users_s', $user_id);
         }
         // если пользователя нет в списке, то добавить
     } else {
         if (in_array($user_id, $acl_users_s)) {
             delete_post_meta($object_id, 'acl_users_s', $user_id);
         }
         // если пользовател в списке, то удалить
     }
     return;
 }
function add_users_list_to_comment_for_notice($comment_id, $comment)
{
    //get post ID and $post
    $post_id = $comment->comment_post_ID;
    $r = get_post($post_id);
    //it is cases?
    if ($r->post_type != 'cases') {
        return;
    }
    if ($comment->comment_type == 'visited') {
        return;
    }
    //add tag for plan email
    add_comment_meta($comment_id, 'email_notify', 0, true);
    //get members for cases
    $members = get_post_meta($post_id, 'members-cp-posts-sql');
    //$message = $post_id . '<пост, участник: ' . print_r($members, true);
    //error_log($message);
    //add user id to list for notification
    foreach ($members as $member) {
        $id_usr = get_user_by_person($member);
        //Если участник и автор комментария есть одно и то же, то не нужно добавлять в список уведомлений (зачем автору читать свой же коммент на почте?)
        if ($comment->user_id == $id_usr) {
            continue;
        }
        //Если у участника есть пользователь
        if ($id_usr > 0) {
            add_comment_meta($comment_id, 'notify_user', $id_usr);
            //error_log('comment: '. $comment_id . ', val: ' . $user);
        }
    }
    return;
}
Exemplo n.º 4
0
function add_notice_for_added_members($meta_id, $object_id, $meta_key, $meta_value)
{
    if ($meta_key != 'members-cp-posts-sql') {
        return;
    }
    $comment_check = get_comments(array('post_id' => $object_id, 'post_type' => 'cases', 'type' => 'event_case_member_added', 'meta_key' => 'member_id', 'meta_value' => $meta_value));
    //if (! empty($comment_check)) return;
    $user_ID = get_current_user_id();
    $comment_id = wp_insert_comment(array('comment_post_ID' => $object_id, 'comment_author' => 'CasePress', 'comment_content' => 'Добавлен участник - ' . get_the_title($meta_value), 'comment_type' => 'event_case_member_added', 'user_ID' => $user_ID, 'comment_approved' => true));
    //exit(var_dump($comment_id));
    //Добавляем ИД участника в мету
    add_comment_meta($comment_id, 'member_id', $meta_value, true);
    //Если у персоны есть пользователь, то добавить в план уведомлений
    $user_id_member = get_user_by_person($meta_value);
    if ($user_id_member > 0) {
        add_comment_meta($comment_id, 'email_notify', 0, true);
        add_comment_meta($comment_id, 'notify_user', $user_id_member, true);
    }
    return;
}