예제 #1
0
 /**
  * check the query string to display an admin message for various actions
  *
  * @return html               the HTML formatted admin page message
  */
 public function admin_notices()
 {
     // first check to make sure we're on our settings
     if (empty($_REQUEST['page']) || empty($_REQUEST['page']) && $_REQUEST['page'] !== 'temporary-admin-user') {
         return;
     }
     // if we have neither success or error, bail
     if (empty($_REQUEST['success']) && empty($_REQUEST['error'])) {
         return;
     }
     // if we have success, just return that and go on your way
     if (!empty($_REQUEST['success'])) {
         // get my success type
         $type = !empty($_REQUEST['type']) ? $_REQUEST['type'] : 'created';
         // display the message
         echo '<div id="message" class="updated below-h2 tempadmin-message">';
         echo '<p>' . TempAdminUser_Utilities::get_admin_messages($type) . '</p>';
         echo '</div>';
         return;
     }
     // get my type (error code)
     $type = !empty($_REQUEST['errcode']) ? $_REQUEST['errcode'] : '';
     // set an empty
     $text = '';
     // now our error code checks
     switch ($type) {
         case 'NONCE_FAILED':
             $text = TempAdminUser_Utilities::get_admin_messages('nonce');
             break;
         case 'NO_EMAIL':
             $text = TempAdminUser_Utilities::get_admin_messages('noemail');
             break;
         case 'USED_EMAIL':
             $text = TempAdminUser_Utilities::get_admin_messages('usedemail');
             break;
         case 'NO_TYPE':
             $text = TempAdminUser_Utilities::get_admin_messages('notype');
             break;
         case 'BAD_TYPE':
             $text = TempAdminUser_Utilities::get_admin_messages('badtype');
             break;
         case 'NO_CREATE':
             $text = TempAdminUser_Utilities::get_admin_messages('nocreate');
             break;
         case 'NO_USERS':
             $text = TempAdminUser_Utilities::get_admin_messages('nousers');
             break;
         case 'NO_DEMOTE':
             $text = TempAdminUser_Utilities::get_admin_messages('nodemote');
             break;
         case 'NO_DELETE':
             $text = TempAdminUser_Utilities::get_admin_messages('nodelete');
             break;
         default:
             $text = TempAdminUser_Utilities::get_admin_messages('default');
             // end all case breaks
     }
     echo '<div id="message" class="error below-h2 tempadmin-message">';
     echo '<p>' . esc_attr($text) . '</p>';
     echo '</div>';
     return;
 }
예제 #2
0
 /**
  * update a group of users (either demote or delete) from
  * the settings page via ajax call
  *
  * @return array   $ret       the JSON encoded response for the ajax call
  */
 public function update_users_js()
 {
     // make sure the user calling the action has permission to do so
     if (false === TempAdminUser_Utilities::check_user_perm()) {
         return;
     }
     // set up return array for ajax responses
     $ret = array();
     // die fast without a nonce
     if (empty($_POST['nonce'])) {
         $ret['success'] = false;
         $ret['errcode'] = 'NO_NONCE';
         $ret['message'] = TempAdminUser_Utilities::get_admin_messages('nonce');
         echo json_encode($ret);
         die;
     }
     // check to make sure we got a type
     if (empty($_POST['type'])) {
         $ret['success'] = false;
         $ret['errcode'] = 'NO_TYPE';
         $ret['message'] = TempAdminUser_Utilities::get_admin_messages('notype');
         echo json_encode($ret);
         die;
     }
     // check to make sure we got a type that is allowed
     if (!in_array($_POST['type'], array('demote', 'delete'))) {
         $ret['success'] = false;
         $ret['errcode'] = 'BAD_TYPE';
         $ret['message'] = TempAdminUser_Utilities::get_admin_messages('badtype');
         echo json_encode($ret);
         die;
     }
     // check to make sure we got users
     if (empty($_POST['users'])) {
         $ret['success'] = false;
         $ret['errcode'] = 'NO_USERS';
         $ret['message'] = TempAdminUser_Utilities::get_admin_messages('nousers');
         echo json_encode($ret);
         die;
     }
     // set our type as a variable
     $type = $_POST['type'];
     // check to see if our nonce failed
     if (false === check_ajax_referer('tempadmin_' . $type . '_js', 'nonce', false)) {
         $ret['success'] = false;
         $ret['errcode'] = 'NONCE_FAILED';
         $ret['message'] = TempAdminUser_Utilities::get_admin_messages('nonce');
         echo json_encode($ret);
         die;
     }
     // make sure my users are an array
     $users = !is_array($_POST['users']) ? (array) $_POST['users'] : $_POST['users'];
     // demote users if requested
     if ($type == 'demote') {
         // do the action
         $action = self::demote_users($users);
         // return error if demotion failed
         if ($action === false) {
             $ret['success'] = false;
             $ret['errcode'] = 'NO_DEMOTE';
             $ret['message'] = TempAdminUser_Utilities::get_admin_messages('nodemote');
             echo json_encode($ret);
             die;
         }
         // return success if users were demoted
         if ($action === true) {
             $ret['success'] = true;
             $ret['errcode'] = null;
             $ret['remrows'] = $users;
             $ret['message'] = TempAdminUser_Utilities::get_admin_messages('demoted');
             echo json_encode($ret);
             die;
         }
     }
     // delete users if requested
     if ($type == 'delete') {
         // do the action itself
         $action = self::delete_users($users);
         // return error if deletion failed
         if ($action === false) {
             $ret['success'] = false;
             $ret['errcode'] = 'NO_DELETE';
             $ret['message'] = TempAdminUser_Utilities::get_admin_messages('nodelete');
             echo json_encode($ret);
             die;
         }
         // return success if users were deleted
         if ($action === true) {
             $ret['success'] = true;
             $ret['errcode'] = null;
             $ret['remrows'] = $users;
             $ret['message'] = TempAdminUser_Utilities::get_admin_messages('deleted');
             echo json_encode($ret);
             die;
         }
     }
     // unknown error
     $ret['success'] = false;
     $ret['errcode'] = 'UNKNOWN_ERROR';
     $ret['message'] = TempAdminUser_Utilities::get_admin_messages('default');
     echo json_encode($ret);
     die;
 }