private function get_file($post) { require_once __DIR__ . "/../../API/Psr4AutoloaderClass.php"; $loader = new Psr4AutoloaderClass(); $loader->register(); $loader->addNamespace('InstructureCanvasAPI', __DIR__ . "/../../API/InstructureCanvasAPI/src"); $API = new InstructureCanvasAPI\InstructureCanvasAPI(array("site" => get_post_meta($post->ID, "courseURL", true), "token" => get_post_meta($post->ID, "courseToken", true), "webService" => "CURL")); $file = new InstructureCanvasAPI\Courses\Files\Files(); $file->setAPI($API); $file->setCourseID(get_post_meta($post->ID, "courseID", true)); $file_data = $file->getFile($_POST['item']); return $file_data->content; }
function download() { if (wp_verify_nonce($_POST['nonce'], "molie_admin_upload_missing_file")) { $linked = get_post_meta($_POST['post_id'], "CanvasLinked", true); if ($linked == 1) { if (get_post_meta($post_id, "CanvasCourseIDFileID", true) == "") { global $wpdb; $course_id = get_post_meta($_POST['post_id'], "CanvasCourse", true); $course_post = $wpdb->get_results("select post_id from " . $wpdb->prefix . "postmeta where meta_key='CourseID' and meta_value = '" . $course_id . "'"); $course_post = $course_post[0]->post_id; $url = get_post_meta($course_post, "courseURL", true); $id = explode("/", $_POST['url']); if ($url == "https://" . $id[2]) { if ($course_id == $id[4]) { $file_id = $id[6]; require_once __DIR__ . "/../../API/Psr4AutoloaderClass.php"; $loader = new Psr4AutoloaderClass(); $loader->register(); $loader->addNamespace('InstructureCanvasAPI', __DIR__ . "/../../API/InstructureCanvasAPI/src"); $API = new InstructureCanvasAPI\InstructureCanvasAPI(array("site" => get_post_meta($course_post, "courseURL", true), "token" => get_post_meta($course_post, "courseToken", true), "webService" => "CURL")); $files = new InstructureCanvasAPI\Courses\Files\Files(); $files->setAPI($API); $files->setCourseID(get_post_meta($course_post, "courseID", true)); $data = $files->getFile($id[6]); $post = get_post($course_post); $file_system = get_post_meta($post->ID, "courseFileSystem", true); $folder_id = array_shift($file_system); $root_path = $folder_id['actual_path']; $file_contents = file_get_contents($data->content->url); file_put_contents($root_path . "/" . $data->content->display_name, $file_contents); $filetype = wp_check_filetype($root_path . "/" . $data->content->display_name, null); $attachment = array('guid' => $root_path . "/" . $data->content->display_name, 'post_mime_type' => $filetype['type'], 'post_title' => preg_replace('/\\.[^.]+$/', '', $data->content->display_name), 'post_content' => '', 'post_status' => 'inherit'); $attach_id = wp_insert_attachment($attachment, $root_path . "/" . $data->content->display_name); $attachment_data = wp_generate_attachment_metadata($attach_id, $root_path . "/" . $data->content->display_name); update_post_meta($attach_id, "_wp_attachment_metadata", $attachment_data, true); update_post_meta($course_post, "molie_file_" . $data->content->id, $attach_id); update_post_meta($attach_id, "CanvasCourse", get_post_meta($course_post, "courseID", true)); $verifier = explode("verifier=", $data->content->url); update_post_meta($attach_id, "CanvasFileVerifier", $verifier[1]); update_post_meta($attach_id, "CanvasCourseIDFileID", get_post_meta($course_post, "courseID", true) . "," . $data->content->display_name); update_post_meta($attach_id, "CanvasFileURL", $data->content->url); echo $data->content->url; echo true; } } } } } die; }