Advertisement
Viruthagiri

Untitled

Apr 6th, 2012
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.  
  3. /** Ranks Module */
  4.  
  5. cp_module_register(__('Ranks', 'cp') , 'ranks' , '1.0', 'CubePoints', 'http://cubepoints.com', 'http://cubepoints.com' , __('Create and display user ranks based on the number of points they have.', 'cp'), 1);
  6.  
  7. function cp_module_ranks_data_install(){
  8.     add_option('cp_module_ranks_data', array(0=>__('Newbie','cp')));
  9. }
  10. add_action('cp_module_ranks_activate','cp_module_ranks_data_install');
  11.  
  12. if(cp_module_activated('ranks')){
  13.  
  14.     function cp_module_ranks_data_add_admin_page(){
  15.        if (current_user_can('manage_options')) {
  16.         add_submenu_page('cp_admin_manage', 'CubePoints - ' .__('Ranks','cp'), __('Ranks','cp'), 8, 'cp_modules_ranks_admin', 'cp_modules_ranks_admin');
  17.     }}
  18.     add_action('cp_admin_pages','cp_module_ranks_data_add_admin_page');
  19.  
  20.     function cp_modules_ranks_admin(){
  21.  
  22.     // handles form submissions
  23.     if ($_POST['cp_module_ranks_data_form_submit'] == 'Y') {
  24.  
  25.         $cp_module_ranks_data_rank = trim($_POST['cp_module_ranks_data_rank']);
  26.         $cp_module_ranks_data_points = (int) trim($_POST['cp_module_ranks_data_points']);
  27.         $ranks = get_option('cp_module_ranks_data');
  28.         if($cp_module_ranks_data_rank==''||$_POST['cp_module_ranks_data_points']==''){
  29.             echo '<div class="error"><p><strong>'.__('Rank name or points cannot be empty!','cp').'</strong></p></div>';
  30.         }
  31.         else if(!is_numeric($_POST['cp_module_ranks_data_points'])||$cp_module_ranks_data_points<0||(int)$_POST['cp_module_ranks_data_points']!=(float)$_POST['cp_module_ranks_data_points']){
  32.             echo '<div class="error"><p><strong>'.__('Please enter only positive integers for the points!','cp').'</strong></p></div>';
  33.         }
  34.         else{
  35.             if($ranks[$cp_module_ranks_data_points]!=''){
  36.                 echo '<div class="updated"><p><strong>'.__('Rank Updated','cp').'</strong></p></div>';
  37.             }
  38.             else{
  39.                 echo '<div class="updated"><p><strong>'.__('Rank Added','cp').'</strong></p></div>';
  40.             }
  41.             $ranks[$cp_module_ranks_data_points] = $_POST['cp_module_ranks_data_rank'];
  42.             update_option('cp_module_ranks_data' ,$ranks);
  43.         }
  44.     }
  45.    
  46.     if ($_POST['cp_rank_remove'] != '') {
  47.         if((int)$_POST['cp_rank_remove']==0){
  48.             echo '<div class="error"><p><strong>'.__('A rank name is needed for users with 0 points!<br /><br />To change the name of this rank, add another rank to replace this.','cp').'</strong></p></div>';
  49.         }
  50.         else{
  51.             $ranks = get_option('cp_module_ranks_data');
  52.             unset($ranks[(int)$_POST['cp_rank_remove']]);
  53.             update_option('cp_module_ranks_data', $ranks);
  54.             echo '<div class="updated"><p><strong>'.__('Rank removed','cp').'</strong></p></div>';
  55.         }
  56.     }
  57.        
  58.     ?>
  59.    
  60.     <div class="wrap">
  61.         <h2>CubePoints - <?php _e('Ranks', 'cp'); ?></h2>
  62.         <?php _e('Setup ranks for your users.', 'cp'); ?> <?php _e('To rename ranks, overwrite it with a new rank.', 'cp'); ?><br /><br />
  63.  
  64.         <table id="cp_modules_table" class="widefat datatables">
  65.             <thead><tr><th scope="col"><?php _e('Rank','cp'); ?></th><th scope="col" width="150" style="text-align:center;"><?php _e('Points','cp'); ?></th><th scope="col" width="150"><?php _e('Action','cp'); ?></th></tr></thead>
  66.             <tfoot><tr><th scope="col"><?php _e('Rank','cp'); ?></th><th scope="col" style="text-align:center;"><?php _e('Points','cp'); ?></th><th scope="col"><?php _e('Action','cp'); ?></th></tr></tfoot>
  67.                 <?php
  68.                     $ranks = (array)get_option('cp_module_ranks_data');
  69.                     if($ranks[0]==''){
  70.                         $ranks[0] = __('Newbie', 'cp');
  71.                         update_option('cp_module_ranks_data', $ranks);
  72.                     }
  73.                     ksort($ranks);
  74.                     foreach($ranks as $points=>$rank){
  75.                 ?>
  76.                 <tr>
  77.                     <td><?php echo $rank; ?></td>
  78.                     <td style="text-align:center;"><?php echo $points; ?></td>
  79.                     <td>
  80.                         <form method="post" name="cp_ranks_action_remove_<?php echo $points; ?>" style="display:inline;">
  81.                             <input type="hidden" name="cp_rank_remove" value="<?php echo $points; ?>" />
  82.                             <a href="javascript:void(0);" onclick="document.cp_ranks_action_remove_<?php echo $points; ?>.submit();"><?php _e('Remove'); ?></a>
  83.                         </form>
  84.                     </td>
  85.                 </tr>
  86.                 <?php
  87.                     }
  88.                 ?>
  89.         </table>
  90.        
  91.         <form name="cp_module_ranks_data_form" method="post">
  92.             <input type="hidden" name="cp_module_ranks_data_form_submit" value="Y" />
  93.  
  94.         <h3><?php _e('Add Rank','cp'); ?></h3>
  95.         <table class="form-table">
  96.             <tr valign="top">
  97.                 <th scope="row"><label for="cp_module_ranks_data_rank"><?php _e('Rank Name', 'cp'); ?>:</label></th>
  98.                 <td valign="middle"><input type="text" id="cp_module_ranks_data_rank" name="cp_module_ranks_data_rank" value="<?php echo get_option('cp_module_ranks_data_rank'); ?>" size="40" /></td>
  99.             </tr>
  100.             <tr valign="top">
  101.                 <th scope="row"><label for="cp_module_ranks_data_points"><?php _e('Points to reach this rank', 'cp'); ?>:</label></th>
  102.                 <td valign="middle"><input type="text" id="cp_module_ranks_data_points" name="cp_module_ranks_data_points" value="<?php echo get_option('cp_module_ranks_data_points'); ?>" size="40" /></td>
  103.             </tr>
  104.         </table>
  105.  
  106.         <p class="submit">
  107.             <input type="submit" name="Submit" value="<?php _e('Add Rank','cp'); ?>" />
  108.         </p>
  109.     </form>
  110.     </div>
  111.     <?php
  112.     }
  113.  
  114.     }
  115. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement