| [ Index ] |
PHP Cross Reference of MyBB 1.6.5 |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * MyBB 1.6 4 * Copyright � 2010 MyBB Group, All Rights Reserved 5 * 6 * Website: http://mybb.com 7 * License: http://mybb.com/about/license 8 * 9 * $Id: group_promotions.php 5297 2010-12-28 22:01:14Z Tomm $ 10 */ 11 12 // Disallow direct access to this file for security reasons 13 if(!defined("IN_MYBB")) 14 { 15 die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined."); 16 } 17 18 $page->add_breadcrumb_item($lang->user_group_promotions, "index.php?module=user-group_promotions"); 19 20 $sub_tabs['usergroup_promotions'] = array( 21 'title' => $lang->user_group_promotions, 22 'link' => "index.php?module=user-group_promotions", 23 'description' => $lang->user_group_promotions_desc 24 ); 25 26 $sub_tabs['add_promotion'] = array( 27 'title' => $lang->add_new_promotion, 28 'link' => "index.php?module=user-group_promotions&action=add", 29 'description' => $lang->add_new_promotion_desc 30 ); 31 32 $sub_tabs['promotion_logs'] = array( 33 'title' => $lang->view_promotion_logs, 34 'link' => "index.php?module=user-group_promotions&action=logs", 35 'description' => $lang->view_promotion_logs_desc 36 ); 37 38 $plugins->run_hooks("admin_user_group_promotions_begin"); 39 40 if($mybb->input['action'] == "disable") 41 { 42 $plugins->run_hooks("admin_user_group_promotions_disable"); 43 44 if(!trim($mybb->input['pid'])) 45 { 46 flash_message($lang->error_no_promo_id, 'error'); 47 admin_redirect("index.php?module=user-group_promotions"); 48 } 49 50 $query = $db->simple_select("promotions", "*", "pid='".intval($mybb->input['pid'])."'"); 51 $promotion = $db->fetch_array($query); 52 53 if(!$promotion['pid']) 54 { 55 flash_message($lang->error_invalid_promo_id, 'error'); 56 admin_redirect("index.php?module=user-group_promotions"); 57 } 58 59 $promotion = array( 60 "enabled" => 0 61 ); 62 $db->update_query("promotions", $promotion, "pid = '{$mybb->input['pid']}'"); 63 64 $plugins->run_hooks("admin_user_group_promotions_disable_commit"); 65 66 // Log admin action 67 log_admin_action($promotion['pid'], $promotion['title']); 68 69 flash_message($lang->success_promo_disabled, 'success'); 70 admin_redirect("index.php?module=user-group_promotions"); 71 } 72 73 if($mybb->input['action'] == "delete") 74 { 75 $plugins->run_hooks("admin_user_group_promotions_delete"); 76 77 if($mybb->input['no']) 78 { 79 admin_redirect("index.php?module=user-group_promotions"); 80 } 81 82 if(!trim($mybb->input['pid'])) 83 { 84 flash_message($lang->error_no_promo_id, 'error'); 85 admin_redirect("index.php?module=user-group_promotions"); 86 } 87 88 $query = $db->simple_select("promotions", "*", "pid='".intval($mybb->input['pid'])."'"); 89 $promotion = $db->fetch_array($query); 90 91 if(!$promotion['pid']) 92 { 93 flash_message($lang->error_invalid_promo_id, 'error'); 94 admin_redirect("index.php?module=user-group_promotions"); 95 } 96 97 if($mybb->request_method == "post") 98 { 99 $db->delete_query("promotions", "pid = '{$mybb->input['pid']}'"); 100 101 $plugins->run_hooks("admin_user_group_promotions_delete_commit"); 102 103 // Log admin action 104 log_admin_action($promotion['pid'], $promotion['title']); 105 106 flash_message($lang->success_promo_deleted, 'success'); 107 admin_redirect("index.php?module=user-group_promotions"); 108 } 109 else 110 { 111 $page->output_confirm_action("index.php?module=user-group_promotions&action=delete&pid={$mybb->input['pid']}", $lang->confirm_promo_deletion); 112 } 113 } 114 115 if($mybb->input['action'] == "enable") 116 { 117 $plugins->run_hooks("admin_user_group_promotions_enable"); 118 119 if(!trim($mybb->input['pid'])) 120 { 121 flash_message($lang->error_no_promo_id, 'error'); 122 admin_redirect("index.php?module=user-group_promotions"); 123 } 124 125 $query = $db->simple_select("promotions", "*", "pid='".intval($mybb->input['pid'])."'"); 126 $promotion = $db->fetch_array($query); 127 128 if(!$promotion['pid']) 129 { 130 flash_message($lang->error_invalid_promo_id, 'error'); 131 admin_redirect("index.php?module=user-group_promotions"); 132 } 133 134 $promotion = array( 135 "enabled" => 1 136 ); 137 138 $db->update_query("promotions", $promotion, "pid = '{$mybb->input['pid']}'"); 139 140 $plugins->run_hooks("admin_user_group_promotions_enable_commit"); 141 142 // Log admin action 143 log_admin_action($promotion['pid'], $promotion['title']); 144 145 flash_message($lang->success_promo_enabled, 'success'); 146 admin_redirect("index.php?module=user-group_promotions"); 147 } 148 149 if($mybb->input['action'] == "edit") 150 { 151 $plugins->run_hooks("admin_user_group_promotions_edit"); 152 153 if(!trim($mybb->input['pid'])) 154 { 155 flash_message($lang->error_no_promo_id, 'error'); 156 admin_redirect("index.php?module=user-group_promotions"); 157 } 158 159 $query = $db->simple_select("promotions", "*", "pid = '{$mybb->input['pid']}'"); 160 $promotion = $db->fetch_array($query); 161 162 if(!$promotion) 163 { 164 flash_message($lang->error_invalid_promo_id, 'error'); 165 admin_redirect("index.php?module=user-group_promotions"); 166 } 167 168 if($mybb->request_method == "post") 169 { 170 if(!trim($mybb->input['title'])) 171 { 172 $errors[] = $lang->error_no_title; 173 } 174 175 if(!trim($mybb->input['description'])) 176 { 177 $errors[] = $lang->error_no_desc; 178 } 179 180 if(empty($mybb->input['requirements'])) 181 { 182 $errors[] = $lang->error_no_requirements; 183 } 184 185 if(empty($mybb->input['originalusergroup'])) 186 { 187 $errors[] = $lang->error_no_orig_usergroup; 188 } 189 190 if(!trim($mybb->input['newusergroup'])) 191 { 192 $errors[] = $lang->error_no_new_usergroup; 193 } 194 195 if(!trim($mybb->input['usergroupchangetype'])) 196 { 197 $errors[] = $lang->error_no_usergroup_change_type; 198 } 199 200 if(!$errors) 201 { 202 if(in_array('*', $mybb->input['originalusergroup'])) 203 { 204 $mybb->input['originalusergroup'] = '*'; 205 } 206 else 207 { 208 $mybb->input['originalusergroup'] = implode(',', array_map('intval', $mybb->input['originalusergroup'])); 209 } 210 211 $update_promotion = array( 212 "title" => $db->escape_string($mybb->input['title']), 213 "description" => $db->escape_string($mybb->input['description']), 214 "posts" => intval($mybb->input['postcount']), 215 "posttype" => $db->escape_string($mybb->input['posttype']), 216 "registered" => intval($mybb->input['timeregistered']), 217 "registeredtype" => $db->escape_string($mybb->input['timeregisteredtype']), 218 "reputations" => intval($mybb->input['reputationcount']), 219 "reputationtype" => $db->escape_string($mybb->input['reputationtype']), 220 "referrals" => intval($mybb->input['referrals']), 221 "referralstype" => $db->escape_string($mybb->input['referralstype']), 222 "requirements" => $db->escape_string(implode(",", $mybb->input['requirements'])), 223 "originalusergroup" => $db->escape_string($mybb->input['originalusergroup']), 224 "newusergroup" => intval($mybb->input['newusergroup']), 225 "usergrouptype" => $db->escape_string($mybb->input['usergroupchangetype']), 226 "enabled" => intval($mybb->input['enabled']), 227 "logging" => intval($mybb->input['logging']) 228 ); 229 230 $db->update_query("promotions", $update_promotion, "pid = '".intval($mybb->input['pid'])."'"); 231 232 $plugins->run_hooks("admin_user_group_promotions_edit_commit"); 233 234 // Log admin action 235 log_admin_action($promotion['pid'], $mybb->input['title']); 236 237 flash_message($lang->success_promo_updated, 'success'); 238 admin_redirect("index.php?module=user-group_promotions"); 239 } 240 } 241 242 $page->add_breadcrumb_item($lang->edit_promotion); 243 $page->output_header($lang->user_group_promotions." - ".$lang->edit_promotion); 244 245 $sub_tabs = array(); 246 $sub_tabs['edit_promotion'] = array( 247 'title' => $lang->edit_promotion, 248 'link' => "index.php?module=user-group_promotions&action=edit", 249 'description' => $lang->edit_promotion_desc 250 ); 251 252 $page->output_nav_tabs($sub_tabs, 'edit_promotion'); 253 $form = new Form("index.php?module=user-group_promotions&action=edit", "post", "edit"); 254 echo $form->generate_hidden_field("pid", $mybb->input['pid']); 255 if($errors) 256 { 257 $page->output_inline_error($errors); 258 } 259 else 260 { 261 $mybb->input['title'] = $promotion['title']; 262 $mybb->input['description'] = $promotion['description']; 263 $mybb->input['requirements'] = explode(',', $promotion['requirements']); 264 $mybb->input['reputationcount'] = $promotion['reputations']; 265 $mybb->input['reputationtype'] = $promotion['reputationtype']; 266 $mybb->input['postcount'] = $promotion['posts']; 267 $mybb->input['posttype'] = $promotion['posttype']; 268 $mybb->input['referrals'] = $promotion['referrals']; 269 $mybb->input['referralstype'] = $promotion['referralstype']; 270 $mybb->input['timeregistered'] = $promotion['registered']; 271 $mybb->input['timeregisteredtype'] = $promotion['registeredtype']; 272 $mybb->input['originalusergroup'] = explode(',', $promotion['originalusergroup']); 273 $mybb->input['usergroupchangetype'] = $promotion['usergrouptype']; 274 $mybb->input['newusergroup'] = $promotion['newusergroup']; 275 $mybb->input['enabled'] = $promotion['enabled']; 276 $mybb->input['logging'] = $promotion['logging']; 277 } 278 279 $form_container = new FormContainer($lang->edit_promotion); 280 $form_container->output_row($lang->title." <em>*</em>", "", $form->generate_text_box('title', $mybb->input['title'], array('id' => 'title')), 'title'); 281 $form_container->output_row($lang->short_desc." <em>*</em>", "", $form->generate_text_box('description', $mybb->input['description'], array('id' => 'description')), 'description'); 282 283 $options = array( 284 "postcount" => $lang->post_count, 285 "reputation" => $lang->reputation, 286 "referrals" => $lang->referrals, 287 "timeregistered" => $lang->time_registered 288 ); 289 290 $form_container->output_row($lang->promo_requirements." <em>*</em>", $lang->promo_requirements_desc, $form->generate_select_box('requirements[]', $options, $mybb->input['requirements'], array('id' => 'requirements', 'multiple' => true, 'size' => 3)), 'requirements'); 291 292 $options_type = array( 293 ">" => $lang->greater_than, 294 ">=" => $lang->greater_than_or_equal_to, 295 "=" => $lang->equal_to, 296 "<=" => $lang->less_than_or_equal_to, 297 "<" => $lang->less_than 298 ); 299 300 $form_container->output_row($lang->post_count, $lang->post_count_desc, $form->generate_text_box('postcount', $mybb->input['postcount'], array('id' => 'postcount'))." ".$form->generate_select_box("posttype", $options_type, $mybb->input['posttype'], array('id' => 'posttype')), 'postcount'); 301 302 $form_container->output_row($lang->reputation_count, $lang->reputation_count_desc, $form->generate_text_box('reputationcount', $mybb->input['reputationcount'], array('id' => 'reputationcount'))." ".$form->generate_select_box("reputationtype", $options_type, $mybb->input['reputationtype'], array('id' => 'reputationtype')), 'reputationcount'); 303 304 $options = array( 305 "hours" => $lang->hours, 306 "days" => $lang->days, 307 "weeks" => $lang->weeks, 308 "months" => $lang->months, 309 "years" => $lang->years 310 ); 311 312 $form_container->output_row($lang->referral_count, $lang->referral_count_desc, $form->generate_text_box('referrals', $mybb->input['referrals'], array('id' => 'referrals'))." ".$form->generate_select_box("referralstype", $options_type, $mybb->input['referralstype'], array('id' => 'referralstype')), 'referrals'); 313 314 $form_container->output_row($lang->time_registered, $lang->time_registered_desc, $form->generate_text_box('timeregistered', $mybb->input['timeregistered'], array('id' => 'timeregistered'))." ".$form->generate_select_box("timeregisteredtype", $options, $mybb->input['timeregisteredtype'], array('id' => 'timeregisteredtype')), 'timeregistered'); 315 316 $options = array(); 317 318 $query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title')); 319 while($usergroup = $db->fetch_array($query)) 320 { 321 $options[(int)$usergroup['gid']] = $usergroup['title']; 322 } 323 324 $form_container->output_row($lang->orig_user_group." <em>*</em>", $lang->orig_user_group_desc, $form->generate_select_box('originalusergroup[]', $options, $mybb->input['originalusergroup'], array('id' => 'originalusergroup', 'multiple' => true, 'size' => 5)), 'originalusergroup'); 325 326 unset($options['*']); // Remove the all usergroups option 327 $form_container->output_row($lang->new_user_group." <em>*</em>", $lang->new_user_group_desc, $form->generate_select_box('newusergroup', $options, $mybb->input['newusergroup'], array('id' => 'newusergroup')), 'newusergroup'); 328 329 $options = array( 330 'primary' => $lang->primary_user_group, 331 'secondary' => $lang->secondary_user_group 332 ); 333 334 $form_container->output_row($lang->user_group_change_type." <em>*</em>", $lang->user_group_change_type_desc, $form->generate_select_box('usergroupchangetype', $options, $mybb->input['usergroupchangetype'], array('id' => 'usergroupchangetype')), 'usergroupchangetype'); 335 336 $form_container->output_row($lang->enabled." <em>*</em>", "", $form->generate_yes_no_radio("enabled", $mybb->input['enabled'], true)); 337 338 $form_container->output_row($lang->enable_logging." <em>*</em>", "", $form->generate_yes_no_radio("logging", $mybb->input['logging'], true)); 339 $form_container->end(); 340 341 $buttons[] = $form->generate_submit_button($lang->update_promotion); 342 343 $form->output_submit_wrapper($buttons); 344 $form->end(); 345 346 $page->output_footer(); 347 } 348 349 if($mybb->input['action'] == "add") 350 { 351 $plugins->run_hooks("admin_user_group_promotions_add"); 352 353 if($mybb->request_method == "post") 354 { 355 if(!trim($mybb->input['title'])) 356 { 357 $errors[] = $lang->error_no_title; 358 } 359 360 if(!trim($mybb->input['description'])) 361 { 362 $errors[] = $lang->error_no_desc; 363 } 364 365 if(empty($mybb->input['requirements'])) 366 { 367 $errors[] = $lang->error_no_requirements; 368 } 369 370 if(empty($mybb->input['originalusergroup'])) 371 { 372 $errors[] = $lang->error_no_orig_usergroup; 373 } 374 375 if(!trim($mybb->input['newusergroup'])) 376 { 377 $errors[] = $lang->error_no_new_usergroup; 378 } 379 380 if(!trim($mybb->input['usergroupchangetype'])) 381 { 382 $errors[] = $lang->error_no_usergroup_change_type; 383 } 384 385 if(!$errors) 386 { 387 if(in_array('*', $mybb->input['originalusergroup'])) 388 { 389 $mybb->input['originalusergroup'] = '*'; 390 } 391 else 392 { 393 $mybb->input['originalusergroup'] = implode(',', array_map('intval', $mybb->input['originalusergroup'])); 394 } 395 396 $new_promotion = array( 397 "title" => $db->escape_string($mybb->input['title']), 398 "description" => $db->escape_string($mybb->input['description']), 399 "posts" => intval($mybb->input['postcount']), 400 "posttype" => $db->escape_string($mybb->input['posttype']), 401 "registered" => intval($mybb->input['timeregistered']), 402 "registeredtype" => $db->escape_string($mybb->input['timeregisteredtype']), 403 "reputations" => intval($mybb->input['reputationcount']), 404 "reputationtype" => $db->escape_string($mybb->input['reputationtype']), 405 "referrals" => intval($mybb->input['referrals']), 406 "referralstype" => $db->escape_string($mybb->input['referralstype']), 407 "requirements" => $db->escape_string(implode(",", $mybb->input['requirements'])), 408 "originalusergroup" => $db->escape_string($mybb->input['originalusergroup']), 409 "usergrouptype" => $db->escape_string($mybb->input['usergroupchangetype']), 410 "newusergroup" => intval($mybb->input['newusergroup']), 411 "enabled" => intval($mybb->input['enabled']), 412 "logging" => intval($mybb->input['logging']) 413 ); 414 415 $pid = $db->insert_query("promotions", $new_promotion); 416 417 $plugins->run_hooks("admin_user_group_promotions_add_commit"); 418 419 // Log admin action 420 log_admin_action($pid, $mybb->input['title']); 421 422 flash_message($lang->success_promo_added, 'success'); 423 admin_redirect("index.php?module=user-group_promotions"); 424 } 425 } 426 $page->add_breadcrumb_item($lang->add_new_promotion); 427 $page->output_header($lang->user_group_promotions." - ".$lang->add_new_promotion); 428 429 $sub_tabs['usergroup_promotions'] = array( 430 'title' => $lang->user_group_promotions, 431 'link' => "index.php?module=user-group_promotions" 432 ); 433 434 $sub_tabs['add_promotion'] = array( 435 'title' => $lang->add_new_promotion, 436 'link' => "index.php?module=user-group_promotions&action=add", 437 'description' => $lang->add_new_promotion_desc 438 ); 439 440 $sub_tabs['promotion_logs'] = array( 441 'title' => $lang->view_promotion_logs, 442 'link' => "index.php?module=user-group_promotions&action=logs" 443 ); 444 445 $page->output_nav_tabs($sub_tabs, 'add_promotion'); 446 $form = new Form("index.php?module=user-group_promotions&action=add", "post", "add"); 447 if($errors) 448 { 449 $page->output_inline_error($errors); 450 } 451 else 452 { 453 $mybb->input['reputationcount'] = '0'; 454 $mybb->input['referrals'] = '0'; 455 $mybb->input['postcount'] = '0'; 456 $mybb->input['timeregistered'] = '0'; 457 $mybb->input['timeregisteredtype'] = 'days'; 458 $mybb->input['originalusergroup'] = '*'; 459 $mybb->input['newusergroup'] = '2'; 460 $mybb->input['enabled'] = '1'; 461 $mybb->input['logging'] = '1'; 462 } 463 $form_container = new FormContainer($lang->add_new_promotion); 464 $form_container->output_row($lang->title." <em>*</em>", "", $form->generate_text_box('title', $mybb->input['title'], array('id' => 'title')), 'title'); 465 $form_container->output_row($lang->short_desc." <em>*</em>", "", $form->generate_text_box('description', $mybb->input['description'], array('id' => 'description')), 'description'); 466 467 $options = array( 468 "postcount" => $lang->post_count, 469 "reputation" => $lang->reputation, 470 "referrals" => $lang->referrals, 471 "timeregistered" => $lang->time_registered 472 ); 473 474 $form_container->output_row($lang->promo_requirements." <em>*</em>", $lang->promo_requirements_desc, $form->generate_select_box('requirements[]', $options, $mybb->input['requirements'], array('id' => 'requirements', 'multiple' => true, 'size' => 4)), 'requirements'); 475 476 $options_type = array( 477 ">" => $lang->greater_than, 478 ">=" => $lang->greater_than_or_equal_to, 479 "=" => $lang->equal_to, 480 "<=" => $lang->less_than_or_equal_to, 481 "<" => $lang->less_than 482 ); 483 484 $form_container->output_row($lang->post_count, $lang->post_count_desc, $form->generate_text_box('postcount', $mybb->input['postcount'], array('id' => 'postcount'))." ".$form->generate_select_box("posttype", $options_type, $mybb->input['posttype'], array('id' => 'posttype')), 'postcount'); 485 486 $form_container->output_row($lang->reputation_count, $lang->reputation_count_desc, $form->generate_text_box('reputationcount', $mybb->input['reputationcount'], array('id' => 'reputationcount'))." ".$form->generate_select_box("reputationtype", $options_type, $mybb->input['reputationtype'], array('id' => 'reputationtype')), 'reputationcount'); 487 488 $options = array( 489 "hours" => $lang->hours, 490 "days" => $lang->days, 491 "weeks" => $lang->weeks, 492 "months" => $lang->months, 493 "years" => $lang->years 494 ); 495 496 $form_container->output_row($lang->referral_count, $lang->referral_count_desc, $form->generate_text_box('referrals', $mybb->input['referrals'], array('id' => 'referrals'))." ".$form->generate_select_box("referralstype", $options_type, $mybb->input['referralstype'], array('id' => 'referralstype')), 'referrals'); 497 498 $form_container->output_row($lang->time_registered, $lang->time_registered_desc, $form->generate_text_box('timeregistered', $mybb->input['timeregistered'], array('id' => 'timeregistered'))." ".$form->generate_select_box("timeregisteredtype", $options, $mybb->input['timeregisteredtype'], array('id' => 'timeregisteredtype')), 'timeregistered'); 499 $options = array(); 500 501 $query = $db->simple_select("usergroups", "gid, title", "gid != '1'", array('order_by' => 'title')); 502 while($usergroup = $db->fetch_array($query)) 503 { 504 $options[(int)$usergroup['gid']] = $usergroup['title']; 505 } 506 507 $form_container->output_row($lang->orig_user_group." <em>*</em>", $lang->orig_user_group_desc, $form->generate_select_box('originalusergroup[]', $options, $mybb->input['originalusergroup'], array('id' => 'originalusergroup', 'multiple' => true, 'size' => 5)), 'originalusergroup'); 508 509 unset($options['*']); 510 $form_container->output_row($lang->new_user_group." <em>*</em>", $lang->new_user_group_desc, $form->generate_select_box('newusergroup', $options, $mybb->input['newusergroup'], array('id' => 'newusergroup')), 'newusergroup'); 511 512 $options = array( 513 'primary' => $lang->primary_user_group, 514 'secondary' => $lang->secondary_user_group 515 ); 516 517 $form_container->output_row($lang->user_group_change_type." <em>*</em>", $lang->user_group_change_type_desc, $form->generate_select_box('usergroupchangetype', $options, $mybb->input['usergroupchangetype'], array('id' => 'usergroupchangetype')), 'usergroupchangetype'); 518 519 $form_container->output_row($lang->enabled." <em>*</em>", "", $form->generate_yes_no_radio("enabled", $mybb->input['enabled'], true)); 520 521 $form_container->output_row($lang->enable_logging." <em>*</em>", "", $form->generate_yes_no_radio("logging", $mybb->input['logging'], true)); 522 $form_container->end(); 523 524 $buttons[] = $form->generate_submit_button($lang->update_promotion); 525 526 $form->output_submit_wrapper($buttons); 527 $form->end(); 528 529 $page->output_footer(); 530 } 531 532 if($mybb->input['action'] == "logs") 533 { 534 $plugins->run_hooks("admin_user_group_promotions_logs"); 535 536 if($mybb->input['page'] && $mybb->input['page'] > 1) 537 { 538 $mybb->input['page'] = intval($mybb->input['page']); 539 $start = ($mybb->input['page']*20)-20; 540 } 541 else 542 { 543 $mybb->input['page'] = 1; 544 $start = 0; 545 } 546 547 $page->add_breadcrumb_item($lang->promotion_logs); 548 $page->output_header($lang->user_group_promotions." - ".$lang->promotion_logs); 549 550 $page->output_nav_tabs($sub_tabs, 'promotion_logs'); 551 552 $table = new Table; 553 $table->construct_header($lang->promoted_user, array("class" => "align_center", "width" => '20%')); 554 $table->construct_header($lang->user_group_change_type, array("class" => "align_center", "width" => '20%')); 555 $table->construct_header($lang->orig_user_group, array("class" => "align_center", "width" => '20%')); 556 $table->construct_header($lang->new_user_group, array("class" => "align_center", "width" => '20%')); 557 $table->construct_header($lang->time_promoted, array("class" => "align_center", "width" => '20%')); 558 559 $query = $db->query(" 560 SELECT pl.*,u.username 561 FROM ".TABLE_PREFIX."promotionlogs pl 562 LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=pl.uid) 563 ORDER BY dateline DESC 564 LIMIT {$start}, 20 565 "); 566 while($log = $db->fetch_array($query)) 567 { 568 $log['username'] = "<a href=\"index.php?module=user-view&action=edit&uid={$log['uid']}\">".htmlspecialchars_uni($log['username'])."</a>"; 569 570 if($log['type'] == "secondary" || (!empty($log['oldusergroup']) && strstr(",", $log['oldusergroup']))) 571 { 572 $log['oldusergroup'] = "<i>".$lang->multiple_usergroups."</i>"; 573 $log['newusergroup'] = htmlspecialchars_uni($groupscache[$log['newusergroup']]['title']); 574 } 575 else 576 { 577 $log['oldusergroup'] = htmlspecialchars_uni($groupscache[$log['oldusergroup']]['title']); 578 $log['newusergroup'] = htmlspecialchars_uni($groupscache[$log['newusergroup']]['title']); 579 } 580 581 if($log['type'] == "secondary") 582 { 583 $log['type'] = $lang->secondary; 584 } 585 else 586 { 587 $log['type'] = $lang->primary; 588 } 589 590 $log['dateline'] = date($mybb->settings['dateformat'], $log['dateline']).", ".date($mybb->settings['timeformat'], $log['dateline']); 591 $table->construct_cell($log['username']); 592 $table->construct_cell($log['type'], array('style' => 'text-align: center;')); 593 $table->construct_cell($log['oldusergroup'], array('style' => 'text-align: center;')); 594 $table->construct_cell($log['newusergroup'], array('style' => 'text-align: center;')); 595 $table->construct_cell($log['dateline'], array('style' => 'text-align: center;')); 596 $table->construct_row(); 597 } 598 599 if($table->num_rows() == 0) 600 { 601 $table->construct_cell($lang->no_promotion_logs, array("colspan" => "5")); 602 $table->construct_row(); 603 } 604 605 $table->output($lang->promotion_logs); 606 607 $query = $db->simple_select("promotionlogs", "COUNT(plid) as promotionlogs"); 608 $total_rows = $db->fetch_field($query, "promotionlogs"); 609 610 echo "<br />".draw_admin_pagination($mybb->input['page'], "20", $total_rows, "index.php?module=user-group_promotions&action=logs&page={page}"); 611 612 $page->output_footer(); 613 } 614 615 if(!$mybb->input['action']) 616 { 617 $plugins->run_hooks("admin_user_group_promotions_start"); 618 619 $page->output_header($lang->promotion_manager); 620 621 $page->output_nav_tabs($sub_tabs, 'usergroup_promotions'); 622 623 $table = new Table; 624 $table->construct_header($lang->promotion); 625 $table->construct_header($lang->controls, array("class" => "align_center", "width" => 150)); 626 627 $query = $db->simple_select("promotions", "*", "", array("order_by" => "title", "order_dir" => "asc")); 628 while($promotion = $db->fetch_array($query)) 629 { 630 $promotion['title'] = htmlspecialchars_uni($promotion['title']); 631 $promotion['description'] = htmlspecialchars_uni($promotion['description']); 632 $table->construct_cell("<div><strong><a href=\"index.php?module=user-group_promotions&action=edit&pid={$promotion['pid']}\">{$promotion['title']}</a></strong><br /><small>{$promotion['description']}</small></div>"); 633 634 $popup = new PopupMenu("promotion_{$promotion['pid']}", $lang->options); 635 $popup->add_item($lang->edit_promotion, "index.php?module=user-group_promotions&action=edit&pid={$promotion['pid']}"); 636 if($promotion['enabled'] == 1) 637 { 638 $popup->add_item($lang->disable_promotion, "index.php?module=user-group_promotions&action=disable&pid={$promotion['pid']}"); 639 } 640 else 641 { 642 $popup->add_item($lang->enable_promotion, "index.php?module=user-group_promotions&action=enable&pid={$promotion['pid']}"); 643 } 644 $popup->add_item($lang->delete_promotion, "index.php?module=user-group_promotions&action=delete&pid={$promotion['pid']}&my_post_key={$mybb->post_code}", "return AdminCP.deleteConfirmation(this, '{$lang->confirm_promo_deletion}')"); 645 $table->construct_cell($popup->fetch(), array("class" => "align_center")); 646 $table->construct_row(); 647 } 648 649 if($table->num_rows() == 0) 650 { 651 $table->construct_cell($lang->no_promotions_set, array("colspan" => "2")); 652 $table->construct_row(); 653 } 654 655 $table->output($lang->user_group_promotions); 656 657 $page->output_footer(); 658 } 659 660 ?>
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Sun Dec 11 14:16:27 2011 | Cross-referenced by PHPXref 0.7.1 |