Untitled
unknown
php
4 years ago
40 kB
9
Indexable
<?php namespace App\Controller; use App\Controller\AppController; use Cake\Event\Event; use Cake\Datasource\ConnectionManager; use Cake\Controller\Exception\SecurityException; use Cake\Core\Configure; use Cake\Mailer\Email; use Cake\Auth\DefaultPasswordHasher; use Cake\Routing\Router; class InstallerController extends AppController { public function beforeFilter(Event $event) { parent::beforeFilter($event); if (isset($this->request->params['admin'])) { $this->Security->requireSecure(); } // Allow users to register and logout. // You should not add the "login" action to allow list. Doing so would // cause problems with normal functioning of AuthComponent. $this->Auth->allow(['index',"gymTableInstall","success","updateSys"]); } public function initialize() { parent::initialize(); $this->viewBuilder()->layout("gym_install"); $this->loadComponent('Csrf'); $this->loadComponent('Security',['blackHoleCallback' => 'forceSSL']); } public function forceSSL() { // return $this->redirect('https://' . env('SERVER_NAME') . $this->request->here); } public function index() { /* passthru("nohup mysql -u root -p DBNAME < dump.sql"); */ if (file_exists(TMP.'installed.txt')) { return $this->redirect(["controller"=>"users"]); die; }else { if($this->request->is("post")) { $whitelist = [ // IPv4 address '127.0.0.1', // IPv6 address '::1' ]; if (in_array($_SERVER['REMOTE_ADDR'], $whitelist)) { $domain_name= $_SERVER['SERVER_NAME']; $licence_key =$this->request->data['purchase_key']; $email =$this->request->data['purchase_email']; $api_server = 'license.dasinfomedia.com'; $fp = @fsockopen($api_server,80, $errno, $errstr, 2); if (!$fp) { $server_rerror = 'Down'; }else { $server_rerror = "up"; } if($server_rerror == "up") { $url = 'http://license.dasinfomedia.com/index.php'; $fields = 'result=2&domain='.$domain_name.'&licence_key='.$licence_key.'&email='.$email.'&item_name=gym_master'; //open connection $ch = curl_init(); //set the url, number of POST vars, POST data curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_POST,1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch,CURLOPT_POSTFIELDS, $fields); //execute post $chResult = curl_exec($ch); curl_close($ch); $result = $this->response->body($chResult); // $result= $this->response; // return $result; if($result == '1') { $this->Flash->error(__('!Please enter correct purchase key')); return $this->redirect(['controller'=>'Installer','action' => 'index']); die; }elseif($result == '2') { $this->Flash->error(__('!This purchase key is already registered with the different domain. If you have any issue please contact us at sales@dasinfomedia.com')); return $this->redirect(['controller'=>'Installer','action' => 'index']); die; }elseif($result == '3') { $this->Flash->error(__('!There seems to be some problem please try after sometime or contact us on sales@dasinfomedia.com')); return $this->redirect(['controller'=>'Installer','action' => 'index']); die; }elseif($result == '4') { $this->Flash->error(__('!Please enter correct purchase key for this plugin.')); return $this->redirect(['controller'=>'Installer','action' => 'index']); die; } }else { $this->Flash->error(__('!Connection Problem occurs because server is down.')); die; } } // $this->Flash->error(__('!It is on localhost.')); // return $this->redirect(['controller'=>'Installer','action' => 'index']); // Key check End $file = ROOT . DS . 'config'. DS . 'app.php'; $content = file_get_contents($file); $api_file = WWW_ROOT . 'nghome'. DS . 'connection.php'; $api_content = file_get_contents($api_file); $base_url = Router::url('/', true); $upload_url = $base_url . "webroot/upload/"; $db_host = $this->request->data["db_host"]; $db_username = $this->request->data["db_username"]; $db_pass = $this->request->data["db_pass"]; $db_name = $this->request->data["db_name"]; $con = mysqli_connect($db_host,$db_username,$db_pass,$db_name); if (mysqli_connect_errno()) { echo "Failed to connect to Database : " . mysqli_connect_error(); die; } $content = str_replace(["CUST_HOST","CUST_USERNAME","CUST_PW","CUST_DB_NAME"],[$db_host,$db_username,$db_pass,$db_name],$content); $status = file_put_contents($file, $content); $api_content = str_replace(["CUST_HOST","CUST_USERNAME","CUST_PW","CUST_DB_NAME","CUST_URL","UPLOAD_URL"],[$db_host,$db_username,$db_pass,$db_name,$base_url,$upload_url],$api_content); $api_status = file_put_contents($api_file, $api_content); $this->gymTableInstall($db_name,$db_username,$db_host,$db_pass); $this->insertData($this->request->data); } } } private function gymTableInstall($db_name,$db_username,$db_host,$db_pass) { $this->viewBuilder()->layout(""); $this->autoRender = false; $config = [ 'className' => 'Cake\Database\Connection', 'driver' => 'Cake\Database\Driver\Mysql', 'persistent' => false, 'host' => $db_host, 'username' => $db_username, 'password' => $db_pass, 'database' => $db_name, 'encoding' => 'utf8', 'timezone' => 'UTC', 'flags' => [], 'cacheMetadata' => true, 'log' => false, 'quoteIdentifiers' => false, 'url' => env('DATABASE_URL', null) ]; ConnectionManager::config('install_db', $config); $conn = ConnectionManager::get('install_db'); /* $sql = "CREATE DATABASE IF NOT EXISTS `{$db_name}` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci"; $stmt = $conn->execute($sql); */ $sql="CREATE TABLE IF NOT EXISTS `activity` ( `id` int(11) NOT NULL AUTO_INCREMENT, `cat_id` int(11) NULL, `title` varchar(100) NULL, `assigned_to` int(11) NULL, `created_by` int(11) NULL, `created_date` date NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `class_schedule` ( `id` int(11) NOT NULL AUTO_INCREMENT, `class_name` varchar(100) NULL, `assign_staff_mem` int(11) NULL, `assistant_staff_member` int(11) NULL, `location` varchar(100) NULL, `class_fees` int(11) NULL, `days` varchar(200) NULL, `start_time` varchar(30) NULL, `end_time` varchar(30) NULL, `created_by` int(11) NULL, `created_date` date NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `class_schedule_list` ( `id` int(11) NOT NULL AUTO_INCREMENT, `class_id` int(11) NULL, `days` varchar(255) NULL, `start_time` varchar(20) NULL, `end_time` varchar(20) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `general_setting` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NULL, `start_year` varchar(50) NULL, `address` varchar(100) NULL, `office_number` varchar(20) NULL, `country` text NULL, `email` varchar(100) NULL, `date_format` varchar(15) NULL, `calendar_lang` text NULL, `gym_logo` varchar(200) NULL, `cover_image` varchar(200) NULL, `weight` varchar(100) NULL, `height` varchar(100) NULL, `chest` varchar(100) NULL, `waist` varchar(100) NULL, `thing` varchar(100) NULL, `arms` varchar(100) NULL, `fat` varchar(100) NULL, `member_can_view_other` int(11) NULL, `staff_can_view_own_member` int(11) NULL, `enable_sandbox` int(11) NULL, `paypal_email` varchar(50) NULL, `currency` varchar(20) NULL, `enable_alert` int(11) NULL, `reminder_days` varchar(100) NULL, `reminder_message` varchar(255) NULL, `enable_message` int(11) NULL, `left_header` varchar(100) NULL, `footer` varchar(100) NULL, `system_installed` int(11) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_accessright` ( `id` int(11) NOT NULL AUTO_INCREMENT, `controller` text NULL, `action` text NULL, `menu` text NULL, `menu_icon` text NULL, `menu_title` text NULL, `member` int(11) NULL, `staff_member` int(11) NULL, `accountant` int(11) NULL, `page_link` text NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $path = $this->request->base; $insert ="INSERT INTO `gym_accessright` (`controller`, `action`, `menu`, `menu_icon`, `menu_title`, `member`, `staff_member`, `accountant`, `page_link`) VALUES ('StaffMembers', '', 'staff_member', 'staff-member.png', 'Staff Members', 1, 1, 1, '".$path."/staff-members/staff-list'), ('Membership', '', 'membership', 'membership-type.png', 'Membership Type', 1, 1, 0, '".$path."/membership/membership-list'), ('GymGroup', '', 'group', 'group.png', 'Group', 1, 1, 0, '".$path."/gym-group/group-list'), ('GymMember', '', 'member', 'member.png', 'Member', 1, 1, 1, '".$path."/gym-member/member-list'), ('Activity', '', 'activity', 'activity.png', 'Activity', 1, 1, 0, '".$path."/activity/activity-list'), ('ClassSchedule', '', 'class-schedule', 'class-schedule.png', 'Class Schedule', 1, 1, 0, '".$path."/class-schedule/class-list'), ('ClassBooking', '', 'class-booking', 'class-schedule.png', 'Class Booking', 0, 1, 1, '".$path."/class-booking/booking-list'), ('GymAttendance', '', 'attendance', 'attendance.png', 'Attendance', 0, 1, 0, '".$path."/gym-attendance/attendance'), ('GymAssignWorkout', '', 'assign-workout', 'assigne-workout.png', 'Assigned Workouts', 1, 1, 0, '".$path."/gym-assign-workout/workout-log'), ('GymDailyWorkout', '', 'workouts', 'workout.png', 'Workouts', 1, 1, 0, '".$path."/gym-daily-workout/workout-list'), ('GymAccountant', '', 'accountant', 'accountant.png', 'Accountant', 1, 1, 1, '".$path."/gym-accountant/accountant-list'), ('MembershipPayment', '', 'membership_payment', 'fee.png', 'Fee Payment', 1, 0, 1, '".$path."/membership-payment/payment-list'), ('MembershipPayment', '', 'income', 'payment.png', 'Income', 0, 0, 1, '".$path."/membership-payment/income-list'), ('MembershipPayment', '', 'expense', 'payment.png', 'Expense', 0, 0, 1, '".$path."/membership-payment/expense-list'), ('GymProduct', '', 'product', 'products.png', 'Product', 0, 1, 1, '".$path."/gym-product/product-list'), ('GymStore', '', 'store', 'store.png', 'Store', 0, 1, 1, '".$path."/gym-store/sell-record'), ('GymNewsletter', '', 'news_letter', 'newsletter.png', 'Newsletter', 0, 0, 0, '".$path."/gym-newsletter/setting'), ('GymMessage', '', 'message', 'message.png', 'Message', 1, 1, 1, '".$path."/gym-message/compose-message'), ('GymNotice', '', 'notice', 'notice.png', 'Notice', 1, 1, 1, '".$path."/gym-notice/notice-list'), ('GymNutrition', '', 'nutrition', 'nutrition-schedule.png', 'Nutrition Schedule', 1, 1, 0, '".$path."/gym-nutrition/nutrition-list'), ('GymReservation', '', 'reservation', 'reservation.png', 'Event', 1, 1, 1, '".$path."/gym-reservation/reservation-list'), ('GymProfile', '', 'account', 'account.png', 'Account', 1, 1, 1, '".$path."/GymProfile/view_profile'), ('GymSubscriptionHistory', '', 'subscription_history', 'subscription_history.png', 'Subscription History', 1, 0, 0, '".$path."/GymSubscriptionHistory/')"; $stmt = $conn->execute($sql); $stmt = $conn->execute($insert); $sql="CREATE TABLE IF NOT EXISTS `gym_assign_workout` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NULL, `start_date` date NULL, `end_date` date NULL, `level_id` int(11) NULL, `description` text NULL, `direct_assign` tinyint(1) NULL, `created_date` date NULL, `created_by` int(11) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_attendance` ( `attendance_id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NULL, `class_id` int(11) NULL, `attendance_date` date NULL, `status` varchar(50) NULL, `attendance_by` int(11) NULL, `role_name` varchar(50) NULL, PRIMARY KEY (`attendance_id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_daily_workout` ( `id` int(11) NOT NULL AUTO_INCREMENT, `workout_id` int(11) NULL, `member_id` int(11) NULL, `record_date` date NULL, `result_measurment` varchar(50) NULL, `result` varchar(100) NULL, `duration` varchar(100) NULL, `assigned_by` int(11) NULL, `due_date` date NULL, `time_of_workout` varchar(50) NULL, `status` varchar(100) NULL, `reminder_status` tinyint(4) DEFAULT 0, `note` text NULL, `created_by` int(11) NULL, `created_date` date NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_event_place` ( `id` int(11) NOT NULL AUTO_INCREMENT, `place` varchar(100) NULL, `created_by` int(11) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_group` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(200) NULL, `image` varchar(255) NULL, `created_by` int(11) NULL, `created_date` date NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_income_expense` ( `id` int(11) NOT NULL AUTO_INCREMENT, `invoice_type` varchar(100) NULL, `invoice_label` varchar(100) NULL, `supplier_name` varchar(100) NULL, `entry` text NULL, `payment_status` varchar(50) NULL, `total_amount` double NULL, `receiver_id` int(11) NULL, `invoice_date` date NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_interest_area` ( `id` int(11) NOT NULL AUTO_INCREMENT, `interest` varchar(100) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_levels` ( `id` int(11) NOT NULL AUTO_INCREMENT, `level` varchar(100) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_measurement` ( `id` int(11) NOT NULL AUTO_INCREMENT, `result_measurment` varchar(100) DEFAULT NULL, `result` float DEFAULT NULL, `user_id` int(11) NULL, `result_date` date NULL, `image` varchar(50) NULL, `created_by` int(11) NULL, `created_date` date NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_member` ( `id` int(11) NOT NULL AUTO_INCREMENT, `activated` int(11) NULL, `role_name` text NULL, `member_id` text NULL, `is_exist` tinyint(4) NOT NULL DEFAULT '0', `first_name` varchar(100) NULL, `middle_name` varchar(100) NULL, `last_name` varchar(100) NULL, `member_type` text NULL, `role` int(11) NULL, `s_specialization` varchar(255) NULL, `gender` text NULL, `birth_date` date NULL, `assign_class` int(11) NULL, `assign_group` varchar(150) NULL, `address` varchar(100) NULL, `city` varchar(100) NULL, `state` varchar(100) NULL, `zipcode` varchar(100) NULL, `mobile` varchar(20) NULL, `phone` varchar(20) NULL, `email` varchar(100) NULL, `weight` varchar(10) NULL, `height` varchar(10) NULL, `chest` varchar(10) NULL, `waist` varchar(10) NULL, `thing` varchar(10) NULL, `arms` varchar(10) NULL, `fat` varchar(10) NULL, `username` varchar(100) NULL, `password` varchar(255) NULL, `image` varchar(200) NULL, `assign_staff_mem` int(11) NULL, `intrested_area` int(11) NULL, `g_source` int(11) NULL, `referrer_by` int(11) NULL, `inquiry_date` date NULL, `trial_end_date` date NULL, `selected_membership` varchar(100) NULL, `membership_status` text NULL, `membership_valid_from` date NULL, `membership_valid_to` date NULL, `first_pay_date` date NULL, `created_by` int(11) NULL, `created_date` date NULL, `alert_sent` int(11) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $username = $this->request->data["lg_username"]; $password = $this->request->data["confirm"]; $hasher = new DefaultPasswordHasher(); $password = $hasher->hash($password); $curr_date = date("Y-m-d"); $insert = "INSERT INTO `gym_member` (`role_name`,`first_name`, `middle_name`, `last_name`,`gender`, `birth_date`,`address`, `city`, `state`, `zipcode`, `mobile`, `phone`, `email`,`username`, `password`, `image`,`created_date`) VALUES ('administrator','Admin', '', '', 'male', '2016-07-01','null', 'null', 't', '123123', '123123123', '', 'admin@admin.com', '{$username}', '{$password}', 'Thumbnail-img2.png','{$curr_date}')"; $stmt = $conn->execute($sql); $stmt = $conn->execute($insert); $pass = $hasher->hash('sergio');; $insert = "INSERT INTO `gym_member` (`role_name`, `member_id`, `first_name`, `middle_name`, `last_name`, `member_type`, `role`, `gender`, `birth_date`, `assign_group`, `address`, `city`, `state`, `zipcode`, `mobile`, `phone`, `email`, `weight`, `height`, `chest`, `waist`, `thing`, `arms`, `fat`, `username`, `password`, `image`, `assign_staff_mem`, `intrested_area`, `g_source`, `referrer_by`, `selected_membership`, `membership_status`, `created_by`, `created_date`, `alert_sent`) VALUES ('staff_member', '', 'Sergio', '', 'Romero', '', 1, 'male', '2016-08-10', '', 'Address line', 'City', '', '', '2288774455', '', 'sergio@sergio.com', '', '', '', '', '', '', '', 'sergio', '{$pass}', 'Thumbnail-img2.png', 0, 0, 0, 0, '', '', 0, '2016-08-22', 0)"; $stmt = $conn->execute($sql); $stmt = $conn->execute($insert); $sql="CREATE TABLE IF NOT EXISTS `gym_member_class` ( `id` int(11) NOT NULL AUTO_INCREMENT, `member_id` int(11) NULL, `assign_class` int(11) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_message` ( `id` int(11) NOT NULL AUTO_INCREMENT, `sender` int(11) NULL, `receiver` int(11) NULL, `date` datetime NULL, `subject` varchar(150) NULL, `message_body` text NULL, `status` int(11) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_newsletter` ( `id` int(11) NOT NULL AUTO_INCREMENT, `api_key` varchar(255) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_notice` ( `id` int(11) NOT NULL AUTO_INCREMENT, `notice_title` varchar(100) NULL, `notice_for` text NULL, `class_id` int(11) NULL, `start_date` date NULL, `end_date` date NULL, `comment` varchar(200) NULL, `created_by` int(11) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_nutrition` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NULL, `day` varchar(50) NULL, `breakfast` text NULL, `midmorning_snack` text NULL, `lunch` text NULL, `afternoon_snack` text NULL, `dinner` text NULL, `afterdinner_snack` text NULL, `start_date` varchar(20) NULL, `expire_date` varchar(20) NULL, `created_by` int(11) NULL, `created_date` date NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_nutrition_data` ( `id` int(11) NOT NULL AUTO_INCREMENT, `day_name` varchar(30) NULL, `nutrition_time` varchar(30) NULL, `nutrition_value` text NULL, `nutrition_id` int(11) NULL, `created_date` date NULL, `create_by` int(11) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_product` ( `id` int(11) NOT NULL AUTO_INCREMENT, `product_name` varchar(100) NULL, `price` double NULL, `quantity` int(11) NULL, `created_by` int(11) NULL, `created_date` date NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_reservation` ( `id` int(11) NOT NULL AUTO_INCREMENT, `event_name` varchar(100) NULL, `event_date` date NULL, `start_time` varchar(20) NULL, `end_time` varchar(20) NULL, `place_id` int(11) NULL, `created_by` int(11) NULL, `created_date` date NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_roles` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_source` ( `id` int(11) NOT NULL AUTO_INCREMENT, `source_name` varchar(100) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_store` ( `id` int(11) NOT NULL AUTO_INCREMENT, `member_id` int(11) NULL, `sell_date` date NULL, `product_id` int(11) NULL, `price` double NULL, `quantity` int(11) NULL, `sell_by` int(11) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_user_workout` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user_workout_id` int(11) NULL, `workout_name` int(11) NULL, `sets` int(11) NULL, `reps` int(11) NULL, `kg` float NULL, `rest_time` int(11) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `gym_workout_data` ( `id` int(11) NOT NULL AUTO_INCREMENT, `day_name` varchar(15) NULL, `workout_name` varchar(100) NULL, `sets` int(11) NULL, `reps` int(11) NULL, `kg` float NULL, `time` int(11) NULL, `workout_id` int(11) NULL, `created_date` date NULL, `created_by` int(11) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `installment_plan` ( `id` int(11) NOT NULL AUTO_INCREMENT, `number` int(11) NULL, `duration` varchar(50) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `membership` ( `id` int(11) NOT NULL AUTO_INCREMENT, `membership_label` varchar(100) NULL, `membership_cat_id` int(11) NULL, `membership_length` int(11) NULL, `membership_class_limit` varchar(20) NULL, `limit_days` int(11) NULL, `limitation` varchar(20) NULL, `install_plan_id` int(11) NULL, `membership_amount` double NULL, `membership_class` varchar(255) NULL, `installment_amount` double NULL, `signup_fee` double NULL, `gmgt_membershipimage` varchar(255) NULL, `created_date` date NULL, `created_by_id` int(11) NULL, `membership_description` text NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `membership_activity` ( `id` int(11) NOT NULL AUTO_INCREMENT, `activity_id` int(11) NULL, `membership_id` int(11) NULL, `created_by` int(11) NULL, `created_date` date NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `membership_history` ( `id` int(11) NOT NULL AUTO_INCREMENT, `member_id` int(11) NULL, `selected_membership` int(11) NULL, `assign_staff_mem` int(11) NULL, `intrested_area` int(11) NULL, `g_source` int(11) NULL, `referrer_by` int(11) NULL, `inquiry_date` date NULL, `trial_end_date` date NULL, `membership_valid_from` date NULL, `membership_valid_to` date NULL, `first_pay_date` date NULL, `created_date` date NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `membership_payment` ( `mp_id` int(11) NOT NULL AUTO_INCREMENT, `member_id` int(11) NULL, `membership_id` int(11) NULL, `membership_amount` double NULL, `paid_amount` double NULL, `start_date` date NULL, `end_date` date NULL, `membership_status` varchar(50) NULL, `payment_status` varchar(20) NULL, `created_date` date NULL, `created_by` int(11) NULL, PRIMARY KEY (`mp_id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `membership_payment_history` ( `payment_history_id` bigint(20) NOT NULL AUTO_INCREMENT, `mp_id` int(11) NULL, `amount` int(11) NULL, `payment_method` varchar(50) NULL, `paid_by_date` date NULL, `created_by` int(11) NULL, `trasaction_id` varchar(255) DEFAULT NULL, PRIMARY KEY (`payment_history_id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `specialization` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(100) NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); /* new table add*/ $sql="CREATE TABLE IF NOT EXISTS `class_booking` ( `booking_id` int(11) NOT NULL AUTO_INCREMENT, `full_name` varchar(255) NULL, `gender` varchar(10) NULL, `mobile_no` varchar(100) NULL, `email` varchar(50) NULL, `address` varchar(255) NULL, `city` varchar(50) NULL, `state` varchar(50) NULL, `zipcode` int(11) NULL, `class_id` varchar(10) NULL, `booking_date` date NULL, `booking_type` varchar(20) NULL, `booking_amount` varchar(50) NULL, `transaction_id` varchar(100) NULL, `payment_by` varchar(10) NULL, `status` varchar(10) NULL, `created_at` date NULL, PRIMARY KEY (`booking_id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `activity_video` ( `id` int(11) NOT NULL AUTO_INCREMENT, `activity_id` int(11) NULL, `video` text NULL, `created_at` date NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql = "ALTER TABLE `general_setting` ADD `enable_rtl` INT(11) NULL DEFAULT '0'"; $conn->execute($sql); $sql = "ALTER TABLE `general_setting` CHANGE `enable_rtl` `enable_rtl` INT(11) NULL DEFAULT '0'"; $conn->execute($sql); $sql = "ALTER TABLE `general_setting` ADD `datepicker_lang` TEXT NULL DEFAULT NULL"; $conn->execute($sql); $sql = "ALTER TABLE `general_setting` ADD `system_version` TEXT NULL DEFAULT NULL"; $conn->execute($sql); $sql = "ALTER TABLE `general_setting` ADD `sys_language` VARCHAR(20) NOT NULL DEFAULT 'en'"; $conn->execute($sql); $sql = "ALTER TABLE `general_setting` ADD `header_color` VARCHAR(10) NULL AFTER `sys_language`, ADD `sidemenu_color` VARCHAR(10) NULL AFTER `header_color`"; $conn->execute($sql); $sql = "ALTER TABLE `general_setting` ADD `stripe_secret_key` TEXT NULL AFTER `sidemenu_color`, ADD `stripe_publishable_key` TEXT NULL AFTER `stripe_secret_key`"; $stmt = $conn->execute($sql); $sql = "ALTER TABLE `gym_member` ADD `alert_send_date` DATE NULL AFTER `alert_sent`"; $conn->execute($sql); $sql = "ALTER TABLE `gym_member` ADD `admin_alert` INT NULL DEFAULT '0' AFTER `alert_sent`"; $conn->execute($sql); $sql = "UPDATE `general_setting` SET datepicker_lang = 'en'"; $conn->execute($sql); $path = $this->request->base; $sql = "INSERT INTO `gym_accessright` (`controller`, `action`, `menu`, `menu_icon`, `menu_title`, `member`, `staff_member`, `accountant`, `page_link`) VALUES ('Reports', '', 'report', 'report.png', 'Report', '1', '1', '1', '".$path."/reports/membership-report')"; $conn->execute($sql); $sql = "ALTER TABLE `general_setting` ADD `time_zone` VARCHAR(20) NOT NULL DEFAULT 'UTC' AFTER `datepicker_lang`"; $conn->execute($sql); $sql = "ALTER TABLE `gym_member` ADD `token` VARCHAR(300) NULL DEFAULT NULL AFTER `member_id`"; $conn->execute($sql); $sql = "SHOW COLUMNS FROM `membership` LIKE 'membership_class' "; $columns = $conn->execute($sql)->fetch(); if($columns == false) { $sql = "ALTER TABLE `membership` ADD `membership_class` varchar(255) NULL"; $conn->execute($sql); } //file_put_contents(TMP.'installed.txt', date('Y-m-d, H:i:s')); $this->redirect(["action"=>"success"]); } private function insertData($data) { $this->viewBuilder()->layout(""); $this->autoRender = false; $year = date("Y"); $conn = ConnectionManager::get('install_db'); $sql = "INSERT INTO `general_setting` (`name`, `start_year`, `address`, `office_number`, `country`, `email`, `date_format`, `calendar_lang`, `gym_logo`, `cover_image`, `weight`, `height`, `chest`, `waist`, `thing`, `arms`, `fat`, `member_can_view_other`, `staff_can_view_own_member`, `enable_sandbox`, `paypal_email`, `currency`, `enable_alert`, `reminder_days`, `reminder_message`, `enable_message`, `left_header`, `footer`,`system_installed`,`datepicker_lang`,`sys_language`,`header_color`,`sidemenu_color`,`stripe_secret_key`,`stripe_publishable_key`) VALUES ('{$data['name']}', '{$year}', 'address', '8899665544', '{$data['country']}','{$data['email']}', '{$data['date_format']}', '{$data['sys_language']}', '', 'cover-image.png', 'KG', 'Centimeter', 'Inches', 'Inches', 'Inches', 'Inches', 'Percentage', 0, 1, 0, 'your_id@paypal.com', '{$data['currency']}', 1, '5', 'Hello GYM_MEMBERNAME,\r\n Your Membership GYM_MEMBERSHIP started at GYM_STARTDATE and it will expire on GYM_ENDDATE.\r\nThank You.', 1,'GYM MASTER','Copyright © 2016-2017. All rights reserved.',1,'{$data['sys_language']}','{$data['sys_language']}','#1DB198','','YOUR SECRET KEY','YOUR PUBLISHABLE KEY')"; $stmt = $conn->execute($sql); $sql = "INSERT INTO `category` (`name`) VALUES ('Regular'), ('Limited'), ('Total Gym Exercises for Abs (Abdomininals)'), ('Total Gym Exercises for Legs'), ('Total Gym Exercises for Biceps'), ('Exercise')"; $stmt = $conn->execute($sql); $sql = "INSERT INTO `activity` (`cat_id`, `title`, `assigned_to`, `created_by`, `created_date`) VALUES ( 5, 'Hyperextension', 2, 1, '2016-08-22'), (3, 'Crunch', 2, 1, '2016-08-22'), (4, 'Leg curl', 2, 1, '2016-08-22'), (4, 'Reverse Leg Curl', 2, 1, '2016-08-22'), (6, 'Body Conditioning', 2, 1, '2016-10-19'), (6, 'Free Weights', 2, 1, '2016-10-19'), (3, 'Fixed Weights', 2, 1, '2016-10-19'), (3, 'Resisted Crunch', 2, 1, '2016-10-19'), (6, 'Plank', 2, 1, '2016-10-19'), (4, 'High Leg Pull-In', 2, 1, '2016-10-19'), (4, 'Low Leg Pull-In', 2, 1, '2016-10-19')"; $stmt = $conn->execute($sql); $sql = "INSERT INTO `installment_plan` (`number`, `duration`) VALUES (1, 'Month'), (1, 'Week'), (1, 'Year')"; $stmt = $conn->execute($sql); $sql = "INSERT INTO `gym_roles` (`name`) VALUES ('Yoga')"; $stmt = $conn->execute($sql); $sql = "INSERT INTO `class_schedule` (`class_name`, `assign_staff_mem`, `assistant_staff_member`, `location`,`class_fees`, `days`, `start_time`, `end_time`, `created_by`, `created_date`) VALUES ('Yoga Class', 2, 0, 'At Gym Facility','5', '[\"Sunday\",\"Saturday\"]', '8:00', '10:00' ,1, '2016-08-22'), ('Aerobics Class', 2, 0, 'Class 1', '5','[\"Sunday\",\"Friday\",\"Saturday\"]', '17:15', '18:15', 1, '2016-08-22'), ('HIT Class', 2, 2, 'Old location', '5','[\"Sunday\",\"Tuesday\",\"Thursday\"]', '18:30', '19:45' ,1, '2016-08-22'), ('Cardio Class', 2, 0, 'At Gym Facility', '5', '[\"Friday\",\"Saturday\"]', '15:30', '16:30',1, '2016-08-22'), ('Pilates', 2, 0, 'Old location', '5', '[\"Sunday\"]', '12:00', '15:15', 1, '2016-08-22'), ('Zumba Class',2, 0, 'New Location', '5', '[\"Saturday\"]', '20:30', '22:30', 1, '2016-08-22'), ('Power Yoga Class', 2, 0, 'New Location', '5', '[\"Monday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"]', '9:15', '11:45', 1, '2016-08-22')"; $stmt = $conn->execute($sql); $platinum_class = json_encode(["1","2","3","4","5","6","7"]); $gold_class = json_encode(["1","2","3","4","5"]); $silver_class = json_encode(["4","6","7"]); $sql = "INSERT INTO `membership` (`membership_label`, `membership_cat_id`, `membership_length`, `membership_class_limit`, `limit_days`, `limitation`, `install_plan_id`, `membership_amount`, `membership_class`, `installment_amount`, `signup_fee`, `gmgt_membershipimage`, `created_date`, `created_by_id`, `membership_description`) VALUES ('Platinum Membership', 1, 360, 'Unlimited', 0, '', 1, 500, '$platinum_class', 42, 5, '', '2016-08-22', 1, '<p>Platinum membership description<br></p>'), ('Gold Membership', 1, 300, 'Unlimited', 0, '', 1, 450, '$gold_class', 37, 5, '', '2016-08-22', 1, '<p>Gold membership description<br></p>'), ('Silver Membership', 2, 180, 'Limited', 0, 'per_week', 2, 200,'$silver_class', 5, 5, '', '2016-08-22', 1, '<p>Silver membership description</p>')"; $stmt = $conn->execute($sql); $sql = "UPDATE `general_setting` SET `header_color`='#1db198',`sidemenu_color`='#000000'"; $stmt = $conn->execute($sql); $this->updateSys(); } public function updateSys() { $this->autoRender = false; $conn = file_exists(TMP.'installed.txt') ? ConnectionManager::get('default') : ConnectionManager::get('install_db') ; $sql = "SELECT * from general_setting"; $settings = $conn->execute($sql)->fetchAll("assoc"); if(!empty($settings)) { if(isset($settings[0]["system_version"])) { $version = $settings[0]["system_version"]; switch($version) { CASE "2": /* If old version is 2*/ /* update queries for version 3 */ break ; CASE "9": $sql = "ALTER TABLE `general_setting` ADD `time_zone` VARCHAR(20) NOT NULL DEFAULT 'UTC' AFTER `datepicker_lang`"; $conn->execute($sql); $sql = "ALTER TABLE `gym_member` ADD `token` VARCHAR(300) NULL DEFAULT NULL AFTER `member_id`"; $conn->execute($sql); break ; CASE "12": /* Nothing to update query */ break ; CASE "13": $sql="CREATE TABLE IF NOT EXISTS `class_booking` ( `booking_id` int(11) NOT NULL AUTO_INCREMENT, `full_name` varchar(255) NULL, `gender` varchar(10) NULL, `mobile_no` varchar(100) NULL, `email` varchar(50) NULL, `address` varchar(255) NULL, `city` varchar(50) NULL, `state` varchar(50) NULL, `zipcode` int(11) NULL, `class_id` varchar(10) NULL, `booking_date` date NULL, `booking_type` varchar(10) NULL, `booking_amount` varchar(50) NULL, `transaction_id` varchar(100) NULL, `payment_by` varchar(10) NULL, `status` varchar(10) NULL, `created_at` date NULL, PRIMARY KEY (`booking_id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql="CREATE TABLE IF NOT EXISTS `activity_video` ( `id` int(11) NOT NULL AUTO_INCREMENT, `activity_id` int(11) NULL, `video` text NULL, `created_at` date NULL, PRIMARY KEY (`id`) )DEFAULT CHARSET=utf8"; $stmt = $conn->execute($sql); $sql = "ALTER TABLE `class_schedule` ADD `class_fees` int(11) NULL AFTER `location`"; $stmt = $conn->execute($sql); $sql = "ALTER TABLE `general_setting` ADD `header_color` VARCHAR(10) NULL AFTER `sys_language`, ADD `sidemenu_color` VARCHAR(10) NULL AFTER `header_color`"; $stmt = $conn->execute($sql); $insert ="UPDATE `general_setting` SET `header_color`='#1db198',`sidemenu_color`='#000000' WHERE id=1"; $stmt = $conn->execute($insert); $sql = "ALTER TABLE `general_setting` ADD `stripe_secret_key` TEXT NULL AFTER `sidemenu_color`, ADD `stripe_publishable_key` TEXT NULL AFTER `stripe_secret_key`"; $stmt = $conn->execute($sql); $sql = "ALTER TABLE `gym_member` ADD `alert_send_date` DATE NULL AFTER `alert_sent`"; $stmt = $conn->execute($sql); $sql = "ALTER TABLE `gym_member` ADD `admin_alert` INT NULL DEFAULT '0' AFTER `alert_sent`"; $stmt = $conn->execute($sql); $path = $this->request->base; $insert ="INSERT INTO `gym_accessright` (`controller`, `action`, `menu`, `menu_icon`, `menu_title`, `member`, `staff_member`, `accountant`, `page_link`) VALUES ('ClassBooking', '', 'class-booking', 'class-schedule.png', 'Class Booking', 0, 1, 0, '".$path."/class-booking/booking-list')"; $stmt = $conn->execute($insert); $sql = "UPDATE `general_setting` SET stripe_secret_key = 'YOUR SECRET KEY', `stripe_publishable_key`= 'YOUR PUBLISHABLE KEY' "; $conn->execute($sql); $sql = "UPDATE `general_setting` SET system_version = '19'"; $conn->execute($sql); break; $this->Flash->success(__("Success! System Update Successfully.")); } } else { /* 1st Update */ /*-------- 06-03-2019 --------- */ /* $sql = "ALTER TABLE `general_setting` ADD `enable_rtl` INT(11) NULL DEFAULT '0'"; $conn->execute($sql); $sql = "ALTER TABLE `general_setting` CHANGE `enable_rtl` `enable_rtl` INT(11) NULL DEFAULT '0'"; $conn->execute($sql); $sql = "ALTER TABLE `general_setting` ADD `datepicker_lang` TEXT NULL DEFAULT NULL"; $conn->execute($sql); $sql = "ALTER TABLE `general_setting` ADD `system_version` TEXT NULL DEFAULT NULL"; $conn->execute($sql); $sql = "ALTER TABLE `general_setting` ADD `sys_language` VARCHAR(20) NOT NULL DEFAULT 'en'"; $conn->execute($sql); */ // $sql = "UPDATE `general_setting` SET system_version = '2'"; // $sql = "UPDATE `general_setting` SET system_version = '12'"; $sql = "UPDATE `general_setting` SET system_version = '19'"; $conn->execute($sql); /* $sql = "UPDATE `general_setting` SET datepicker_lang = 'en'"; $conn->execute($sql); $path = $this->request->base; $sql = "INSERT INTO `gym_accessright` (`controller`, `action`, `menu`, `menu_icon`, `menu_title`, `member`, `staff_member`, `accountant`, `page_link`) VALUES ('Reports', '', 'report', 'report.png', 'Report', '1', '1', '1', '".$path."/reports/membership-report')"; $conn->execute($sql); $sql = "ALTER TABLE `general_setting` ADD `time_zone` VARCHAR(20) NOT NULL DEFAULT 'UTC' AFTER `datepicker_lang`"; $conn->execute($sql); */ // $sql = "ALTER TABLE `gym_daily_workout` ADD `reminder_status` TINYINT NOT NULL DEFAULT '0' AFTER `status`"; // $conn->execute($sql); /* $sql = "ALTER TABLE `gym_member` ADD `token` VARCHAR(300) NULL DEFAULT NULL AFTER `member_id`"; $conn->execute($sql); $sql = "SHOW COLUMNS FROM `membership` LIKE 'membership_class' "; $columns = $conn->execute($sql)->fetch(); if($columns == false) { $sql = "ALTER TABLE `membership` ADD `membership_class` varchar(255) NULL"; $conn->execute($sql); } */ /*-------- 06-03-2019 --------- */ } } file_put_contents(TMP.'installed.txt', date('Y-m-d, H:i:s')); return $this->redirect(["controller"=>"users","action"=>"login"]); } public function success() { } public function isAuthorized($user) { return true; } }
Editor is loading...