PluginProbe
School Management System – WPSchoolPress / 2.2.38
School Management System – WPSchoolPress v2.2.38
2.2.48 2.2.47 2.2.46 2.2.45 2.2.44 2.2.43 2.2.42 2.2.41 2.2.40 2.2.39 2.2.38 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 All 103 releases
wpschoolpress / lib / wpsp-activation.php

wpsp-activation.php in School Management System – WPSchoolPress 2.2.38, at lib/wpsp-activation.php

393 lines 15.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) )
3 exit('No Such File');
4 require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
5 $dashboard_page = array( 'slug' => 'sch-dashboard', 'title' =>'Dashboard' );
6 $dashboard_found = 0;
7 $pages = get_pages();
8 foreach ($pages as $page) {
9 $apage = $page->post_name;
10 switch ( $apage ){
11 case 'sch-dashboard' : $dashboard_found= '1'; break;
12 default: $no_page;
13 }
14 }
15 if( $dashboard_found != '1' ){
16 $dashboard_found_data = array('post_title' => $dashboard_page['title'],
17 'post_type' => 'page',
18 'post_name' => $dashboard_page['slug'],
19 'post_status' => 'publish',
20 'post_excerpt' => 'Dashboard contains all the overview ! ' );
21 $page_id = wp_insert_post($dashboard_found_data);
22 }
23 global $wpdb;
24 $teacher_table = $wpdb->prefix . 'wpsp_teacher';
25 $class_table_mapping = $wpdb->prefix . 'wpsp_class_mapping';
26 $student_table = $wpdb->prefix . 'wpsp_student';
27 $class_table = $wpdb->prefix . 'wpsp_class';
28 $exams_table = $wpdb->prefix . 'wpsp_exam';
29 $mark_fields_table = $wpdb->prefix . 'wpsp_mark_fields';
30 $mark_table = $wpdb->prefix . 'wpsp_mark';
31 $mark_extract_table = $wpdb->prefix . 'wpsp_mark_extract';
32 $messages_table = $wpdb->prefix . 'wpsp_messages';
33 $messages_table_delete = $wpdb->prefix . 'wpsp_messages_delete';
34 $time_table = $wpdb->prefix . 'wpsp_timetable';
35 $notification_table = $wpdb->prefix . 'wpsp_notification';
36 $subject_table = $wpdb->prefix . 'wpsp_subject';
37 $workinghours_table = $wpdb->prefix . 'wpsp_workinghours';
38 $transport_table = $wpdb->prefix . 'wpsp_transport';
39 $settings_table = $wpdb->prefix . 'wpsp_settings';
40 $attendance_table = $wpdb->prefix . 'wpsp_attendance';
41 $teacher_attendance_table = $wpdb->prefix . 'wpsp_teacher_attendance';
42 $events_table = $wpdb->prefix . 'wpsp_events';
43 $grade_settings_table = $wpdb->prefix . 'wpsp_grade';
44 $import_history_table = $wpdb->prefix . 'wpsp_import_history';
45 $leave_table = $wpdb->prefix . 'wpsp_leavedays';
46 $temp_table = $wpdb->prefix . 'wpsp_temp';
47 $charset_collate = $wpdb->get_charset_collate();
48 $sql_temp = "CREATE TABLE IF NOT EXISTS $temp_table (
49 `t_id` int(11) NOT NULL AUTO_INCREMENT,
50 `t_name` varchar(255) DEFAULT NULL,
51 `t_username` varchar(255) DEFAULT NULL,
52 `t_email` varchar(255) DEFAULT NULL,
53 `t_password` varchar(255) DEFAULT NULL,
54 `t_type` varchar(255) NOT NULL,
55 `t_cid` int(10) NOT NULL,
56 `t_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
57 `t_active` int(11) DEFAULT '1',
58 PRIMARY KEY (`t_id`)
59 ) ENGINE=InnoDB DEFAULT CHARSET=latin1";
60 dbDelta($sql_temp);
61 $class_table_mapping_table="CREATE TABLE IF NOT EXISTS $class_table_mapping (
62 `id` bigint(11) NOT NULL AUTO_INCREMENT,
63 `sid` bigint(11) NOT NULL,
64 `cid` bigint(11) NOT NULL,
65 `date` date,
66 PRIMARY KEY (`id`)
67 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" ;
68 dbDelta($class_table_mapping_table);
69 $messages_table_delete="CREATE TABLE IF NOT EXISTS $messages_table_delete (
70 `id` bigint(11) NOT NULL AUTO_INCREMENT,
71 `m_id` bigint(11) NOT NULL,
72 `user_id` bigint(11) NOT NULL,
73 `delete_status` bigint(11) NOT NULL,
74 PRIMARY KEY (`id`)
75 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" ;
76 dbDelta($messages_table_delete);
77 $sql_teacher_attendance_table="CREATE TABLE IF NOT EXISTS $teacher_attendance_table (
78 `id` bigint(11) NOT NULL AUTO_INCREMENT,
79 `teacher_id` bigint(11) NOT NULL,
80 `status` VARCHAR(10),
81 `leave_date` date,
82 `reason` VARCHAR(250),
83 `entry_date` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
84 PRIMARY KEY (`id`)
85 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci" ;
86 dbDelta($sql_teacher_attendance_table);
87 $sql_leave_table = "CREATE TABLE IF NOT EXISTS $leave_table (
88 `id` bigint(11) NOT NULL AUTO_INCREMENT,
89 `class_id` int(11) NOT NULL,
90 `leave_date` date,
91 `description` VARCHAR(150),
92 PRIMARY KEY (`id`)
93 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1" ;
94 dbDelta($sql_leave_table);
95 $sql_import_history = "CREATE TABLE IF NOT EXISTS $import_history_table (
96 `id` int(11) NOT NULL AUTO_INCREMENT,
97 `type` int(1) NOT NULL,
98 `imported_id` longtext NOT NULL,
99 `time` datetime NOT NULL,
100 `count` int(11) NOT NULL,
101 PRIMARY KEY (`id`)
102 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1" ;
103 dbDelta($sql_import_history);
104 $sql_grade = "CREATE TABLE IF NOT EXISTS $grade_settings_table (
105 `gid` int(15) NOT NULL AUTO_INCREMENT PRIMARY KEY,
106 `g_name` varchar(60),
107 `g_point` varchar(5),
108 `mark_from` int(3),
109 `mark_upto` int(3),
110 `comment` varchar(60)
111 )ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;";
112 dbDelta($sql_grade);
113 $sql_events_table = "CREATE TABLE IF NOT EXISTS $events_table (
114 `id` bigint(15) UNSIGNED NOT NULL AUTO_INCREMENT,
115 `start` varchar(50) DEFAULT NULL,
116 `end` varchar(50) DEFAULT NULL,
117 `type` varchar(10) DEFAULT NULL,
118 `title` text,
119 `description` longtext,
120 `color` varchar(20) DEFAULT NULL,
121 PRIMARY KEY (`id`)
122 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1" ;
123 dbDelta($sql_events_table);
124 $sql_attendance_table = "CREATE TABLE IF NOT EXISTS $attendance_table (
125 `aid` int(15) UNSIGNED NOT NULL AUTO_INCREMENT,
126 `class_id` varchar(15) DEFAULT NULL,
127 `absents` text DEFAULT NULL,
128 `date` date,
129 `entry` timestamp,
130 PRIMARY KEY (`aid`)
131 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1" ;
132 dbDelta($sql_attendance_table);
133 $sql_settings_table = "CREATE TABLE $settings_table (
134 `id` int(15) UNSIGNED NOT NULL AUTO_INCREMENT,
135 `option_name` varchar(50) DEFAULT NULL,
136 `option_value` text DEFAULT NULL,
137 PRIMARY KEY (`id`)
138 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1" ;
139 dbDelta($sql_settings_table);
140 $sql_transport_table = "CREATE TABLE $transport_table (
141 `id` int(15) UNSIGNED NOT NULL AUTO_INCREMENT,
142 `bus_no` varchar(30) DEFAULT NULL,
143 `bus_name` varchar(50) DEFAULT NULL,
144 `driver_name` varchar(50) DEFAULT NULL,
145 `bus_route` mediumtext DEFAULT NULL,
146 `route_fees` varchar(5) DEFAULT NULL,
147 `phone_no` varchar(50) DEFAULT NULL,
148 PRIMARY KEY (`id`)
149 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1" ;
150 dbDelta($sql_transport_table);
151 $sql_time_table = "CREATE TABLE IF NOT EXISTS $time_table (
152 `id` int(15) UNSIGNED NOT NULL AUTO_INCREMENT,
153 `class_id` int(10) NOT NULL,
154 `time_id` int(10) NOT NULL,
155 `subject_id` int(10) NOT NULL,
156 `session_id` int(10) NOT NULL,
157 `day` int(2) NOT NULL,
158 `heading` text DEFAULT NULL,
159 `is_active` int(10) NOT NULL,
160 PRIMARY KEY (`id`)
161 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1" ;
162 dbDelta($sql_time_table);
163 $sql_workinghours_table="CREATE TABLE IF NOT EXISTS `$workinghours_table` (
164 `id` int(5) unsigned NOT NULL AUTO_INCREMENT,
165 `hour` varchar(20) DEFAULT NULL,
166 `begintime` VARCHAR(10) NOT NULL,
167 `endtime` VARCHAR(10) NOT NULL,
168 `type` varchar(20) NOT NULL,
169 PRIMARY KEY (`id`)
170 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ";
171 dbDelta($sql_workinghours_table);
172 $sql_subject = "CREATE TABLE IF NOT EXISTS $subject_table (
173 `id` int(15) NOT NULL AUTO_INCREMENT PRIMARY KEY,
174 `sub_code` varchar(8),
175 `class_id` int(15),
176 `sub_name` varchar(60),
177 `sub_teach_id` varchar(15),
178 `book_name` varchar(60),
179 `sub_desc` varchar(250),
180 `max_mark` int(4),
181 `pass_mark` int(4)
182 )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1";
183 dbDelta($sql_subject);
184 $sql_notification = "CREATE TABLE IF NOT EXISTS $notification_table (
185 `nid` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
186 `name` varchar(500),
187 `description` varchar(500),
188 `receiver` varchar(500),
189 `type` int(11),
190 `date` datetime,
191 `status` int(11)
192 )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ";
193 dbDelta($sql_notification);
194 $sql_message = "CREATE TABLE IF NOT EXISTS $messages_table (
195 `mid` int(15) NOT NULL AUTO_INCREMENT PRIMARY KEY,
196 `s_id` int(15),
197 `r_id` int(15),
198 `subject` varchar(250),
199 `msg` longtext,
200 `replay_id` int(11),
201 `main_m_id` int(11),
202 `del_stat` int(15),
203 `s_read` int(11) DEFAULT 0,
204 `r_read` int(11) DEFAULT 0,
205 `m_date` timestamp
206 )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ";
207 dbDelta($sql_message);
208 $sql_mark_fields = "CREATE TABLE IF NOT EXISTS $mark_fields_table (
209 `field_id` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
210 `subject_id` int(12),
211 `field_text` varchar(60)
212 )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ";
213 dbDelta($sql_mark_fields);
214 $sql_mark = "CREATE TABLE IF NOT EXISTS $mark_table (
215 `mid` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
216 `subject_id` varchar(128),
217 `class_id` int(15),
218 `student_id` int(15),
219 `exam_id` int(15),
220 `mark` varchar(60),
221 `remarks` text DEFAULT NULL,
222 `attendance` varchar(60)
223 )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ";
224 dbDelta($sql_mark);
225 $sql_mark_extract = "CREATE TABLE IF NOT EXISTS $mark_extract_table (
226 `id` bigint(20) NOT NULL AUTO_INCREMENT PRIMARY KEY,
227 `student_id` bigint(20),
228 `field_id` bigint(20),
229 `exam_id` int(12),
230 `subject_id` int(12),
231 `mark` varchar(10)
232 )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ";
233 dbDelta($sql_mark_extract);
234 $sql_exam = "CREATE TABLE $exams_table (
235 `eid` int(15) NOT NULL AUTO_INCREMENT PRIMARY KEY,
236 `classid` int(15),
237 `subject_id` varchar(128),
238 `e_name` varchar(128),
239 `e_s_date` date,
240 `e_e_date` date,
241 `entry_date` timestamp
242 )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ";
243 dbDelta($sql_exam);
244 $sql_class = "CREATE TABLE $class_table (
245 `cid` int(15) NOT NULL AUTO_INCREMENT PRIMARY KEY,
246 `c_numb` varchar(128),
247 `c_name` varchar(128),
248 `teacher_id` int(15),
249 `c_capacity` int(5),
250 `c_loc` varchar(60),
251 `c_sdate` date,
252 `c_edate` date,
253 `c_fee_type` varchar(60)
254 )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ";
255 dbDelta($sql_class);
256 $sql_student = "CREATE TABLE $student_table (
257 `sid` int(15) NOT NULL AUTO_INCREMENT PRIMARY KEY,
258 `wp_usr_id` bigint(20),
259 `parent_wp_usr_id` int(15),
260 `s_rollno` varchar(15),
261 `s_fname` varchar(30),
262 `s_mname` varchar(30),
263 `s_lname` varchar(30),
264 `s_dob` date,
265 `s_gender` varchar(10),
266 `s_address` varchar(200),
267 `s_paddress` varchar(200),
268 `s_country` varchar(20),
269 `s_zipcode` varchar(10),
270 `s_phone` varchar(25),
271 `s_bloodgrp` varchar(20),
272 `s_doj` date,
273 `class_id` varchar(255),
274 `class_date` varchar(255),
275 `s_pzipcode` varchar(10),
276 `s_pcountry` varchar(20),
277 `s_city` varchar(20),
278 `s_pcity` varchar(20),
279 `p_fname` varchar(30),
280 `p_mname` varchar(30),
281 `p_lname` varchar(30),
282 `p_gender` varchar(10),
283 `p_edu` varchar(50),
284 `p_phone` varchar(25),
285 `p_profession` varchar(60),
286 `p_bloodgrp` varchar(10)
287 )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ";
288 dbDelta($sql_student);
289 $sql_teacher = "CREATE TABLE $teacher_table (
290 `tid` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
291 `wp_usr_id` bigint(20),
292 `first_name` varchar(30),
293 `middle_name` varchar(30),
294 `last_name` varchar(30),
295 `zipcode` varchar(10),
296 `country` varchar(20),
297 `city` varchar(20),
298 `address` varchar(200),
299 `empcode` varchar(60),
300 `dob` date,
301 `doj` date,
302 `dol` date,
303 `phone` varchar(25),
304 `qualification` varchar(25),
305 `gender` varchar(12),
306 `bloodgrp` varchar(5),
307 `position` varchar(50),
308 `whours` varchar(50)
309 )ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ";
310 dbDelta($sql_teacher);
311 //Duration after how many times it occurs
312 //due time after that it consider as due date
313 $sql_fees = $wpdb->prefix . 'wpsp_fees';
314 $sql = "CREATE TABLE IF NOT EXISTS ".$sql_fees." (
315 `fees_id` int(11) NOT NULL AUTO_INCREMENT,
316 `class_id` int(11) NOT NULL,
317 `order_id` int(11) NOT NULL,
318 `student_id` int(11) NOT NULL,
319 `fees_amount` float NOT NULL,
320 `description` text NOT NULL,
321 `duration` text NOT NULL,
322 `paymentType` text NOT NULL,
323 `due_time` int(2) NOT NULL,
324 `start_date` datetime NOT NULL,
325 `end_date` datetime NOT NULL,
326 `created_date` datetime NOT NULL,
327 `created_by` int(11) NOT NULL,
328 PRIMARY KEY (`fees_id`)
329 ) DEFAULT CHARSET=utf8";
330 dbDelta($sql);
331 $sql_fees_payment = $wpdb->prefix . 'wpsp_fees_payment';
332 $sql = "CREATE TABLE IF NOT EXISTS ".$sql_fees_payment." (
333 `fees_pay_id` int(11) NOT NULL AUTO_INCREMENT,
334 `class_id` int(11) NOT NULL,
335 `student_id` bigint(20) NOT NULL,
336 `fees_id` int(11) NOT NULL,
337 `fees_paid_amount` float NOT NULL,
338 `payment_status` varchar(10) NOT NULL,
339 `paid_due_date` date NOT NULL,
340 PRIMARY KEY (`fees_pay_id`)
341 ) DEFAULT CHARSET=utf8";
342 dbDelta($sql);
343 // 1 for suceess & 2 for fail
344 $table_fee_payment_history = $wpdb->prefix . 'wpsp_fee_payment_history';
345 $sql = "CREATE TABLE IF NOT EXISTS ".$table_fee_payment_history." (
346 `payment_history_id` bigint(20) NOT NULL AUTO_INCREMENT,
347 `fees_pay_id` int(11) NOT NULL,
348 `amount` float NOT NULL,
349 `payment_method` varchar(50) NOT NULL,
350 `paid_date` date NOT NULL,
351 `paid_by` bigint(20) NOT NULL,
352 `paid_status` int(2) NOT NULL,
353 `paymentdescription` text NOT NULL,
354 PRIMARY KEY (`payment_history_id`)
355 ) DEFAULT CHARSET=utf8";
356 dbDelta($sql);
357 $sql1111 = "INSERT INTO ".$subject_table." (`id`, `sub_code`, `class_id`, `sub_name`, `sub_teach_id`, `book_name`, `sub_desc`, `max_mark`, `pass_mark`) VALUES (NULL, NULL, NULL, 'Break', NULL, NULL, NULL, NULL, NULL)";
358 $wpdb->query($sql1111);
359 global $wp_rewrite;
360 $wp_rewrite->set_permalink_structure('/%postname%/');
361 $wp_rewrite->flush_rules();
362 // Incresing Maximum Time Execution
363 $wpspmax = "
364 # WP Increse Maximum Execution Time
365 <IfModule mod_php5.c>
366 php_value max_execution_time 300
367 </IfModule>";
368 $htaccess = get_home_path().'.htaccess';
369 $contents = @file_get_contents($htaccess);
370 if(!strpos($htaccess,$wpspmax))
371 file_put_contents($htaccess,$contents.$wpspmax);
372 $wp_roles = new WP_Roles();
373 /* $wp_roles->remove_role('subscriber');
374 $wp_roles->remove_role('editor');
375 $wp_roles->remove_role('contributor');
376 $wp_roles->remove_role('author');
377 $wp_roles->remove_role('client'); */
378 $teacher_cap = array(
379 'add_student' => true,
380 'edit_student' => true,
381 'upload_mark' => true,
382 'attendance_entry' => true,
383 'read' => true,
384 'edit_posts' => true,
385 'upload_files' => true,
386 );
387 $student_cap = array( 'send_message' => true,'read' => true,'edit_posts' => true,'upload_files' => false);
388 $parent_cap = array( 'send_message' => true,'read' => true,'edit_posts' => true,'upload_files' => true );
389 $admin_cap = array( 'action_all' => true );
390 $teacher_role_new = $wp_roles->add_role('teacher', __('Teacher','wpschoolpress' ),$teacher_cap);
391 $student_role_new = $wp_roles->add_role('student',__('Student','wpschoolpress' ),$student_cap);
392 $parent_role_new = $wp_roles->add_role('parent', 'Parent', $parent_cap);
393 ?>