my_parent_controller(); $this->load->model('personalization_model'); $this->load->model('event_model'); Response::handleSessionTimeout("bo"); //$this->load_language_backoffice(); $this->lang->load('backoffice/personalization', 'fr'); //origin folders $this->hstroke_origin = origin_folders('hstroke'); $this->banner_origin = origin_folders('banner'); //banner and heartstroke folder $this->banner_folder = banner_bundle(); $this->hstroke_folder = hstroke_bundle(); } public function create_reg_form_rules() { $arr = []; foreach ($this->personalization_model->get_user_subscriber_reg_form() as $key => $value) { array_push($arr, array( "name" => $value->name, "length" => 3, "required" => ( $value->is_required > 0 ? true : false ), "status" => ( $value->display_status > 0 ? "display" : "hidden" ) ) ); } output_to_json($this,$arr); } public function get_reg_form() { $this->arr = []; foreach ($this->personalization_model->get_user_subscriber_reg_form(1) as $key => $value) { $arr[] = $value; } output_to_json($this, $arr); } public function update_reg_form() { $this->arr = []; $this->arr['affected_rows'] = $this->personalization_model->update_user_subscriber_reg_form() >= 0 ? $this->lang->line("update_successful") : $this->lang->line("update_error"); output_to_json($this, $this->arr); } public function upload_description() { $this->arr['message'] = "success"; $this->personalization_model->upload_new_banner( array( 'description' => $_POST['description'] ) ); output_to_json($this,$this->arr); } public function upload_banner() { $domain = $_SERVER['HTTP_HOST']; $university_id = (int) $this->event_model->get_university_id_by_domain($domain); $data = $_POST['imagebase64']; $description = $_POST['description']; list($type, $data) = explode(';', $data); list(, $data) = explode(',', $data); $data = base64_decode($data); $imageName = time().'.png'; $origin = $this->banner_origin; if( (is_dir($origin) && is_writable($origin)) ){ file_put_contents($origin.$imageName, $data); $this->arr['message'] = "success"; $this->arr['banner'] = $imageName; $this->arr['description'] = $description; $this->personalization_model->upload_new_banner( array( 'image' => $imageName, 'description' => $description, 'user_cpay' => $university_id ) ); output_to_json($this,$this->arr); }else{ $this->arr['message'] = "error"; $this->arr['banner'] = $data; output_to_json($this,$this->arr); } } public function get_banner() { output_to_json($this,$this->personalization_model->upload_get_banner()); } public function append_mentions_legales() { output_to_json($this,$this->personalization_model->append_mentions_legales()); } public function update_mentions_legales() { if( $this->personalization_model->update_mentions_legales() >= 0 ) { $arr['message'] = $this->lang->line("update_successful"); $arr['mtype'] = "success"; } else { $arr['message'] = $this->lang->line("update_error"); $arr['mtype'] = "error"; } output_to_json($this, $arr ); } public function append_privacy() { output_to_json($this,$this->personalization_model->append_privacy()); } public function update_privacy() { if( $this->personalization_model->update_privacy() >= 0 ) { $arr['message'] = $this->lang->line("update_successful"); $arr['mtype'] = "success"; } else { $arr['message'] = $this->lang->line("update_error"); $arr['mtype'] = "error"; } output_to_json($this, $arr ); } public function upload_logo() { $origin = $this->hstroke_origin; $domain = $_SERVER['HTTP_HOST']; $university_id = (int) $this->event_model->get_university_id_by_domain($domain); if( (is_dir($origin) && is_writable($origin)) ){ $name = $_FILES['logo']['name']; $tmp = $_FILES['logo']['tmp_name']; $error = $_FILES['logo']['error'] ; $info = getimagesize($tmp); $rename = round(microtime(true)).'.'.end( explode(".", $_FILES["logo"]["name"]) ); $store = $this->hstroke_origin.$rename; if ($error !== UPLOAD_ERR_OK) { output_to_json($this, array( "mtype" => "error" , "message" => $this->lang->line("upload_error_code") .$error )); } if ($info === FALSE) { output_to_json($this, array( "mtype" => "error" , "message" => $this->lang->line("unable_determine_image_type") )); } if (($info[2] !== IMAGETYPE_GIF) && ($info[2] !== IMAGETYPE_JPEG) && ($info[2] !== IMAGETYPE_PNG)) { output_to_json($this, array( "mtype" => "error" , "message" => $this->lang->line("upload_extensions_like") )); } else if( move_uploaded_file($tmp, $store) ){ $this->personalization_model->insert_logo( array( 'image' => $rename, 'status' => 1, 'user_cpay' => $university_id )); output_to_json($this, array( 'image' => $this->hstroke_folder.$rename, "mtype" => "success" , "message" => $this->lang->line("success_upload") )); } } } public function upload_get_logo() { // $result = $this->hstroke_folder.$this->personalization_model->get_heartstroke(); // echo $result; output_to_json($this, $this->hstroke_folder.$this->personalization_model->get_logo()['image'] ); } //announcement public function get_announcement() { $res = $this->personalization_model->listannouncements(); output_to_json($this,$res); } public function get_specific_announcement() { $q = $this->input->post('id'); $res = $this->personalization_model->get_announcement($q); output_to_json($this,$res); } public function save_announcement() { $random = generateRandomString(); if( $this->personalization_model->save_announcement($random) >= 0 ) { $arr['message'] = $this->lang->line("update_successful"); $arr['mtype'] = "success"; } else { $arr['message'] = $this->lang->line("update_error"); $arr['mtype'] = "error"; } output_to_json($this, $arr ); } public function check_enable_announcement() { $res = $this->personalization_model->check_enable_announcement(); if($res=='full'){ output_to_json($this,'full'); }else{ output_to_json($this,$res); } } public function enable_announcement() { $q = $this->input->post('id'); $random = generateRandomString(); $res = $this->personalization_model->enable_announcement($q,$random); if($res=='full'){ output_to_json($this,'full'); }else{ output_to_json($this,$res); } } public function disable_announcement() { $q = $this->input->post('id'); $res = $this->personalization_model->disable_announcement($q); output_to_json($this,$res); } public function delete_announcement() { $q = $this->input->post('id'); $res = $this->personalization_model->delete_announcement($q); output_to_json($this,$res); } public function update_announcement() { $q = $this->input->post('id'); $title = $this->input->post('title'); $date = $this->input->post('date'); $content = $this->input->post('content'); $random = generateRandomString(); $res = $this->personalization_model->update_announcement($q,$title,$date,$content,$random); output_to_json($this,$res); } public function post_acceptor(){ upload_tinymce_image(); // $accepted_origins = array("http://localhost", "http://127.0.0.1", "http://www.sumker.com"); // // $imageFolder = "resources/images/backoffice/announcement/"; // var_dump($_FILES); // reset ($_FILES); // $temp = current($_FILES); // // if (is_uploaded_file($temp['tmp_name'])){ // // if (isset($_SERVER['HTTP_ORIGIN'])) { // // same-origin requests won't set an origin. If the origin is set, it must be valid. // if (in_array($_SERVER['HTTP_ORIGIN'], $accepted_origins)) { // header('Access-Control-Allow-Origin: ' . $_SERVER['HTTP_ORIGIN']); // } else { // header("HTTP/1.1 403 Origin Denied"); // return; // } // } // // /* // If your script needs to receive cookies, set images_upload_credentials : true in // the configuration and enable the following two headers. // */ // // header('Access-Control-Allow-Credentials: true'); // // header('P3P: CP="There is no P3P policy."'); // // // Sanitize input // if (preg_match("/([^\w\s\d\-_~,;:\[\]\(\).])|([\.]{2,})/", $temp['name'])) { // header("HTTP/1.1 400 Invalid file name."); // return; // } // // // Verify extension // if (!in_array(strtolower(pathinfo($temp['name'], PATHINFO_EXTENSION)), array("gif", "jpg", "png"))) { // header("HTTP/1.1 400 Invalid extension."); // return; // } // // // Accept upload if there was no origin, or if it is an accepted origin // $filetowrite = $imageFolder . $temp['name']; // move_uploaded_file($temp['tmp_name'], $filetowrite); // // // Respond to the successful upload with JSON. // // Use a location key to specify the path to the saved image resource. // // { location : '/your/uploaded/image/file'} // // $img = [ // // 'location' => base_url('blog_img/') . $temp['name'] // // ]; // $img = [ // 'location' => base_url('resources/images/backoffice/announcement/') . $temp['name'] // ]; // // echo $this->response->setJSON($img); // output_to_json($this,$img); // } else { // // Notify editor that the upload failed // header("HTTP/1.1 500 Server Error"); // } } public function update_homepage_title() { $title = $this->input->post("title"); if( $this->personalization_model->update_homepage_title($title) >= 0 ) { $arr['message'] = $this->lang->line("update_successful"); $arr['mtype'] = "success"; } output_to_json($this, $arr ); } public function get_homepage_title() { $title = $this->personalization_model->get_homepage_title(); output_to_json($this, $title); } }