Autoría | Ultima modificación | Ver Log |
<?php/*** Cocoon Form Builder integration for Moodle** @package cocoon_form_builder* @copyright ©2021 Cocoon, XTRA Enterprises Ltd. createdbycocoon.com* @author Cocoon*/header("Access-Control-Allow-Origin: *");header('Content-Type: application/json');require_once('../../config.php');global $USER, $DB, $CFG;$PAGE->set_url('/local/cocoon_form_builder/updateinsert.php');$PAGE->set_context(context_system::instance());$_RESTREQUEST = file_get_contents("php://input");$_POST = json_decode($_RESTREQUEST, true);$attachments = array();if(isset($_POST['attachments']) && $_POST['attachments'] != '') {$allowedfileExtensions = array("image/png", "image/jpeg", "image/bmp", "image/vnd.microsoft.icon", "application/pdf", "application/msword","application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.ms-excel","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","application/vnd.ms-powerpoint", "application/vnd.openxmlformats-officedocument.presentationml.presentation","text/csv", "application/zip");foreach ($_POST['attachments'] as $key => $value) {define('UPLOAD_DIR', $CFG->dataroot);$image_parts = explode(";base64,", $value);if(count($image_parts) > 1) {$file_type_aux = explode(":", $image_parts[0]);$file_type = $file_type_aux[1];$image_base64 = base64_decode($image_parts[1]);$fileExtension = "";if((strpos($file_type, "image/png")) || ($file_type == "image/png")) {$fileExtension = "png";} elseif ((strpos($file_type, "image/jpeg")) || ($file_type == "image/jpeg")) {$fileExtension = "jpg";} elseif ((strpos($file_type, "image/bmp")) || ($file_type == "image/bmp")) {$fileExtension = "bmp";} elseif ((strpos($file_type, "image/vnd.microsoft.icon")) || ($file_type == "image/vnd.microsoft.icon")) {$fileExtension = "ico";} elseif ((strpos($file_type, "application/pdf")) || ($file_type == "application/pdf")) {$fileExtension = "pdf";} elseif ((strpos($file_type, "application/msword")) || ($file_type == "application/msword")) {$fileExtension = "doc";} elseif ((strpos($file_type, "application/vnd.openxmlformats-officedocument.wordprocessingml.document")) || ($file_type == "application/vnd.openxmlformats-officedocument.wordprocessingml.document")) {$fileExtension = "docx";} elseif ((strpos($file_type, "application/vnd.ms-excel")) || ($file_type == "application/vnd.ms-excel")) {$fileExtension = "xls";} elseif ((strpos($file_type, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")) || ($file_type == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")) {$fileExtension = "xlsx";} elseif ((strpos($file_type, "application/vnd.ms-powerpoint")) || ($file_type == "application/vnd.ms-powerpoint")) {$fileExtension = "ppt";} elseif ((strpos($file_type, "application/vnd.openxmlformats-officedocument.presentationml.presentation")) || ($file_type == "application/vnd.openxmlformats-officedocument.presentationml.presentation")) {$fileExtension = "pptx";} elseif ((strpos($file_type, "text/csv")) || ($file_type == "text/csv")) {$fileExtension = "csv";} elseif ((strpos($file_type, "application/zip")) || ($file_type == "application/zip")) {$fileExtension = "zip";}$fileName = uniqid() . '.' . $fileExtension;$file = UPLOAD_DIR . "/" . $fileName;file_put_contents($file, $image_base64);$f = $file;// Read image path, convert to base64 encoding$fData = base64_encode(file_get_contents($file));// Format the image SRC: data:{mime};base64,{data};$src = 'data: '.mime_content_type($f).';base64,'.$fData;$attachments[] = $src;} else {$attachments[] = $value;}}}$reply = new stdClass();$reply->subject = $_POST['email_subject'];$reply->message = $_POST['email_message'];$reply->attachments = $attachments;$obj = new stdClass();$obj->title = $_POST['title'];$obj->json = $_POST['json'];$obj->data = json_encode($reply);$obj->url = $_POST['url'];$obj->confirm_message = $_POST['confirm_message'];$obj->recipients = $_POST['recipients'];$obj->status = $_POST['status'];$obj->ajax = $_POST['ajax'];if(empty(trim($_POST['title']))) {$sql = "SELECT `auto_increment` FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '{cocoon_form_builder_forms}'";$form = $DB->get_records_sql($sql);$value = intval(array_values($form)[0]->auto_increment);$obj->title = "Form #" . $value;}if(isset($_POST['id']) && $_POST['id'] !== '') {$obj->id = $_POST['id'];$result = $DB->update_record('cocoon_form_builder_forms', $obj);echo $result;} else {$result = $DB->insert_record('cocoon_form_builder_forms', $obj, true, false);echo $result;}