· 8 years ago · Mar 10, 2018, 02:02 AM
1<?php
2class ETKoenige {
3
4 public function __construct() {
5 add_action('admin_menu', array(&$this, 'addKoenigeMenuItem'));
6 register_activation_hook(__FILE__, array(&$this, 'dbCreate'));
7 }
8
9 public function addKoenigeMenuItem() {
10 $page_title = __('Ergebnisse und Könige', 'et');
11 $menu_title = __('Könige', 'et');
12 $capability = 'edit_pages';
13 $menu_slug = 'koenige_menu';
14 $function = array('ETKoenige', 'showKoenigeMenuPage');
15 $icon_url = get_stylesheet_directory_uri().'/images/icon_wp.png';
16 $position = 30;
17 add_menu_page($page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position);
18
19 $parent_slug = 'koenige_menu';
20 $page_title = __('Neues Ergebnis eintragen:', 'et');
21 $menu_title = __('Neues Ergebnis', 'et');
22 $capability = 'edit_pages';
23 $menu_slug = 'new_koenig';
24 $function = array('ETKoenige', 'showAddNewPage');
25 add_submenu_page($parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function);
26 }
27 public function showKoenigeMenuPage() { include('et_list.php'); }
28 public function showAddNewPage() { include('et_add.php'); }
29
30 public function dbCreate() {
31 add_option("et_koenige_db_version", "0.2");
32
33 require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
34 global $wpdb;
35
36 //create tables
37 $sql = "CREATE TABLE IF NOT EXISTS " . $wpdb->prefix . "koenige_ergebnisse (
38 id mediumint(11) NOT NULL AUTO_INCREMENT,
39 deleted int(1) NOT NULL DEFAULT '0',
40 wettkampf tinytext NOT NULL,
41 year tinytext NOT NULL,
42 class tinytext NOT NULL,
43 archer_type ENUM('single', 'team'),
44 archer_id mediumint(11) NOT NULL,
45 score_type ENUM('Ringe', 'Teiler', 'Punkte'),
46 score DECIMAL NOT NULL,
47 UNIQUE KEY id (id)
48 );
49 CREATE TABLE IF NOT EXISTS " . $wpdb->prefix . "koenige_archers (
50 id mediumint(11) NOT NULL AUTO_INCREMENT,
51 deleted int(1) NOT NULL DEFAULT '0',
52 name tinytext NOT NULL,
53 UNIQUE KEY id (id)
54 );
55 CREATE TABLE IF NOT EXISTS " . $wpdb->prefix . "koenige_teams (
56 id mediumint(11) NOT NULL AUTO_INCREMENT,
57 deleted int(1) NOT NULL DEFAULT '0',
58 name tinytext NOT NULL,
59 UNIQUE KEY id (id)
60 );
61 CREATE TABLE IF NOT EXISTS " . $wpdb->prefix . "koenige_archers_in_teams (
62 id mediumint(11) NOT NULL AUTO_INCREMENT,
63 archer_id mediumint(11) NOT NULL,
64 team_id mediumint(11) NOT NULL,
65 UNIQUE KEY id (id)
66 );";
67 dbDelta($sql);
68
69 $king_rows = $wpdb->insert($wpdb->prefix . "koenige_ergebnisse", array(
70 'wettkampf' => 'koenigsschiessen',
71 'year' => '2011',
72 'class' => 'Schützenkönig',
73 'archer_type' => 'single',
74 'archer_id' => '0',
75 'score_type' => 'Teiler',
76 'score' => '42,17',
77 'deleted' => 1
78 ));
79 $archer_rows = $wpdb->insert($wpdb->prefix . "koenige_archers", array(
80 'name' => 'Max Mustermann',
81 'deleted' => 1
82 ));
83
84 $team_rows = $wpdb->insert($wpdb->prefix . "koenige_teams", array(
85 'name' => 'Musterschützen Musterhausen e.V.',
86 'deleted' => 1
87 ));
88 $relation_rows = $wpdb->insert($wpdb->prefix . "koenige_archers_in_teams", array(
89 'archer_id' => '0',
90 'team_id' => '0'
91 ));
92 }
93
94
95}
96?>