Пример #1
0
 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;
 }
Пример #2
0
 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;
 }