コード例 #1
0
ファイル: cp.admin.php プロジェクト: jlleblanc/ConnectBoom
 function Admin()
 {
     global $IN, $LANG, $SESS, $LOG, $DSP;
     // This flag determines if a user can edit categories from the publish page.
     $category_exception = ($IN->GBL('M') == 'blog_admin' and in_array($IN->GBL('P'), array('category_editor', 'edit_category', 'update_category', 'del_category_conf', 'del_category', 'cat_order')) and $IN->GBL('Z') == 1) ? TRUE : FALSE;
     if ($category_exception == FALSE and !$DSP->allowed_group('can_access_admin') and $IN->GBL('P', 'GET') != 'save_ping_servers') {
         return $DSP->no_access_message();
     }
     switch ($IN->GBL('M')) {
         case 'config_mgr':
             if (!$DSP->allowed_group('can_admin_preferences')) {
                 return $DSP->no_access_message();
             }
             switch ($IN->GBL('P')) {
                 case 'update_cfg':
                     $this->update_config_prefs();
                     break;
                 case 'member_cfg':
                     $this->member_config_manager();
                     break;
                 default:
                     $this->config_manager();
                     break;
             }
             break;
         case 'members':
             // Instantiate the member administration class
             require PATH_CP . 'cp.members' . EXT;
             $MBR = new Members();
             switch ($IN->GBL('P')) {
                 case 'view_members':
                     $MBR->view_all_members();
                     break;
                 case 'mbr_conf':
                     $MBR->member_confirm();
                     break;
                 case 'mbr_del_conf':
                     $MBR->member_delete_confirm();
                     break;
                 case 'mbr_delete':
                     $MBR->member_delete();
                     break;
                 case 'resend_act_email':
                     $MBR->resend_activation_emails();
                     break;
                 case 'member_reg_form':
                     $MBR->new_member_profile_form();
                     break;
                 case 'register_member':
                     $MBR->create_member_profile();
                     break;
                 case 'mbr_group_manager':
                     $MBR->member_group_manager();
                     break;
                 case 'edit_mbr_group':
                     $MBR->edit_member_group_form();
                     break;
                 case 'update_mbr_group':
                     $MBR->update_member_group();
                     break;
                 case 'mbr_group_del_conf':
                     $MBR->delete_member_group_conf();
                     break;
                 case 'delete_mbr_group':
                     $MBR->delete_member_group();
                     break;
                 case 'member_banning':
                     $MBR->member_banning_forms();
                     break;
                 case 'save_ban_data':
                     $MBR->update_banning_data();
                     break;
                 case 'profile_fields':
                     $MBR->custom_profile_fields();
                     break;
                 case 'edit_field':
                     $MBR->edit_profile_field_form();
                     break;
                 case 'del_field_conf':
                     $MBR->delete_profile_field_conf();
                     break;
                 case 'delete_field':
                     $MBR->delete_profile_field();
                     break;
                 case 'edit_field_order':
                     $MBR->edit_field_order_form();
                     break;
                 case 'update_field_order':
                     $MBR->update_field_order();
                     break;
                 case 'update_profile_fields':
                     $MBR->update_profile_fields();
                     break;
                 case 'member_search':
                     $MBR->member_search_form();
                     break;
                 case 'do_member_search':
                     $MBR->do_member_search();
                     break;
                 case 'ip_search':
                     $MBR->ip_search_form();
                     break;
                 case 'do_ip_search':
                     $MBR->do_ip_search();
                     break;
                 case 'member_validation':
                     $MBR->member_validation();
                     break;
                 case 'validate_members':
                     $MBR->validate_members();
                     break;
                 case 'email_console_logs':
                     $MBR->email_console_logs();
                     break;
                 case 'view_email':
                     $MBR->view_email();
                     break;
                 case 'delete_email_console':
                     $MBR->delete_email_console_messages();
                     break;
                 case 'profile_templates':
                     $MBR->profile_templates();
                     break;
                 case 'list_templates':
                     $MBR->list_templates();
                     break;
                 case 'edit_template':
                     $MBR->edit_template();
                     break;
                 case 'save_template':
                     $MBR->save_template();
                     break;
                 case 'login_as_member':
                     $MBR->login_as_member();
                     break;
                 case 'do_login_as_member':
                     $MBR->do_login_as_member();
                     break;
                 default:
                     return FALSE;
                     break;
             }
             break;
         case 'sp_templ':
             // Instantiate the specialty templates class
             require PATH_CP . 'cp.specialty_tmp' . EXT;
             $SP = new Specialty_Templates();
             switch ($IN->GBL('P')) {
                 case 'mbr_notification_tmpl':
                     $SP->mbr_notification_tmpl();
                     break;
                 case 'edit_notification_tmpl':
                     $SP->edit_notification_tmpl();
                     break;
                 case 'update_notification_tmpl':
                     $SP->update_notification_tmpl();
                     break;
                 case 'offline_tmpl':
                     $SP->offline_template();
                     break;
                 case 'update_offline_template':
                     $SP->update_offline_template();
                     break;
                 case 'user_messages_tmpl':
                     $SP->user_messages_template();
                     break;
                 case 'update_user_messages_tmpl':
                     $SP->update_user_messages_template();
                     break;
             }
             break;
         case 'site_admin':
             if (!$DSP->allowed_group('can_admin_sites')) {
                 return $DSP->no_access_message();
             }
             // Instantiate the site administration class
             require PATH_CP . 'cp.sites' . EXT;
             $SA = new SitesAdmin();
             switch ($IN->GBL('P')) {
                 case 'sites_list':
                     $SA->sites_list();
                     break;
                 case 'new_site':
                     $SA->new_site_form();
                     break;
                 case 'edit_site':
                     $SA->edit_site_form();
                     break;
                 case 'update_site':
                     $SA->update_site();
                     break;
                 case 'delete_site':
                     $SA->delete_site();
                     break;
                 case 'delete_site_confirm':
                     $SA->delete_site_confirm();
                     break;
                 default:
                     $SA->sites_list();
                     break;
             }
             break;
         case 'blog_admin':
             if ($category_exception == FALSE and !$DSP->allowed_group('can_admin_weblogs') and $IN->GBL('P', 'GET') != 'save_ping_servers') {
                 return $DSP->no_access_message();
             }
             // Instantiate the publish administration class
             require PATH_CP . 'cp.publish_ad' . EXT;
             $PA = new PublishAdmin();
             switch ($IN->GBL('P')) {
                 case 'blog_list':
                     $PA->weblog_overview();
                     break;
                 case 'new_weblog':
                     $PA->new_weblog_form();
                     break;
                 case 'blog_prefs':
                     $PA->edit_blog_form();
                     break;
                 case 'group_prefs':
                     $PA->edit_group_form();
                     break;
                 case 'create_blog':
                     $PA->update_weblog_prefs();
                     break;
                 case 'update_preferences':
                     $PA->update_weblog_prefs();
                     break;
                 case 'delete_conf':
                     $PA->delete_weblog_conf();
                     break;
                 case 'delete':
                     $PA->delete_weblog();
                     break;
                 case 'categories':
                     $PA->category_overview();
                     break;
                 case 'cat_group_editor':
                     $PA->edit_category_group_form();
                     break;
                 case 'update_cat_group':
                     $PA->update_category_group();
                     break;
                 case 'cat_group_del_conf':
                     $PA->delete_category_group_conf();
                     break;
                 case 'delete_group':
                     $PA->delete_category_group();
                     break;
                 case 'category_editor':
                     $PA->category_manager();
                     break;
                 case 'update_category':
                     $PA->update_category();
                     break;
                 case 'edit_category':
                     $PA->edit_category_form();
                     break;
                 case 'cat_order':
                     $PA->change_category_order();
                     break;
                 case 'global_cat_order':
                     $PA->global_category_order();
                     break;
                 case 'del_category_conf':
                     $PA->delete_category_confirm();
                     break;
                 case 'del_category':
                     $PA->delete_category();
                     break;
                 case 'cat_field_group_edit':
                     $PA->category_field_group_manager();
                     break;
                 case 'del_cat_field_conf':
                     $PA->delete_category_field_confirm();
                     break;
                 case 'del_cat_field':
                     $PA->delete_category_field();
                     break;
                 case 'edit_cat_field':
                     $PA->edit_category_field_form();
                     break;
                 case 'edit_cat_field_order':
                     $PA->edit_category_field_order_form();
                     break;
                 case 'ud_cat_field_order':
                     $PA->update_category_field_order();
                     break;
                 case 'update_cat_fields':
                     $PA->update_category_fields();
                     break;
                 case 'statuses':
                     $PA->status_overview();
                     break;
                 case 'status_group_editor':
                     $PA->edit_status_group_form();
                     break;
                 case 'update_status_group':
                     $PA->update_status_group();
                     break;
                 case 'status_group_del_conf':
                     $PA->delete_status_group_conf();
                     break;
                 case 'delete_status_group':
                     $PA->delete_status_group();
                     break;
                 case 'status_editor':
                     $PA->status_manager();
                     break;
                 case 'update_status':
                     $PA->update_status();
                     break;
                 case 'edit_status':
                     $PA->edit_status_form();
                     break;
                 case 'del_status_conf':
                     $PA->delete_status_confirm();
                     break;
                 case 'del_status':
                     $PA->delete_status();
                     break;
                 case 'edit_status_order':
                     $PA->edit_status_order();
                     break;
                 case 'update_status_order':
                     $PA->update_status_order();
                     break;
                 case 'custom_fields':
                     $PA->field_overview();
                     break;
                 case 'update_field_group':
                     $PA->update_field_group();
                     break;
                 case 'del_field_group_conf':
                     $PA->delete_field_group_conf();
                     break;
                 case 'delete_field_group':
                     $PA->delete_field_group();
                     break;
                 case 'field_editor':
                     $PA->field_manager();
                     break;
                 case 'edit_field':
                     $PA->edit_field_form();
                     break;
                 case 'update_weblog_fields':
                     $PA->update_weblog_fields();
                     break;
                 case 'field_group_editor':
                     $PA->edit_field_group_form();
                     break;
                 case 'del_field_conf':
                     $PA->delete_field_conf();
                     break;
                 case 'delete_field':
                     $PA->delete_field();
                     break;
                 case 'edit_field_order':
                     $PA->edit_field_order_form();
                     break;
                 case 'update_field_order':
                     $PA->update_field_order();
                     break;
                 case 'edit_fmt_buttons':
                     $PA->edit_formatting_buttons();
                     break;
                 case 'update_fmt_buttons':
                     $PA->update_formatting_buttons();
                     break;
                 case 'html_buttons':
                     $PA->html_buttons();
                     break;
                 case 'save_html_buttons':
                     $PA->save_html_buttons();
                     break;
                 case 'ping_servers':
                     $PA->ping_servers();
                     break;
                 case 'save_ping_servers':
                     $PA->save_ping_servers();
                     break;
                 case 'upload_prefs':
                     $PA->file_upload_preferences();
                     break;
                 case 'edit_upload_pref':
                     $PA->edit_upload_preferences_form();
                     break;
                 case 'update_upload_prefs':
                     $PA->update_upload_preferences();
                     break;
                 case 'del_upload_pref_conf':
                     $PA->delete_upload_preferences_conf();
                     break;
                 case 'del_upload_pref':
                     $PA->delete_upload_preferences();
                     break;
                 default:
                     return FALSE;
                     break;
             }
             break;
         case 'utilities':
             if (!$DSP->allowed_group('can_admin_utilities')) {
                 return $DSP->no_access_message();
             }
             // We handle the pMachine import via a different class,
             // so we'll test for that separately
             if ($IN->GBL('P') == 'pm_import') {
                 require PATH_CP . 'cp.pm_import' . EXT;
                 $PMI = new PM_Import();
                 return;
             }
             if ($IN->GBL('P') == 'mt_import') {
                 require PATH_CP . 'cp.mt_import' . EXT;
                 $MT = new MT_Import();
                 return;
             }
             if ($IN->GBL('P') == 'member_import') {
                 require PATH_CP . 'cp.member_import' . EXT;
                 $MI = new Member_Import();
                 return;
             }
             require PATH_CP . 'cp.utilities' . EXT;
             switch ($IN->GBL('P')) {
                 case 'view_logs':
                     $LOG->view_logs();
                     break;
                 case 'clear_cplogs':
                     $LOG->clear_cp_logs();
                     break;
                 case 'view_search_log':
                     $LOG->view_search_log();
                     break;
                 case 'view_throttle_log':
                     $LOG->view_throttle_log();
                     break;
                 case 'blacklist_ips':
                     $LOG->blacklist_ips();
                     break;
                 case 'clear_search_log':
                     $LOG->clear_search_log();
                     break;
                 case 'clear_cache_form':
                     Utilities::clear_cache_form();
                     break;
                 case 'clear_caching':
                     Utilities::clear_caching();
                     break;
                 case 'run_query':
                     Utilities::sql_manager('run_query');
                     break;
                 case 'sql_query':
                     Utilities::sql_query_form();
                     break;
                     //case 'sql_backup'			: Utilities::sql_backup();
                     //	break;
                     //case 'do_sql_backup'		: Utilities::do_sql_backup();
                     //	break;
                 //case 'sql_backup'			: Utilities::sql_backup();
                 //	break;
                 //case 'do_sql_backup'		: Utilities::do_sql_backup();
                 //	break;
                 case 'view_database':
                     Utilities::view_database();
                     break;
                 case 'table_action':
                     Utilities::run_table_action();
                     break;
                 case 'sandr':
                     Utilities::search_and_replace_form();
                     break;
                 case 'recount_stats':
                     Utilities::recount_statistics();
                     break;
                 case 'recount_prefs':
                     Utilities::recount_preferences_form();
                     break;
                 case 'set_recount_prefs':
                     Utilities::set_recount_prefs();
                     break;
                 case 'do_recount':
                     Utilities::do_recount();
                     break;
                 case 'do_stats_recount':
                     Utilities::do_stats_recount();
                     break;
                 case 'prune':
                     Utilities::data_pruning();
                     break;
                 case 'member_pruning':
                     Utilities::member_pruning();
                     break;
                 case 'prune_member_conf':
                     Utilities::prune_member_confirm();
                     break;
                 case 'prune_members':
                     Utilities::prune_members();
                     break;
                 case 'entry_pruning':
                     Utilities::entry_pruning();
                     break;
                 case 'prune_entry_conf':
                     Utilities::prune_entry_confirm();
                     break;
                 case 'prune_entries':
                     Utilities::prune_entries();
                     break;
                 case 'comment_pruning':
                     Utilities::comment_pruning();
                     break;
                 case 'prune_comment_conf':
                     Utilities::prune_comment_confirmation();
                     break;
                 case 'prune_comments':
                     Utilities::prune_comments();
                     break;
                 case 'trackback_pruning':
                     Utilities::trackback_pruning();
                     break;
                 case 'prune_trackback_conf':
                     Utilities::prune_trackback_confirmation();
                     break;
                 case 'prune_trackbacks':
                     Utilities::prune_trackbacks();
                     break;
                     /* Someday, oh someday...
                     		 case 'pm_pruning'			: Utilities::pm_pruning();
                     			break;
                     		 case 'prune_pm_conf'		: Utilities::prune_pm_confirmation();
                     			break;
                     		 case 'prune_pms'			: Utilities::prune_pms();
                     			break;
                     		 */
                 /* Someday, oh someday...
                 		 case 'pm_pruning'			: Utilities::pm_pruning();
                 			break;
                 		 case 'prune_pm_conf'		: Utilities::prune_pm_confirmation();
                 			break;
                 		 case 'prune_pms'			: Utilities::prune_pms();
                 			break;
                 		 */
                 case 'topic_pruning':
                     Utilities::topic_pruning();
                     break;
                 case 'prune_topic_conf':
                     Utilities::prune_topic_confirmation();
                     break;
                 case 'prune_topics':
                     Utilities::prune_topics();
                     break;
                 case 'run_sandr':
                     Utilities::search_and_replace();
                     break;
                 case 'php_info':
                     Utilities::php_info();
                     break;
                 case 'sql_manager':
                     Utilities::sql_info();
                     break;
                 case 'sql_status':
                     Utilities::sql_manager('status');
                     break;
                 case 'sql_sysvars':
                     Utilities::sql_manager('sysvars');
                     break;
                 case 'sql_plist':
                     Utilities::sql_manager('plist');
                     break;
                 case 'plugin_manager':
                     Utilities::plugin_manager();
                     break;
                 case 'plugin_info':
                     Utilities::plugin_info();
                     break;
                 case 'plugin_remove_conf':
                     Utilities::plugin_remove_confirm();
                     break;
                 case 'plugin_remove':
                     Utilities::plugin_remove();
                     break;
                 case 'plugin_install':
                     Utilities::plugin_install('file');
                     break;
                 case 'import_utilities':
                     Utilities::import_utilities();
                     break;
                 case 'trans_menu':
                     Utilities::translate_select();
                     break;
                 case 'translate':
                     Utilities::translate();
                     break;
                 case 'save_translation':
                     Utilities::save_translation();
                     break;
                 case 'extensions_manager':
                     Utilities::extensions_manager();
                     break;
                 case 'toggle_extension_confirm':
                     Utilities::toggle_extension_confirm();
                     break;
                 case 'toggle_extension':
                     Utilities::toggle_extension();
                     break;
                 case 'extension_settings':
                     Utilities::extension_settings();
                     break;
                 case 'save_extension_settings':
                     Utilities::save_extension_settings();
                     break;
                 default:
                     return FALSE;
                     break;
             }
             break;
         default:
             $this->admin_home_page();
             break;
     }
 }