roles; $editable_roles = apply_filters('editable_roles', $all_roles); $roles_array = array(); $roles_opt_array= array(); if(array_key_exists('roles',$option_data)) { foreach($option_data['roles'] as $roles_opt) { $roles_opt_array['name_'.$roles_opt['name']] = $roles_opt['name']; $roles_opt_array['code_free_'.$roles_opt['name']] = $roles_opt['code_free']; $roles_opt_array['perc_gold_'.$roles_opt['name']] = $roles_opt['perce_gold']; $roles_opt_array['perc_silver_'.$roles_opt['name']] = $roles_opt['perce_silver']; $roles_opt_array['perc_bronze_'.$roles_opt['name']] = $roles_opt['perce_bronze']; $roles_opt_array['posts_gold_'.$roles_opt['name']] = $roles_opt['posts_gold']; $roles_opt_array['posts_silver_'.$roles_opt['name']] = $roles_opt['posts_silver']; $roles_opt_array['posts_bronze_'.$roles_opt['name']] = $roles_opt['posts_bronze']; } wp_localize_script('admin_opt_js','roles_opt',$roles_opt_array); } } function adrocks_ad_management_add_page() { add_options_page('Ad Management (Options)', 'Adrocks Ad Management', 'manage_options', 'adrocks_ad_management_op', 'adrocks_ad_management_do_page'); } function adrocks_ad_management_do_page() { global $wp_roles; $all_roles = $wp_roles->roles; $editable_roles = apply_filters('editable_roles', $all_roles); $option_data = get_option('adrocks_ad_management_option'); if(!is_array($option_data)) { $option_data = array(); } if(array_key_exists('number_codes',$option_data)) { $number_codes = $option_data['number_codes']; }else{ $number_codes = 3; } if(wp_verify_nonce($_REQUEST['nonce'], basename(__FILE__))) { $count = 0; //Later calculate the new $number_codes variable if(isset($_POST['adrocks_ad_management_admin_opt_submit'])) { $number_codes = adrocks_ad_management_admin_opt_submit($_POST,$option_data,$number_codes,$count); } else if(isset($_POST['adrocks_ad_management_admin_opt_show_roles_submit'])) { $role = true; $show_role = $_POST['adrocks_ad_management_admin_opt_choose_role']; } else if(isset($_POST['adrocks_ad_management_admin_opt_create_role_submit'])) { adrocks_ad_management_admin_opt_create_role_submit($_POST,$option_data); } else if(isset($_POST['adrocks_ad_management_admin_opt_change_role_submit'])) { adrocks_ad_management_admin_opt_change_role_submit($_POST,$option_data); } else { return; } } $option_data = get_option('adrocks_ad_management_option'); if(!is_array($option_data)) { $option_data = array(); } ?>


0) { $number_codes = $number_codes + $POST['adrocks_ad_management_admin_opt_new_codes']; } //Get the actual Position (Paragraph) for the code and if nothing is insert put a default value in. $number = array(); for($i = 1; $i <= $number_codes;$i++) { if(($POST['adrocks_ad_management_admin_opt_code'.$i.'_select'.$i] == 'para') && ($POST['adrocks_ad_management_admin_opt_code'.$i.'_number'.$i] == '' || $POST['adrocks_ad_management_admin_opt_code'.$i.'_number'.$i] == 0)) { $number[$i] = 0; }else{ $number[$i] = $POST['adrocks_ad_management_admin_opt_code'.$i.'_number'.$i]; } } for($i = 1; $i <=$number_codes;$i++) { $data['code'.$i] = array( 'id' => 'code'.$i, 'code' => $POST['adrocks_ad_management_admin_opt_code'.$i], 'show' => $POST['adrocks_ad_management_admin_opt_code'.$i.'_select'.$i], 'pos' => $number[$i] ); } //Delete the selected code block for($i = 1; $i <=$number_codes;$i++) { if($POST['adrocks_ad_management_admin_opt_checkbox_code'.$i] == 'code'.$i) { $count++; if( $i != $number_codes) { for($j = $i ; $j <=$number_codes;$j++) { $option_data['code'.$j]['id'] = 'code'.$j; $option_data['code'.$j]['show'] =$POST['adrocks_ad_management_admin_opt_code'.($j+1).'_select'.($j+1)]; $option_data['code'.$j]['pos'] =$number[$j+1]; if($POST['adrocks_ad_management_admin_opt_code'.($j+1)] != '') { $option_data['code'.$j]['code'] = $POST['adrocks_ad_management_admin_opt_code'.($j+1)]; }else{ $option_data['code'.$j]['code'] = ''; } $data['code'.$j] = array( 'id' => $option_data['code'.$j]['id'], 'code' => $option_data['code'.$j]['code'], 'show' => $option_data['code'.$j]['show'], 'pos' => intval($option_data['code'.$j]['pos']) ); adrocks_ad_management_deleteFile('code'.$j); } } } } //Delete the not needed code array in the option array for($i = 0; $i < $count; $i++) { unset($data['code'.($number_codes-$i)]); unset($option_data['code'.($number_codes-$i)]); update_option('adrocks_ad_management_option', $option_data); } $number_codes -= ($count); $data['number_codes'] = $number_codes; adrocks_ad_management_saveData($data); return $number_codes; } function adrocks_ad_management_admin_opt_change_role_submit($data,$option_data) { $users = get_users($data['adrocks_ad_management_admin_opt_choose_role']); foreach($users as $user) { $old_code = adrocks_ad_management_readDataFromFile($user->user_login); $new_code; if(array_key_exists($user->user_login,$data)) { $new_code = $data[$user->user_login]; }else{ $new_code = ''; } if($new_code !='' && $old_code != null) { if($new_code != $old_code) { adrocks_ad_management_saveDataInFile(__DIR__.'/adrocks-ad-management-data/'.$user->user_login.'.txt',$new_code); } } } } function adrocks_ad_management_admin_opt_create_role_submit($POST,$option_data) { $option_data['roles'][$POST['adrocks_ad_management_admin_opt_roles']]['name'] = $POST['adrocks_ad_management_admin_opt_roles']; $option_data['roles'][$POST['adrocks_ad_management_admin_opt_roles']]['code_free'] = $POST['adrocks_ad_management_admin_opt_ad_code_free']; $option_data['roles'][$POST['adrocks_ad_management_admin_opt_roles']]['perce_gold'] = intval($POST['adrocks_ad_management_admin_opt_show_percent_gold']); $option_data['roles'][$POST['adrocks_ad_management_admin_opt_roles']]['perce_silver'] = intval($POST['adrocks_ad_management_admin_opt_show_percent_silver']); $option_data['roles'][$POST['adrocks_ad_management_admin_opt_roles']]['perce_bronze'] = intval($POST['adrocks_ad_management_admin_opt_show_percent_bronze']); $option_data['roles'][$POST['adrocks_ad_management_admin_opt_roles']]['posts_gold'] = intval($POST['adrocks_ad_management_admin_opt_show_number_posts_gold']); $option_data['roles'][$POST['adrocks_ad_management_admin_opt_roles']]['posts_silver'] = intval($POST['adrocks_ad_management_admin_opt_show_number_posts_silver']); $option_data['roles'][$POST['adrocks_ad_management_admin_opt_roles']]['posts_bronze'] = intval($POST['adrocks_ad_management_admin_opt_show_number_posts_bronze']); $args = array( 'role' => $POST['adrocks_ad_management_admin_opt_roles'], 'orderby' => 'ID', 'order' => 'DESC' ); $users = get_users($args); if($POST['adrocks_ad_management_admin_opt_ad_code_free'] == 'on') { foreach($users as $user) { $user_posts = count_user_posts($user->id); if($user_posts >= intval($POST['adrocks_ad_management_admin_opt_show_number_posts_gold']) || intval($user_posts >= $POST['adrocks_ad_management_admin_opt_show_number_posts_silver']) || intval($user_posts >= $POST['adrocks_ad_management_admin_opt_show_number_posts_bronze'])) { $option_data[$user->id]['counter'] = 0; $option_data[$user->id]['role'] = $POST['adrocks_ad_management_admin_opt_roles']; } } }else if( !array_key_exists($POST['adrocks_ad_management_admin_opt_ad_code_free'],$option_data)) { foreach($users as $user) { $user_posts = count_user_posts($user->id); if($user_posts >= intval($POST['adrocks_ad_management_admin_opt_show_number_posts_gold']) || intval($user_posts >= $POST['adrocks_ad_management_admin_opt_show_number_posts_silver']) || intval($user_posts >= $POST['adrocks_ad_management_admin_opt_show_number_posts_bronze'])) { unset($option_data[$user->id]); var_dump($option_data); } } } update_option('adrocks_ad_management_option', $option_data); } function adrocks_ad_management_saveData($data) { global $current_user; get_currentuserinfo(); if(is_array($data)) { if(!get_option('adrocks_ad_management_option')) { $option_code = array(); foreach($data as $code) { $option_code[$code['id']] = array( 'id'=>$code['id'], 'show' => $code['show'], 'pos' => $code['pos'] ); if(strlen($code['code']) > 0) { adrocks_ad_management_saveDataInFile(__DIR__.'/adrocks-ad-management-data/'.$code['id'].'.txt', $code['code']); } } $option_code['number_codes'] = $data['number_codes']; update_option('adrocks_ad_management_option', $option_code); }else{ $option_code = get_option('adrocks_ad_management_option'); foreach($data as $code) { $option_code[$code['id']] = array( 'id'=>$code['id'], 'show' => $code['show'], 'pos' => $code['pos'] ); if(strlen($code['code']) > 0) { adrocks_ad_management_saveDataInFile(__DIR__.'/adrocks-ad-management-data/'.$code['id'].'.txt', $code['code']); } } $option_code['number_codes'] = $data['number_codes']; update_option('adrocks_ad_management_option', $option_code); } }else{ $current_user = wp_get_current_user(); adrocks_ad_management_saveDataInFile(__DIR__.'/adrocks-ad-management-data/'.$current_user->user_login.'.txt', $data); } } function adrocks_ad_management_saveDataInFile($path, $content) { $content = str_replace('\\','',$content); $file = @fopen($path, 'w'); if(strlen($content) > 0) { @fwrite($file, $content) or "
Could not write to file: $path"; } @fclose($file); } function adrocks_ad_management_readDataFromFile($file_name) { if(file_exists (__DIR__.'/adrocks-ad-management-data/'.$file_name.'.txt')) { $file = fopen(__DIR__.'/adrocks-ad-management-data/'.$file_name.'.txt', "r") or die("Unable to open file!"); $data = fread($file,filesize(__DIR__.'/adrocks-ad-management-data/'.$file_name.'.txt')); fclose($file); return $data; }else{ return; } } function adrocks_ad_management_deleteFile($file_name) { $path = __DIR__.'/adrocks-ad-management-data/'.$file_name.'.txt'; if(file_exists($path)) { unlink($path); } } function adrocks_ad_management_createCodeInput($number,$option_data) { for($i = 1; $i <= $number; $i++) { if(array_key_exists('code'.$i,$option_data)) { echo ''; echo ''; echo $i; echo ''; echo ''; echo ''; echo ''; echo ''; echo ' '; echo ''; echo ''; echo ''; echo ''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; echo''; } } } function adrocks_ad_management_expandRole($show_role) { global $wp_roles; $option_data = get_option('adrocks_ad_management_option'); ?> roles; $editable_roles = apply_filters('editable_roles', $all_roles); ?> $role, 'orderby' => 'ID', 'order' => 'DESC' ); $users = get_users($args); echo ''; echo ''; _e('Name','adrocks_ad_management_opt'); echo ''; echo ''; _e('Code','adrocks_ad_management_opt'); echo ''; echo ''; _e('Number Articles','adrocks_ad_management_opt'); echo ''; echo ''; _e('User Status','adrocks_ad_management_opt'); echo ''; echo ''; foreach($users as $user) { $numer_posts = count_user_posts($user->id); echo ''; echo ''; echo $user->display_name; echo ''; echo ''; echo ''; echo ''; echo ''; echo $numer_posts; echo ''; echo ''; //echo ($opt['roles'][$role]['posts_silver']); if($numer_posts >= intval($opt['roles'][$role]['posts_gold']) && intval($opt['roles'][$role]['posts_gold']) != 0 ) { echo "Gold"; } else if($numer_posts >= intval($opt['roles'][$role]['posts_silver']) && intval($opt['roles'][$role]['posts_silver']) != 0) { echo "Silver"; } else if($numer_posts >= intval($opt['roles'][$role]['posts_bronze']) && intval($opt['roles'][$role]['posts_bronze']) != 0) { echo "Bronze"; } else { _e('No Status','adrocks_ad_management_opt'); } echo ''; echo ''; } } ?>