Пример #1
0
 function link()
 {
     require_once __DIR__ . "/../../API/Psr4AutoloaderClass.php";
     $loader = new Psr4AutoloaderClass();
     $loader->register();
     $loader->addNamespace('InstructureCanvasAPI', __DIR__ . "/../../API/InstructureCanvasAPI/src");
     $url = get_post_meta($_POST['course_post'], "courseURL", true);
     $token = get_post_meta($_POST['course_post'], "courseToken", true);
     $API = new InstructureCanvasAPI\InstructureCanvasAPI(array("site" => $url, "token" => $token, "webService" => "CURL"));
     $post = get_post($_POST['page_id']);
     $publish = "true";
     if ($post->post_status != "publish") {
         $publish = "false";
     }
     $pages = new InstructureCanvasAPI\Courses\Pages\Pages();
     $pages->setAPI($API);
     $pages->setCourseID($_POST['course']);
     $data = $pages->createPage($_POST['title'], array("wiki_page[body]" => stripslashes($_POST['content']), "wiki_page[title]" => $_POST['title'], "wiki_page[published]" => $publish, "wiki_page[editing_roles]" => "teachers"));
     update_post_meta($post->ID, "CanvasLinked", true);
     update_post_meta($post->ID, "CanvasCourse", $_POST['course']);
     update_post_meta($post->ID, "postCanvasID", $data->content->page_id);
     update_post_meta($post->ID, "postURL", $data->content->url);
     update_post_meta($post->ID, "postHTMLURL", $data->content->html_url);
     $modules = new InstructureCanvasAPI\Courses\Modules\Modules();
     $modules->setAPI($API);
     $modules->setCourseID($_POST['course']);
     $data = $modules->addModuleItem($_POST['module'], array("module_item[title]" => $_POST['title'], "module_item[type]" => "Page", "module_item[page_url]" => $data->content->url, "module_item[position]" => $_POST['place'], "module_item[content_id]" => $data->content->page_id, "module_item[indent]" => $_POST['indent']));
     $this->new_form($_POST['page_id'], $data->content->html_url);
     die;
 }
Пример #2
0
 function download()
 {
     $course_id = get_post_meta($_POST['page_id'], "CanvasCourse", true);
     global $wpdb;
     $course_post = $wpdb->get_results("select post_id from " . $wpdb->prefix . "postmeta where meta_key='CourseID' and meta_value = '" . $course_id . "'");
     $course_post = get_post($course_post[0]->post_id);
     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->ID, "courseURL", true), "token" => get_post_meta($course_post->ID, "courseToken", true), "webService" => "CURL"));
     $pages = new InstructureCanvasAPI\Courses\Pages\Pages();
     $pages->setAPI($API);
     $pages->setCourseID(get_post_meta($course_post->ID, "courseID", true));
     $data = $pages->getPage(get_post_meta($_POST['page_id'], "postURL", true));
     $new_content = $data->content->body;
     //print_r($new_content);
     //print_r($_POST);
     $update = $wpdb->update($wpdb->prefix . "posts", array("post_content" => $new_content), array("ID" => $_POST['page_id']));
     if ($update === false) {
         print_r($wpdb);
         echo json_encode(array("error"));
     } else {
         echo json_encode(array($new_content));
     }
     die;
 }
Пример #3
0
 function media_added($post_id)
 {
     $post = get_post($post_id);
     $linked = get_post_meta($post->post_parent, "CanvasLinked", true);
     if ($linked == 1) {
         if (get_post_meta($post_id, "CanvasCourseIDFileID", true) == "") {
             $course_id = get_post_meta($post->post_parent, "CanvasCourse", true);
             global $wpdb;
             $course_post = $wpdb->get_results("select post_id from " . $wpdb->prefix . "postmeta where meta_key='CourseID' and meta_value = '" . $course_id . "'");
             $course_post = get_post($course_post[0]->post_id);
             $file_system = get_post_meta($course_post->ID, "courseFileSystem", true);
             foreach ($file_system as $folder_id => $file_data) {
                 if (strpos($file_data['actual_path'], $course_id . "/course files/") === FALSE) {
                     $folder = $folder_id;
                     $actual_path = $file_data['actual_path'];
                 }
             }
             $file = get_attached_file($post_id);
             $parts = explode("/", $file);
             $new_name = $actual_path . "/" . array_pop($parts);
             rename($file, $new_name);
             $dir = wp_upload_dir();
             $change_path = str_replace("\\", "/", $dir['basedir']) . "/";
             $new_path = str_replace($change_path, "", $new_name);
             $data = wp_generate_attachment_metadata($post_id, $new_name);
             update_post_meta($post_id, "_wp_attached_file", $new_path);
             update_post_meta($post_id, "_wp_attachment_metadata", $data, true);
             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->ID, "courseURL", true), "token" => get_post_meta($course_post->ID, "courseToken", true), "webService" => "CURL"));
             $files = new InstructureCanvasAPI\Courses\Files\Files();
             $files->setAPI($API);
             $files->setCourseID($course_id);
             $parts = explode("/", $post->guid);
             $name = array_pop($parts);
             $data = $files->requestUpload(array("name" => $name, "content_type" => $post->post_mime_type, "parent_folder_id" => $folder));
             $file_data = array("file" => $change_path . $new_path);
             $file_data = $files->upload($data->content->upload_url, $data->content->upload_params, $file_data);
             $header_parts = explode("\n", $file_data->header);
             foreach ($header_parts as $part) {
                 if (strpos($part, "Location:") !== FALSE) {
                     $confirm_url = trim(substr($part, strpos($part, ":") + 1));
                 }
             }
             $confirm_data = $files->confirm($confirm_url);
             $parts = explode("verifier=", $confirm_data->content->url);
             $verifier = array_pop($parts);
             update_post_meta($course_post->ID, "molie_file_" . $confirm_data->content->id, $post_id);
             update_post_meta($post_id, "CanvasCourse", $course_id);
             update_post_meta($post_id, "CanvasFileVerifier", $verifier);
             update_post_meta($post_id, "CanvasCourseIDFileID", $course_id . "," . $_POST['item']);
             update_post_meta($post_id, "CanvasFileURL", $confirm_data->content->url);
         }
     }
 }
Пример #4
0
/**
 * Allow plugins to register a namespace for class loading.
 */
function wp_psr4_class_loader()
{
    // Create a new instance of the autoloader
    $loader = new Psr4AutoloaderClass();
    // Register this instance
    $loader->register();
    $namespaces = apply_filters('wp_psr4_namespaces', array());
    foreach ($namespaces as $ns => $path) {
        $loader->addNamespace($ns, $path, TRUE);
    }
}
Пример #5
0
 function get_student($post, $student_id)
 {
     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"));
     $user = new InstructureCanvasAPI\Courses\Users\Users();
     $user->setAPI($API);
     $data = $user->getProfile($student_id);
     $loader->unregister();
     return $data;
 }
Пример #6
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;
 }
 function get_discussion($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"));
     $discussion = new InstructureCanvasAPI\Courses\DiscussionTopics\DiscussionTopics();
     $discussion->setAPI($API);
     $discussion->setCourseID(get_post_meta($post->ID, "courseID", true));
     $data = $discussion->getDiscussionTopic($_POST['item']);
     $discussion = $data->content;
     $loader->unregister();
     return $discussion;
 }
Пример #8
0
/**
 * Begins execution of the plugin.
 *
 * Since everything within the plugin is registered via hooks,
 * then kicking off the plugin from this point in the file does
 * not affect the page life cycle.
 *
 * @since    1.0.0
 */
function run_citrix_connect()
{
    require_once plugin_dir_path(__FILE__) . 'includes/class-autoloader.php';
    // instantiate the loader
    // dd(plugin_dir_path( __FILE__ ) . 'includes/Citrix');
    $loader = new Psr4AutoloaderClass();
    // register the autoloader
    $loader->register();
    // register the base directories for the namespace prefix
    $loader->addNamespace('Citrix', plugin_dir_path(__FILE__) . 'includes/Citrix');
    //	$loader->addNamespace('Admin/Citrix', plugin_dir_path( __FILE__ ) . 'admin/Citrix' );
    // $loader->addNamespace('Foo\Bar', '/path/to/packages/foo-bar/tests');
    $plugin = new Citrix_Connect();
    $plugin->run();
}
Пример #9
0
 function course_place()
 {
     require_once __DIR__ . "/../../API/Psr4AutoloaderClass.php";
     $loader = new Psr4AutoloaderClass();
     $loader->register();
     $loader->addNamespace('InstructureCanvasAPI', __DIR__ . "/../../API/InstructureCanvasAPI/src");
     $url = get_post_meta($_POST['course_post'], "courseURL", true);
     $token = get_post_meta($_POST['course_post'], "courseToken", true);
     $API = new InstructureCanvasAPI\InstructureCanvasAPI(array("site" => $url, "token" => $token, "webService" => "CURL"));
     $modules = new InstructureCanvasAPI\Courses\Modules\Modules();
     $modules->setAPI($API);
     $modules->setCourseID($_POST['course_id']);
     $data = $modules->getModules($_POST['course_id']);
     if ($data) {
         echo "<button onclick='javascript:molie_canvas_link_page(event);'>" . __("Add page, but not to a module") . "</button> ";
         echo "<button onclick='javascript:molie_canvas_link_page(event);'>" . __("Link page to the spot below") . "</button>";
         echo "<div id='course_choose'>";
         if (count($data->content) != 0) {
             $first = true;
             foreach ($data->content as $module) {
                 echo "<p>" . __("Module") . " : " . $module->name . "</p>";
                 echo "<ul>";
                 $moduleItems = $modules->getModuleItems($module->id);
                 foreach ($moduleItems->content as $item) {
                     $last_positon = $item->position;
                     echo "<li><input ";
                     if ($first) {
                         echo " checked ";
                         $first = false;
                     }
                     echo " name='place' style='margin-left:" . 10 * $item->indent . "px;' indent='" . $item->indent . "' course_id='" . $_POST['course_post'] . "' page='" . $_POST['page'] . "' place='" . $item->position . "'  course='" . $_POST['course_id'] . "' module_name='" . addslashes($module->name) . "' module='" . $module->id . "' type='radio' />" . __("Add page before") . " " . $item->title . "</li>";
                 }
                 echo "<li><input name='place' style='margin-left:" . 10 * $item->indent . "px;' indent='" . $item->indent . "' course_id='" . $_POST['course_post'] . "' page='" . $_POST['page'] . "' place='" . ($last_position + 1) . "'  course='" . $_POST['course_id'] . "' module_name='" . addslashes($module->name) . "' module='" . $module->id . "' type='radio' />" . __("Add at the end") . "</li>";
                 echo "</ul>";
             }
         }
         echo "</div>";
     }
     $loader->unregister();
     die;
 }
Пример #10
0
 function course_list()
 {
     if (wp_verify_nonce($_POST['nonce'], "molie_admin_choose")) {
         require_once __DIR__ . "/../../API/Psr4AutoloaderClass.php";
         $loader = new Psr4AutoloaderClass();
         $loader->register();
         $loader->addNamespace('InstructureCanvasAPI', __DIR__ . "/../../API/InstructureCanvasAPI/src");
         $url = str_replace("http://", "https://", $_POST['url']);
         if (strpos($url, "https://") === FALSE) {
             $url = "https://" . $url;
         }
         $API = new InstructureCanvasAPI\InstructureCanvasAPI(array("site" => $url, "token" => $_POST['token'], "webService" => "CURL"));
         $courses = new InstructureCanvasAPI\Courses\Courses();
         $courses->setAPI($API);
         $data = $courses->getCoursesForThisUser();
         if ($data) {
             if (count($data->content) != 0) {
                 echo "<form method='post' action='" . $_POST['admin_url'] . "admin.php?page=molie_choose'>";
                 wp_nonce_field("molie-link", "molie-link-nonce");
                 echo "<p>" . __("Now Choose a Course") . "</p>";
                 echo "<p><select name='molie_course'>";
                 foreach ($data->content as $course) {
                     echo "<option value='" . $course->id . "|" . $course->name . "'>" . $course->name . "</option>";
                 }
                 echo "</select></p>";
                 echo "<input type='hidden' name='token' value='" . $_POST['token'] . "' />";
                 echo "<input type='hidden' name='url' value='" . $url . "' />";
                 echo "<input type='submit' value='" . __("Link Course") . "'>";
                 echo "</form>";
             } else {
                 echo "<p>" . __("There was an error connecting") . "</p>";
                 echo "<p>" . $data[1] . "</p>";
             }
         }
         $loader->unregister();
     } else {
         print_r($_POST);
         echo "Nonce failed";
     }
     wp_die();
 }
Пример #11
0
 function remove($post_id)
 {
     $post = get_post($post_id);
     $course_id = get_post_meta($post_id, "CanvasCourse", true);
     global $wpdb;
     $course_post = $wpdb->get_results("select post_id from " . $wpdb->prefix . "postmeta where meta_key='CourseID' and meta_value = '" . $course_id . "'");
     $course_post = get_post($course_post[0]->post_id);
     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->ID, "courseURL", true), "token" => get_post_meta($course_post->ID, "courseToken", true), "webService" => "CURL"));
     $pages = new InstructureCanvasAPI\Courses\Pages\Pages();
     $pages->setAPI($API);
     $pages->setCourseID($course_id);
     $data = $pages->deletePage(get_post_meta($post_id, "postURL", true));
     delete_post_meta($post_id, "CanvasCourse");
     delete_post_meta($post_id, "postCanvasID");
     delete_post_meta($post_id, "postURL");
     delete_post_meta($post_id, "postHTMLURL");
 }
Пример #12
0
 private function get_course_syllabus($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"));
     $course = new InstructureCanvasAPI\Courses\Courses();
     $course->setAPI($API);
     $data = $course->getCoursesForThisUserWithSyllabus();
     $courseID = get_post_meta($post->ID, "courseID", true);
     foreach ($data->content as $course) {
         if ($course->id == $courseID) {
             $syllabus = new StdClass();
             $syllabus->content = new StdClass();
             $syllabus->content->title = __("Syllabus");
             $syllabus->content->url = "course-syllabus";
             $syllabus->content->body = $course->syllabus_body;
             $syllabus->content->published = 1;
         }
     }
     return $syllabus;
 }
Пример #13
0
    function calendar()
    {
        if (isset($_POST['molie-calendar-nonce'])) {
            if (wp_verify_nonce($_POST['molie-calendar-nonce'], "molie-calendar-nonce")) {
                $course_id = get_post_meta($_POST['course_id'], "courseID", true);
                $course_token = get_post_meta($_POST['course_id'], "courseToken", true);
                $course_url = get_post_meta($_POST['course_id'], "courseURL", true);
                $categories = $this->create_categories(get_post($_POST['course_id']));
                if (get_post_meta($_POST['course_id'], "canvasCalendarPage", true) == "") {
                    $calendar_post = wp_insert_post(array("post_type" => 'post', "post_status" => 'publish', "post_title" => __("Course Calendar"), "post_author" => get_current_user_id()));
                    wp_set_post_categories($roster_post, $categories);
                    update_post_meta($calendar_post, "CanvasCalendar", "true", true);
                    update_post_meta($calendar_post, "CanvasCourse", $course_id, true);
                    update_post_meta($_POST['course_id'], "canvasCalendarPage", $calendar_post, true);
                } else {
                    $calendar_post = get_post_meta($_POST['course_id'], "canvasCalendarPage", true);
                }
                require_once __DIR__ . "/../../API/Psr4AutoloaderClass.php";
                $loader = new Psr4AutoloaderClass();
                $loader->register();
                $loader->addNamespace('InstructureCanvasAPI', __DIR__ . "/../../API/InstructureCanvasAPI/src");
                $API = new InstructureCanvasAPI\InstructureCanvasAPI(array("site" => $course_url, "token" => $course_token, "webService" => "CURL"));
                $calendar = new InstructureCanvasAPI\Courses\Courses();
                $calendar->setAPI($API);
                $data = $calendar->getCoursesForThisUserWithSyllabus();
                foreach ($data->content as $course_data) {
                    if ($course_data->id == $course_id) {
                        $data = $course_data;
                    }
                }
                $calendar = file_get_contents($data->calendar->ics);
                $calendar = explode("\n", $calendar);
                $parse = false;
                $content = array();
                $post_content = "";
                for ($x = 0; $x <= count($calendar); $x++) {
                    $line = trim(str_replace("\n", "", $calendar[$x]));
                    if ($line == "BEGIN:VEVENT") {
                        $parse = true;
                    }
                    if ($parse) {
                        if ($line == "END:VEVENT") {
                            $post_content = $content['date'] . $content['summary'] . $content['location'] . $content['link'];
                            $parse = false;
                        }
                        $parts = explode(":", $line);
                        if (count($parts) != 1) {
                            if ($parts[0] == "URL") {
                                $data = str_replace("\n", "", str_replace("\r", "", str_replace($parts[0] . ":", "", $line) . trim($calendar[$x + 1])));
                            } else {
                                $data = $parts[1];
                            }
                            if ($parts[0] == "LOCATION") {
                                $content['location'] = "<p>Location " . $data . "</p>";
                            }
                            if ($parts[0] == "SUMMARY") {
                                $content['summary'] = "<p>Summary " . $data . "</p>";
                            }
                            if ($parts[0] == "URL") {
                                $content['link'] = "<p>Link <a href='" . $data . "'>" . $data . "</a></p>";
                            }
                            if ($parts[0] == "DTSTART") {
                                if (strpos($data, "=") == FALSE) {
                                    $time = mktime(substr($data, 10, 2), substr($data, 12, 2), substr($data, 14, 2), substr($data, 4, 2), substr($data, 6, 2), substr($data, 0, 4));
                                }
                                $content['date'] = "<p>Date " . date("l, jS F Y G:i:s A", $time) . "</p>";
                            }
                            if ($parts[0] == "DTSTART;VALUE=DATE") {
                                $time = mktime(0, 0, 0, substr($data, 4, 2), substr($data, 6, 2), substr($data, 0, 4));
                                $content['date'] = "<p>Date " . date("l, jS F Y G:i:s A", $time) . "</p>";
                            }
                        }
                    }
                }
                wp_update_post(array("ID" => $calendar_post, "post_content" => $post_content));
                $loader->unregister();
                echo "<h1>" . __("Calendar linking") . "</h1>";
                echo "<p>" . __("Calendar linked") . "</p>";
                echo "<h2>" . __("Linking complete") . "</h2>";
                global $wpdb;
                $data = $wpdb->get_results('select ' . $wpdb->prefix . 'posts.ID, post_title, meta_key, meta_value from ' . $wpdb->prefix . 'posts, ' . $wpdb->prefix . 'postmeta where post_type = "post" and ID = post_id and meta_key = "CanvasCourse" and meta_value = ' . $course_id);
                $admin_url = admin_url("edit.php?course=" . $course_id . "&canvas_linked=true");
                ?>
<p><?php 
                echo count($data) . " " . __("course pages linked");
                ?>
 <a href="<?php 
                echo $admin_url;
                ?>
"><?php 
                echo __("See pages in this course");
                ?>
</a></p><?php 
                $data = $wpdb->get_results('select ' . $wpdb->prefix . 'posts.ID, post_title, meta_key, meta_value from ' . $wpdb->prefix . 'posts, ' . $wpdb->prefix . 'postmeta where post_type = "attachment" and ID = post_id and meta_key = "CanvasCourse" and meta_value = ' . $course_id);
                $admin_url = admin_url('admin.php?page=molie_media_mgmt&course_id=' . $course_id);
                ?>
<p><?php 
                echo count($data) . " " . __("course files linked");
                ?>
 <a href="<?php 
                echo $admin_url;
                ?>
"><?php 
                echo __("See media in this course");
                ?>
</a></p><?php 
                $data = $wpdb->get_results('select ' . $wpdb->prefix . 'posts.ID, post_title, meta_key, meta_value from ' . $wpdb->prefix . 'posts, ' . $wpdb->prefix . 'postmeta where post_type = "linkedcanvasuser" and ID = post_id and meta_key = "CanvasCourse" and meta_value = ' . $course_id);
                $admin_url = admin_url("edit.php?post_type=linkedcanvasuser&course=" . $course_id . "&canvas_linked=true");
                ?>
<p><?php 
                echo count($data) . " " . __("users linked");
                ?>
 <a href="<?php 
                echo $admin_url;
                ?>
"><?php 
                echo __("See users in this course");
                ?>
</a></p><?php 
                $data = $wpdb->get_results('select ' . $wpdb->prefix . 'posts.ID, post_title, meta_key, meta_value from ' . $wpdb->prefix . 'posts, ' . $wpdb->prefix . 'postmeta where post_type = "linkedcanvasquiz" and ID = post_id and meta_key = "CanvasCourse" and meta_value = ' . $course_id);
                $admin_url = admin_url("edit.php?post_type=linkedcanvasquiz&course=" . $course_id . "&canvas_linked=true");
                ?>
<p><?php 
                echo count($data) . " " . __("quizzes linked");
                ?>
 <a href="<?php 
                echo $admin_url;
                ?>
"><?php 
                echo __("See quizzes in this course");
                ?>
</a></p><?php 
                $data = $wpdb->get_results('select ' . $wpdb->prefix . 'posts.ID, post_title, meta_key, meta_value from ' . $wpdb->prefix . 'posts, ' . $wpdb->prefix . 'postmeta where post_type = "linkedcanvasamt" and ID = post_id and meta_key = "CanvasCourse" and meta_value = ' . $course_id);
                $admin_url = admin_url("edit.php?post_type=linkedcanvasamt&course=" . $course_id . "&canvas_linked=true");
                ?>
<p><?php 
                echo count($data) . " " . __("assignments linked");
                ?>
 <a href="<?php 
                echo $admin_url;
                ?>
"><?php 
                echo __("See assignments in this course");
                ?>
</a></p><?php 
                $data = $wpdb->get_results('select ' . $wpdb->prefix . 'posts.ID, post_title, meta_key, meta_value from ' . $wpdb->prefix . 'posts, ' . $wpdb->prefix . 'postmeta where post_type = "linkedcanvasdis" and ID = post_id and meta_key = "CanvasCourse" and meta_value = ' . $course_id);
                $admin_url = admin_url("edit.php?post_type=linkedcanvasdis&course=" . $course_id . "&canvas_linked=true");
                ?>
<p><?php 
                echo count($data) . " " . __("discussions linked");
                ?>
 <a href="<?php 
                echo $admin_url;
                ?>
"><?php 
                echo __("See discussions in this course");
                ?>
</a></p><?php 
                $admin_url = admin_url("admin.php?page=molie_help");
                echo "<p>" . __("So now see the guidance on the tool") . " <a href='" . $admin_url . "'>" . __("MOLIE Help") . "</a></p>";
            } else {
                print_r($_POST);
            }
        } else {
            $args = array("post_type" => "linkedcanvascourse", "post_status" => "publish");
            $courses = get_posts($args);
            if (count($courses) != 0) {
                echo "<h2>" . __("Choose a course") . "</h2>";
                $nonce = wp_create_nonce("molie-calendar-nonce");
                foreach ($courses as $course) {
                    ?>
						<form method="post" action='<?php 
                    echo admin_url("admin.php?page=molie_calendar");
                    ?>
'>
							<p><?php 
                    echo $course->post_title;
                    ?>
</p>
							<input type="hidden" name="molie-calendar-nonce" value="<?php 
                    echo $nonce;
                    ?>
"/>
							<input type="hidden" name="url" value="<?php 
                    echo get_post_meta($course->ID, "courseURL", true);
                    ?>
" />
							<input type="hidden" name="token" value="<?php 
                    echo get_post_meta($course->ID, "courseToken", true);
                    ?>
" />
							<input name="course_id" type="hidden" value="<?php 
                    echo $course->ID;
                    ?>
" />
							<input type="submit" value="<?php 
                    echo __("Get Calendar");
                    ?>
" />
						</form>
					<?php 
                }
            }
        }
    }
Пример #14
0
        define('YII_DEBUG', false);
        error_reporting(0);
    }
} else {
    error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED);
    // Not needed if user don't remove his 'debug'=>0, for application/config/config.php (Installation is OK with E_ALL)
}
if (version_compare(PHP_VERSION, '5.3.3', '<')) {
    die('This script can only be run on PHP version 5.3.3 or later! Your version: ' . PHP_VERSION . '<br />');
}
/**
 * Load Psr4 autoloader, should be replaced by composer autoloader at some point.
 */
require_once 'application/Psr4AutoloaderClass.php';
$loader = new Psr4AutoloaderClass();
$loader->register();
$loader->addNamespace('ls\\pluginmanager', __DIR__ . '/application/libraries/PluginManager');
$loader->addNamespace('ls\\pluginmanager', __DIR__ . '/application/libraries/PluginManager/Storage');
/*
 * --------------------------------------------------------------------
 * LOAD THE BOOTSTRAP FILE
 * --------------------------------------------------------------------
 *
 * And away we go...
 *
 */
require_once BASEPATH . 'yii' . EXT;
require_once APPPATH . 'core/LSYii_Application' . EXT;
$config = (require_once APPPATH . 'config/internal' . EXT);
if (!file_exists(APPPATH . 'config/config' . EXT)) {
    // If Yii can not start due to unwritable runtimePath, present an error
Пример #15
0
<?php

define('APPLICATION_PATH', __DIR__ . '/application/');
define('LIBRARY_PATH', __DIR__ . '/library/');
define('PUBLIC_PATH', __DIR__ . '/public/');
define('FRONTEND_PATH', APPLICATION_PATH . 'modules/frontend/');
define('BACKEND_PATH', APPLICATION_PATH . 'modules/backend/');
// Get autoload Zend/Symfony Standard PS-4
require_once LIBRARY_PATH . 'Core/Autoload.php';
// Autoload Instance
$autoload = new Psr4AutoloaderClass();
// Load Needed Namespaces for the application
$autoload->addNamespace('Core', LIBRARY_PATH . 'Core')->addNamespace('Application', APPLICATION_PATH)->addNamespace('Backend', BACKEND_PATH)->addNamespace('Frontend', FRONTEND_PATH);
$autoload->register();
// estaria bueno definir las routes aca y el acces list?
// onda.. Access list y se lo inyecto a la aplicacion.
//$acl = new Acl();
//$acl->addRole();
// lo mismo con las routes..
// las routes es tambien para forwardear un 404, un 500 etc..
// Create the Application via Namespace..
$api = new Core\Application();
$api->init()->start();
Пример #16
0
    function choose()
    {
        if (isset($_POST['molie-link-nonce'])) {
            if (wp_verify_nonce($_POST['molie-link-nonce'], "molie-link")) {
                $course_details = explode("|", $_POST['molie_course']);
                $posts = get_posts(array("post_type" => 'linkedcanvascourse'));
                $post_insert = true;
                foreach ($posts as $post) {
                    if ($post->post_title == $course_details[1]) {
                        $post_insert = false;
                        $course = $post->ID;
                    }
                }
                if ($post_insert) {
                    $course = wp_insert_post(array("post_type" => 'linkedcanvascourse', "post_status" => 'publish', "post_title" => $course_details[1], "post_author" => get_current_user_id()));
                    update_post_meta($course, "courseID", $course_details[0], true);
                    update_post_meta($course, "courseToken", $_POST['token'], true);
                    update_post_meta($course, "courseURL", $_POST['url'], true);
                }
                $urls = get_user_meta(get_current_user_id(), "courseLinkURLsTokens", true);
                if (!is_array($urls)) {
                    $urls = array();
                }
                if (!isset($urls[$_POST['url']])) {
                    $urls[$_POST['url']] = array($_POST['token']);
                } else {
                    $insert = true;
                    foreach ($urls[$_POST['url']] as $token) {
                        if ($token == $_POST['token']) {
                            $insert = false;
                        }
                    }
                    if ($insert) {
                        $urls[$_POST['url']][] = $_POST['token'];
                    }
                }
                update_user_meta(get_current_user_id(), "courseLinkURLsTokens", $urls);
                require_once __DIR__ . "/../../API/Psr4AutoloaderClass.php";
                $loader = new Psr4AutoloaderClass();
                $loader->register();
                $loader->addNamespace('InstructureCanvasAPI', __DIR__ . "/../../API/InstructureCanvasAPI/src");
                $API = new InstructureCanvasAPI\InstructureCanvasAPI(array("site" => $_POST['url'], "token" => $_POST['token'], "webService" => "CURL"));
                $modules = new InstructureCanvasAPI\Courses\Modules\Modules();
                $modules->setAPI($API);
                $modules->setCourseID($course_details[0]);
                $data = $modules->getModules($course_details[0]);
                if ($data) {
                    if (count($data->content) != 0) {
                        $module_pages = array();
                        echo "<div id='molie_choose'>";
                        echo "<h2>" . __("Modules and Pages in this course") . "</h2>";
                        echo "<p>" . __("Select the pages you'd like to import") . "</p>";
                        echo "<div id='importProgress'><p><strong>" . __("Import Progress") . " <span id='importTotal'></span></strong></p><div id='importProgressBar'></div></div>";
                        echo '<form id="molie_choose_form" action="javascript:function connect(){return false;};">';
                        echo "<input type='submit' id='molie_choose_submit' value='" . __("Import pages") . "' />";
                        echo "<input type='submit' id='molie_choose_skip' value='" . __("Skip step") . "' />";
                        echo "<p><span><a href='javascript:molie_select_all()'>" . __("Select All") . "</a></span> <span><a href='javascript:molie_unselect_all()'>" . __("Unselect All") . "</a></span></p>";
                        echo "<p>" . __("Course syllabus") . "</p>";
                        echo "<ul>";
                        $link_info = "";
                        $link_checked = "";
                        if ($this->linked($course, "course_" . $course . "_course-syllabus")) {
                            $link_info = "<span class='pageLinked'>" . __("Page already linked - importing will override") . "</span>";
                            $link_checked = " override='true' ";
                        } else {
                            $link_checked = "checked";
                        }
                        echo "<li><input " . $link_checked . " course='" . $course . "' type='checkbox' id='course-syllabus'/>" . __("Course Syllabus") . " " . $link_info . "</li>";
                        echo "</ul>";
                        echo "<p>" . __("Course home page") . "</p>";
                        echo "<ul>";
                        $link_info = "";
                        $link_checked = "";
                        if ($this->linked($course, "course_" . $course . "_course-home-page")) {
                            $link_info = "<span class='pageLinked'>" . __("Page already linked - importing will override") . "</span>";
                            $link_checked = " override='true' ";
                        } else {
                            $link_checked = "checked";
                        }
                        echo "<li><input " . $link_checked . " course='" . $course . "' type='checkbox' id='course-home-page'/>" . __("Course Home Page") . " " . $link_info . "</li>";
                        echo "</ul>";
                        foreach ($data->content as $module) {
                            echo "<p>" . __("Module") . " : " . $module->name . "</p>";
                            echo "<ul>";
                            $moduleItems = $modules->getModuleItems($module->id);
                            foreach ($moduleItems->content as $item) {
                                $link_info = "";
                                $link_checked = "";
                                if ($this->linked($course, "course_" . $course . "_" . $item->page_url)) {
                                    $link_info = "<span class='pageLinked'>" . __("Page already linked - importing will override") . "</span>";
                                    $link_checked = " override='true' ";
                                } else {
                                    $link_checked = "checked";
                                }
                                array_push($module_pages, $item->page_url);
                                echo "<li><input " . $link_checked . " course='" . $course . "' module_name='" . addslashes($module->name) . "' module='" . $module->id . "' type='checkbox' id='" . $item->id . "'/>" . $item->title . " " . $link_info . "</li>";
                            }
                            echo "</ul>";
                        }
                        $pages = new InstructureCanvasAPI\Courses\Pages\Pages();
                        $pages->setAPI($API);
                        $pages->setCourseID($course_details[0]);
                        $data = $pages->getPages();
                        echo "<p>" . __("Pages outside modules") . "</p>";
                        echo "<ul>";
                        foreach ($data->content as $item) {
                            if ($item->front_page != 1) {
                                if (!in_array($item->url, $module_pages)) {
                                    $link_info = "";
                                    $link_checked = "";
                                    if ($this->linked($course, "course_" . $course . "_" . $item->url)) {
                                        $link_info = "<span class='pageLinked'>" . __("Page already linked - importing will override") . "</span>";
                                        $link_checked = " override='true' ";
                                    } else {
                                        $link_checked = "checked";
                                    }
                                    echo "<li><input " . $link_checked . " course='" . $course . "' type='checkbox' id='" . $item->url . "'/>" . $item->title . " " . $link_info . "</li>";
                                }
                            }
                        }
                        echo "</ul>";
                        echo "<input type='submit' id='molie_choose_submit' value='" . __("Import pages") . "' />";
                        echo "</form>";
                        echo "</div>";
                        echo "<div id='molie_files' style='display:none'>";
                        echo "<p>" . __("Page Linking complete") . "</p>";
                        ?>
<form method="post" action='<?php 
                        echo admin_url("admin.php?page=molie_files");
                        ?>
'><?php 
                        $nonce = wp_create_nonce("molie-files");
                        echo '<input type="hidden" name="molie-files-nonce" value="' . $nonce . '"/>';
                        echo "<input type='hidden' name='course_ID' value='" . $course . "' />";
                        echo "<p><input type='submit' value='" . __("Now, lets connect files") . "' /></p>";
                        echo "</div>";
                    }
                }
                $loader->unregister();
            } else {
                print_r($_POST);
                echo "nonce failed";
            }
        } else {
            $args = array("post_type" => "linkedcanvascourse", "post_status" => "publish");
            $courses = get_posts($args);
            if (count($courses) != 0) {
                echo "<h2>" . __("Choose a course") . "</h2>";
                $args = array("post_type" => "linkedcanvascourse", "post_status" => "publish");
                $courses = get_posts($args);
                if (count($courses) != 0) {
                    $nonce = wp_create_nonce("molie-link");
                    foreach ($courses as $course) {
                        ?>
<form method="post" action='<?php 
                        echo admin_url("admin.php?page=molie_choose");
                        ?>
'>
								<p><?php 
                        echo $course->post_title;
                        ?>
</p>
								<input type="hidden" name="molie-link-nonce" value="<?php 
                        echo $nonce;
                        ?>
"/>
								<input type="hidden" name="molie_course" value="<?php 
                        echo get_post_meta($course->ID, "courseID", true) . "|" . $course->post_title;
                        ?>
" />
								<input type="hidden" name="url" value="<?php 
                        echo get_post_meta($course->ID, "courseURL", true);
                        ?>
" />
								<input type="hidden" name="token" value="<?php 
                        echo get_post_meta($course->ID, "courseToken", true);
                        ?>
" />
								<input name="course" type="hidden" value="<?php 
                        echo get_post_meta($course->ID, "courseID", true);
                        ?>
" />
								<input type="submit" value="<?php 
                        echo __("Choose course pages");
                        ?>
" />
							</form>
						<?php 
                    }
                }
            }
        }
    }
Пример #17
0
<?php

use FigureTask\Drawer\Drawers\Image\ImageDrawerFactory;
use FigureTask\Drawer\Drawers\Image\ImageRenderOptions;
use FigureTask\Drawer\Drawers\Points\PointsDrawerFactory;
require_once __DIR__ . '/../util/psr4.php';
$psr4AutoLoader = new Psr4AutoloaderClass();
$psr4AutoLoader->addNamespace('FigureTask', __DIR__ . '/FigureTask');
$psr4AutoLoader->register();
call_user_func(function () {
    $figures = [['type' => 'rectangle', 'shape' => ['stroke' => ['color' => 'black', 'size' => 1], 'foreground' => ['color' => 'red'], 'background' => ['color' => 'white']], 'size' => 250], ['type' => 'circle', 'shape' => ['stroke' => ['color' => 'black', 'size' => 1], 'foreground' => ['color' => 'red'], 'background' => ['color' => 'white']], 'radius' => 100]];
    echo "Input: ", json_encode($figures, JSON_PRETTY_PRINT), "\n\n";
    echo "Output:", "\n\n";
    // Создаем изображения,
    $imageDrawerFactory = new ImageDrawerFactory(new ImageRenderOptions('image.png', 640, 480));
    $imageDemo = new \FigureTask\Demo($imageDrawerFactory);
    $imageDemo->run($figures);
    // Или, например,
    $pointsDrawerFactory = new PointsDrawerFactory();
    $pointsDemo = new \FigureTask\Demo($pointsDrawerFactory);
    $pointsDemo->run($figures);
});
 function check_calendar()
 {
     if (wp_verify_nonce($_POST['nonce'], "molie_admin_check")) {
         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['course'], "courseURL", true), "token" => get_post_meta($_POST['course'], "courseToken", true), "webService" => "CURL"));
         $course_id = get_post_meta($_POST['course'], "courseID", true);
         $calendar = new InstructureCanvasAPI\Courses\Courses();
         $calendar->setAPI($API);
         $data = $calendar->getCoursesForThisUserWithSyllabus();
         foreach ($data->content as $course_data) {
             if ($course_data->id == $course_id) {
                 $data = $course_data;
             }
         }
         $calendar = file_get_contents($data->calendar->ics);
         $calendar = explode("\n", $calendar);
         $parse = false;
         $content = array();
         $post_content = "";
         for ($x = 0; $x <= count($calendar); $x++) {
             $line = trim(str_replace("\n", "", $calendar[$x]));
             if ($line == "BEGIN:VEVENT") {
                 $parse = true;
             }
             if ($parse) {
                 if ($line == "END:VEVENT") {
                     $post_content = $content['date'] . $content['summary'] . $content['location'] . $content['link'];
                     $parse = false;
                 }
                 $parts = explode(":", $line);
                 if (count($parts) != 1) {
                     if ($parts[0] == "URL") {
                         $data = str_replace("\n", "", str_replace("\r", "", str_replace($parts[0] . ":", "", $line) . trim($calendar[$x + 1])));
                     } else {
                         $data = $parts[1];
                     }
                     if ($parts[0] == "LOCATION") {
                         $content['location'] = "<p>Location " . $data . "</p>";
                     }
                     if ($parts[0] == "SUMMARY") {
                         $content['summary'] = "<p>Summary " . $data . "</p>";
                     }
                     if ($parts[0] == "URL") {
                         $content['link'] = "<p>Link <a href='" . $data . "'>" . $data . "</a></p>";
                     }
                     if ($parts[0] == "DTSTART") {
                         if (strpos($data, "=") == FALSE) {
                             $time = mktime(substr($data, 10, 2), substr($data, 12, 2), substr($data, 14, 2), substr($data, 4, 2), substr($data, 6, 2), substr($data, 0, 4));
                         }
                         $content['date'] = "<p>Date " . date("l, jS F Y G:i:s A", $time) . "</p>";
                     }
                     if ($parts[0] == "DTSTART;VALUE=DATE") {
                         $time = mktime(0, 0, 0, substr($data, 4, 2), substr($data, 6, 2), substr($data, 0, 4));
                         $content['date'] = "<p>Date " . date("l, jS F Y G:i:s A", $time) . "</p>";
                     }
                 }
             }
         }
         $calendar = get_post(get_post_meta($_POST['course'], "canvasCalendarPage", true));
         if ($calendar->post_content == $post_content) {
             echo json_encode(array(true));
         } else {
             echo json_encode(array(false));
         }
     } else {
         echo "Nonce failed";
     }
     wp_die();
 }
Пример #19
0
            // replace the namespace prefix with the base directory,
            // replace namespace separators with directory separators
            // in the relative class name, append with .php
            $file = $base_dir . str_replace('\\', '/', $relative_class) . '.php';
            // if the mapped file exists, require it
            if ($this->requireFile($file)) {
                // yes, we're done
                return $file;
            }
        }
        // never found it
        return false;
    }
    /**
     * If a file exists, require it from the file system.
     *
     * @param string $file The file to require.
     * @return bool True if the file exists, false if not.
     */
    protected function requireFile($file)
    {
        if (file_exists($file)) {
            require $file;
            return true;
        }
        return false;
    }
}
$autoloader = new Psr4AutoloaderClass();
$autoloader->register();
$autoloader->addNamespace('Serializers', dirname(__FILE__) . '/../src');
Пример #20
0
    function roster()
    {
        if (isset($_POST['molie-roster-nonce'])) {
            if (wp_verify_nonce($_POST['molie-roster-nonce'], "molie-roster-nonce")) {
                $course_id = get_post_meta($_POST['course_id'], "courseID", true);
                $course_token = get_post_meta($_POST['course_id'], "courseToken", true);
                $course_url = get_post_meta($_POST['course_id'], "courseURL", true);
                $categories = $this->create_categories(get_post($_POST['course_id']));
                if (get_post_meta($_POST['course_id'], "canvasRosterPage", true) == "") {
                    $roster_post = wp_insert_post(array("post_type" => 'post', "post_status" => 'publish', "post_title" => __("Course Roster"), "post_author" => get_current_user_id()));
                    wp_set_post_categories($roster_post, $categories);
                    update_post_meta($roster_post, "CanvasRoster", "true", true);
                    update_post_meta($roster_post, "CanvasCourse", $course_id, true);
                    update_post_meta($_POST['course_id'], "canvasRosterPage", $roster_post, true);
                }
                require_once __DIR__ . "/../../API/Psr4AutoloaderClass.php";
                $loader = new Psr4AutoloaderClass();
                $loader->register();
                $loader->addNamespace('InstructureCanvasAPI', __DIR__ . "/../../API/InstructureCanvasAPI/src");
                $API = new InstructureCanvasAPI\InstructureCanvasAPI(array("site" => $course_url, "token" => $course_token, "webService" => "CURL"));
                $roster = new InstructureCanvasAPI\Courses\Users\Users();
                $roster->setAPI($API);
                $roster->setCourseID($course_id);
                $data = $roster->getUsers();
                if ($data) {
                    if (count($data->content) != 0) {
                        echo "<div id='molie_choose'>";
                        echo "<h2>" . __("Course users") . "</h2>";
                        echo "<div id='importProgress'><p><strong>" . __("Import Progress") . " <span id='importTotal'></span></strong></p><div id='importProgressBar'></div></div>";
                        echo '<form id="molie_choose_form" action="javascript:function connect(){return false;};">';
                        echo "<input type='submit' id='molie_roster_submit' value='" . __("Add to roster") . "' />";
                        echo "<input type='submit' id='molie_roster_skip' value='" . __("Skip step") . "' />";
                        echo "<p><span><a href='javascript:molie_select_all()'>" . __("Select All") . "</a></span> <span><a href='javascript:molie_unselect_all()'>" . __("Unselect All") . "</a></span></p>";
                        echo "<ul>";
                        foreach ($data->content as $student) {
                            echo "<li>";
                            if (get_post_meta($_POST['course_id'], "canvasStudent_" . $student->id, true) != "") {
                                $link_checked = "";
                                $link_info = __("Student already linked");
                            } else {
                                $link_checked = "checked";
                                $link_info = "";
                            }
                            echo "<input type='checkbox' " . $link_checked . " id='" . $student->id . "' course_post='" . $_POST['course_id'] . "'>" . $student->short_name . "<span id='update" . $student->id . "'>" . $link_info . "</span></li>";
                        }
                        echo "</ul>";
                        echo "<input type='submit' id='molie_roster_submit' value='" . __("Add to roster") . "' />";
                        echo "</form>";
                        echo "</div>";
                        echo "<div id='molie_calendar' style='display:none'>";
                        echo '<form method="post" action="' . admin_url("admin.php?page=molie_calendar") . '">';
                        echo "<input name='course_id' type='hidden' value='" . $_POST['course_id'] . "' />";
                        echo wp_nonce_field("molie-calendar-nonce", "molie-calendar-nonce");
                        echo "<input type='submit' value='" . __("Link Calendar") . "' />";
                        echo "</form>";
                        echo "</div>";
                    }
                }
                $loader->unregister();
            } else {
                print_r($_POST);
            }
        } else {
            $args = array("post_type" => "linkedcanvascourse", "post_status" => "publish");
            $courses = get_posts($args);
            if (count($courses) != 0) {
                echo "<h2>" . __("Choose a course") . "</h2>";
                $nonce = wp_create_nonce("molie-roster-nonce");
                foreach ($courses as $course) {
                    ?>
						<form method="post" action='<?php 
                    echo admin_url("admin.php?page=molie_roster");
                    ?>
'>
							<p><?php 
                    echo $course->post_title;
                    ?>
</p>
							<input type="hidden" name="molie-roster-nonce" value="<?php 
                    echo $nonce;
                    ?>
"/>
							<input type="hidden" name="url" value="<?php 
                    echo get_post_meta($course->ID, "courseURL", true);
                    ?>
" />
							<input type="hidden" name="token" value="<?php 
                    echo get_post_meta($course->ID, "courseToken", true);
                    ?>
" />
							<input name="course_id" type="hidden" value="<?php 
                    echo $course->ID;
                    ?>
" />
							<input type="submit" value="<?php 
                    echo __("Get Roster");
                    ?>
" />
						</form>
					<?php 
                }
            }
        }
    }
 function link_post($post_id)
 {
     if (count($_POST) != 0 && isset($_POST['_wp_http_referer'])) {
         $linked = get_post_meta($post_id, "CanvasLinked", true);
         if ($linked == 1) {
             $this->post = $post_id;
             $post = get_post($this->post);
             $this->content = $post->post_content;
             $this->change_src();
             $this->change_links();
             $strip = explode("body>", $this->content);
             $this->content = substr($strip[1], 0, strlen($strip[1]) - 2);
             $styles = $this->stylesheets($post);
             require_once dirname(__FILE__) . "/../lib/emogrifier.php";
             foreach ($styles as $style) {
                 if (strpos($style, network_site_url()) !== FALSE) {
                     $dir = wp_upload_dir();
                     $style = str_replace(network_site_url() . "/wp-content/", str_replace("uploads", "", $dir['basedir']), $style);
                     $style = explode("?", $style);
                     $style = $style[0];
                 }
                 $css = preg_replace("/\\/[\\*]*[^\\*]*\\*\\//", "", file_get_contents($styles[1]));
                 $emogrifier = new emogrifier($this->content, $css);
                 $this->content = $emogrifier->emogrify();
             }
             $canvas_id = get_post_meta($post_id, "postCanvasID", true);
             $course_id = get_post_meta($post_id, "CanvasCourse", true);
             global $wpdb;
             $course_post = $wpdb->get_results("select post_id from " . $wpdb->prefix . "postmeta where meta_key='CourseID' and meta_value = '" . $course_id . "'");
             $course_post = get_post($course_post[0]->post_id);
             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->ID, "courseURL", true), "token" => get_post_meta($course_post->ID, "courseToken", true), "webService" => "CURL"));
             $pages = new InstructureCanvasAPI\Courses\Pages\Pages();
             $pages->setAPI($API);
             $pages->setCourseID(get_post_meta($course_post->ID, "courseID", true));
             $post = get_post($post_id);
             $publish = 1;
             if ($post->post_status != "publish") {
                 $publish = 0;
             }
             $data = $pages->updatePage($post->post_title, array("wiki_page[body]" => stripslashes(str_replace("&nbsp;", " ", $this->content)), "wiki_page[title]" => $post->post_title, "wiki_page[published]" => $publish));
         }
     }
 }
Пример #22
0
    function assignment()
    {
        if (isset($_POST['molie-assignment-nonce'])) {
            if (wp_verify_nonce($_POST['molie-assignment-nonce'], "molie-assignment-nonce")) {
                $course_id = get_post_meta($_POST['course_id'], "courseID", true);
                $course_token = get_post_meta($_POST['course_id'], "courseToken", true);
                $course_url = get_post_meta($_POST['course_id'], "courseURL", true);
                require_once __DIR__ . "/../../API/Psr4AutoloaderClass.php";
                $loader = new Psr4AutoloaderClass();
                $loader->register();
                $loader->addNamespace('InstructureCanvasAPI', __DIR__ . "/../../API/InstructureCanvasAPI/src");
                $API = new InstructureCanvasAPI\InstructureCanvasAPI(array("site" => $course_url, "token" => $course_token, "webService" => "CURL"));
                $assignments = new InstructureCanvasAPI\Courses\Assignments\Assignments();
                $assignments->setAPI($API);
                $assignments->setCourseID($course_id);
                $data = $assignments->getAssignments();
                if ($data) {
                    if (count($data->content) != 0) {
                        echo "<div id='molie_choose'>";
                        echo "<h2>" . __("Assignments in this course") . "</h2>";
                        echo "<div id='importProgress'><p><strong>" . __("Import Progress") . " <span id='importTotal'></span></strong></p><div id='importProgressBar'></div></div>";
                        echo '<form id="molie_choose_form" action="javascript:function connect(){return false;};">';
                        echo "<input type='submit' id='molie_assignment_submit' value='" . __("Link Assignments") . "' />";
                        echo "<input type='submit' id='molie_assignment_skip' value='" . __("Skip step") . "' />";
                        echo "<p><span><a href='javascript:molie_select_all()'>" . __("Select All") . "</a></span> <span><a href='javascript:molie_unselect_all()'>" . __("Unselect All") . "</a></span></p>";
                        echo "<ul>";
                        foreach ($data->content as $quiz) {
                            echo "<li>";
                            if (get_post_meta($_POST['course_id'], "canvasQuiz_" . $quiz->id, true) != "") {
                                $link_checked = "";
                                $link_info = __("Quiz already linked");
                            } else {
                                $link_checked = "checked";
                                $link_info = "";
                            }
                            echo "<input type='checkbox' " . $link_checked . " id='" . $quiz->id . "' course_post='" . $_POST['course_id'] . "'>" . $quiz->name . "<span id='update" . $quiz->id . "'>" . $link_info . "</span></li>";
                        }
                        echo "</ul>";
                        echo "<input type='submit' id='molie_assignment_submit' value='" . __("Link Assignments") . "' />";
                        echo "</form>";
                        echo "</div>";
                        echo "<div id='molie_discussions' style='display:none'>";
                        echo '<form method="post" action="' . admin_url("admin.php?page=molie_discussions") . '">';
                        echo "<input name='course_id' type='hidden' value='" . $_POST['course_id'] . "' />";
                        echo wp_nonce_field("molie-discussion-nonce", "molie-discussion-nonce");
                        echo "<input type='submit' value='" . __("Now, Discussions") . "' />";
                        echo "</form>";
                        echo "</div>";
                    }
                }
                $loader->unregister();
            } else {
                echo "HELLO";
                print_r($_POST);
            }
        } else {
            $args = array("post_type" => "linkedcanvascourse", "post_status" => "publish");
            $courses = get_posts($args);
            if (count($courses) != 0) {
                echo "<h2>" . __("Choose a course") . "</h2>";
                $nonce = wp_create_nonce("molie-assignment-nonce");
                foreach ($courses as $course) {
                    ?>
						<form method="post" action='<?php 
                    echo admin_url("admin.php?page=molie_assignments");
                    ?>
'>
							<p><?php 
                    echo $course->post_title;
                    ?>
</p>
							<input type="hidden" name="molie-assignment-nonce" value="<?php 
                    echo $nonce;
                    ?>
"/>
							<input type="hidden" name="url" value="<?php 
                    echo get_post_meta($course->ID, "courseURL", true);
                    ?>
" />
							<input type="hidden" name="token" value="<?php 
                    echo get_post_meta($course->ID, "courseToken", true);
                    ?>
" />
							<input name="course_id" type="hidden" value="<?php 
                    echo $course->ID;
                    ?>
" />
							<input type="submit" value="<?php 
                    echo __("Get Assignments");
                    ?>
" />
						</form>
					<?php 
                }
            }
        }
    }
Пример #23
0
    function files()
    {
        if (!isset($_POST['molie-files-nonce'])) {
            $args = array("post_type" => "linkedcanvascourse", "post_status" => "publish");
            $courses = get_posts($args);
            if (count($courses) != 0) {
                echo "<h2>" . __("Choose a course") . "</h2>";
                $nonce = wp_create_nonce("molie-files");
                foreach ($courses as $course) {
                    ?>
						<form method="post" action="<?php 
                    echo admin_url("admin.php?page=molie_files");
                    ?>
">
							<p><?php 
                    echo $course->post_title;
                    ?>
</p>
							<input type="hidden" name="molie-files-nonce" value="<?php 
                    echo $nonce;
                    ?>
"/>
							<input type="hidden" name="url" value="<?php 
                    echo get_post_meta($course->ID, "courseURL", true);
                    ?>
" />
							<input type="hidden" name="token" value="<?php 
                    echo get_post_meta($course->ID, "courseToken", true);
                    ?>
" />
							<input name="course_ID" type="hidden" value="<?php 
                    echo $course->ID;
                    ?>
" />
							<input type="submit" value="<?php 
                    echo __("Get Files");
                    ?>
" />
						</form>
					<?php 
                }
            }
        } else {
            if (wp_verify_nonce($_POST['molie-files-nonce'], "molie-files")) {
                $course_id = get_post_meta($_POST['course_ID'], "courseID", true);
                $course_token = get_post_meta($_POST['course_ID'], "courseToken", true);
                $course_url = get_post_meta($_POST['course_ID'], "courseURL", true);
                require_once __DIR__ . "/../../API/Psr4AutoloaderClass.php";
                $loader = new Psr4AutoloaderClass();
                $loader->register();
                $loader->addNamespace('InstructureCanvasAPI', __DIR__ . "/../../API/InstructureCanvasAPI/src");
                $API = new InstructureCanvasAPI\InstructureCanvasAPI(array("site" => $course_url, "token" => $course_token, "webService" => "CURL"));
                $folders = new InstructureCanvasAPI\Courses\Folders\Folders();
                $folders->setAPI($API);
                $folders->setCourseID($course_id);
                $data = $folders->getFolders();
                $folders = $data->content;
                $this->file_system = array();
                foreach ($folders as $folder) {
                    if ($folder->name == "course files") {
                        $base_id = $folder->id;
                    }
                    if (!isset($this->file_system[$folder->id])) {
                        $this->file_system[$folder->id] = array("name" => $folder->name, "id" => $folder->id, "url" => $folder->files_url);
                        $this->file_system[$folder->id]['children'] = array();
                        if ($folder->parent_folder_id != "") {
                            if (!isset($this->file_system[$folder->parent_folder_id])) {
                                $this->file_system[$folder->parent_folder_id] = array();
                                $this->file_system[$folder->parent_folder_id]["children"] = array();
                            }
                            array_push($this->file_system[$folder->parent_folder_id]['children'], $folder->id);
                        }
                    } else {
                        $this->file_system[$folder->id]["name"] = $folder->name;
                        $this->file_system[$folder->id]["id"] = $folder->id;
                        $this->file_system[$folder->id]["url"] = $folder->files_url;
                        if ($folder->parent_folder_id != "") {
                            if (!isset($this->file_system[$folder->parent_folder_id])) {
                                $this->file_system[$folder->parent_folder_id] = array();
                                $this->file_system[$folder->parent_folder_id]["children"] = array();
                            }
                            array_push($this->file_system[$folder->parent_folder_id]['children'], $folder->id);
                        }
                    }
                }
                $upload_dir = wp_upload_dir();
                $base_path = $upload_dir['basedir'];
                if (!is_dir($base_path . "/" . $course_id)) {
                    mkdir($base_path . "/" . $course_id);
                }
                $this->make_folders($base_id, $base_path . "/" . $course_id);
                foreach ($this->file_system as $index => $id) {
                    unset($this->file_system[$index]['name']);
                    unset($this->file_system[$index]['id']);
                    unset($this->file_system[$index]['children']);
                }
                delete_post_meta($_POST['course_ID'], "courseFileSystem");
                add_post_meta($_POST['course_ID'], "courseFileSystem", $this->file_system, true);
                $files = new InstructureCanvasAPI\Courses\Files\Files();
                $files->setAPI($API);
                $files->setCourseID($course_id);
                $data = $files->getFiles();
                $files = $data->content;
                if ($data) {
                    if (count($data->content) != 0) {
                        echo "<div id='molie_choose'>";
                        echo "<h2>" . __("Files in this course") . "</h2>";
                        echo "<p>" . __("You should import all files") . "</p>";
                        echo "<div id='importProgress'><p><strong>" . __("Import Progress") . " <span id='importTotal'></span></strong></p><div id='importProgressBar'></div></div>";
                        echo '<form id="molie_choose_form" action="javascript:function connect(){return false;};">';
                        echo "<input type='submit' id='molie_file_submit' value='" . __("Import files") . "' />";
                        echo "<input type='submit' id='molie_choose_skip' value='" . __("Skip step") . "' />";
                        echo "<p><span><a href='javascript:molie_select_all()'>" . __("Select All") . "</a></span> <span><a href='javascript:molie_unselect_all()'>" . __("Unselect All") . "</a></span></p>";
                        echo "<ul>";
                        foreach ($data->content as $file) {
                            echo "<li>";
                            if (isset($file->thumbnail_url)) {
                                echo "<img src='" . $file->thumbnail_url . "' />";
                            }
                            $file_size = $file->size / 1000;
                            $file_size_parts = explode(".", $file_size);
                            if (strlen($file_size_parts[0]) >= 4) {
                                $file_size = $file->size / 1000000;
                                $file_size = substr($file_size, 0, 4) . "MB";
                            } else {
                                $file_size = substr($file_size, 0, 4) . "KB";
                            }
                            if ($this->is_file_downloaded($_POST['course_ID'], $file)) {
                                $checked = "";
                                $downloaded = __("Already Downloaded");
                            } else {
                                $checked = "checked";
                                $downloaded = "";
                            }
                            $parts = explode("verifier=", $file->url);
                            $verifier = array_pop($parts);
                            echo "<input verifier='" . $verifier . "' type='checkbox' " . $checked . " filename='" . $file->display_name . "' folder='" . $file->folder_id . "' url='" . $file->url . "' id='" . $file->id . "' course_post='" . $_POST['course_ID'] . "'>" . $file->display_name . " (" . $file_size . ")<span id='update" . $file->id . "'>" . $downloaded . "</span></li>";
                        }
                        echo "</ul>";
                        echo "<input type='submit' id='molie_file_submit' value='" . __("Import files") . "' />";
                        echo "</form>";
                        echo "</div>";
                        echo "<div id='molie_quiz_assignments'>";
                        echo '<form method="post" action="' . admin_url("admin.php?page=molie_quiz") . '">';
                        echo "<input name='course_id' type='hidden' value='" . $_POST['course_ID'] . "' />";
                        echo wp_nonce_field("molie-quiz-nonce", "molie-quiz-nonce");
                        echo "<input type='submit' value='" . __("Now, Quizzes") . "' />";
                        echo "</form>";
                        echo "</div>";
                    }
                }
                $loader->unregister();
            }
        }
    }
Пример #24
0
 /**
  * Регистрация автозагрузки классов
  */
 protected function AutoloadRegister()
 {
     spl_autoload_register(array('Engine', 'autoload'));
     /**
      * Подключаем PSR-4 автозагрузчик
      */
     require_once Config::Get('path.framework.libs_vendor.server') . DIRECTORY_SEPARATOR . 'php-fig' . DIRECTORY_SEPARATOR . 'PSR-4' . DIRECTORY_SEPARATOR . 'Psr4AutoloaderClass.php';
     self::$oAutoloader = new Psr4AutoloaderClass();
     self::$oAutoloader->register();
 }
    function pre()
    {
        global $post;
        if ($post->post_type == "post" && isset($_GET['action'])) {
            $linked = get_post_meta($post->ID, "CanvasLinked", true);
            if ($linked == 1) {
                $canvas_id = get_post_meta($post->ID, "postCanvasID", true);
                $course_id = get_post_meta($post->ID, "CanvasCourse", true);
                global $wpdb;
                $course_post = $wpdb->get_results("select post_id from " . $wpdb->prefix . "postmeta where meta_key='CourseID' and meta_value = '" . $course_id . "'");
                $course_post = get_post($course_post[0]->post_id);
                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->ID, "courseURL", true), "token" => get_post_meta($course_post->ID, "courseToken", true), "webService" => "CURL"));
                $pages = new InstructureCanvasAPI\Courses\Pages\Pages();
                $pages->setAPI($API);
                $pages->setCourseID(get_post_meta($course_post->ID, "courseID", true));
                $data = $pages->getPage(get_post_meta($post->ID, "postURL", true));
                $this->canvas = $data->content->body;
                $this->wp = $post->post_content;
                $this->prepare();
                $this->wp = explode("body>", $this->wp);
                $this->wp = substr($this->wp[1], 0, strlen($this->wp[1]) - 2);
                $this->canvas = explode("body>", $this->canvas);
                $this->canvas = substr($this->canvas[1], 0, strlen($this->canvas[1]) - 2);
                if ($this->compare()) {
                    ?>
<div id='canvassyncmessage' class="notice notice-success" style="border:1px solid #000">
							<p><?php 
                    echo __("This post is up to date on Canvas and WP");
                    ?>
 : <span class="molieoptions">(<?php 
                    echo __("Click for Options");
                    ?>
)</span></p>
							<div id="molielinkoptions">
								<p><a href="<?php 
                    echo get_post_meta($post->ID, "postHTMLURL", true);
                    ?>
"><?php 
                    echo __("See this page on Canvas");
                    ?>
</p>
								<p><a href="javascript:molie_update_post(<?php 
                    echo $post->ID;
                    ?>
,'<?php 
                    echo get_post_meta($post->ID, "postURL", true);
                    ?>
','upload');">Update Canvas with this page</a></p>
								<p><a href="javascript:molie_update_post(<?php 
                    echo $post->ID;
                    ?>
,'<?php 
                    echo get_post_meta($post->ID, "postURL", true);
                    ?>
','download');">Update this page with Canvas content</a></p>
							</div>
						</div>
						<?php 
                } else {
                    ?>
<div id='canvassyncmessage' class="notice notice-info" style="border:1px solid #000">
							<p><?php 
                    echo __("This post does not appear to be the same as the one it is linked to on Canvas");
                    ?>
 : <span class="molieoptions">(<?php 
                    echo __("Click for Options");
                    ?>
)</span></p>
							<div id="molielinkoptions">
								<p><a href="<?php 
                    echo get_post_meta($post->ID, "postHTMLURL", true);
                    ?>
"><?php 
                    echo __("See this page on Canvas");
                    ?>
</p>
								<p><a href="javascript:molie_update_post(<?php 
                    echo $post->ID;
                    ?>
,'<?php 
                    echo get_post_meta($post->ID, "postURL", true);
                    ?>
','upload');">Update Canvas with this page</a></p>
								<p><a href="javascript:molie_update_post(<?php 
                    echo $post->ID;
                    ?>
,'<?php 
                    echo get_post_meta($post->ID, "postURL", true);
                    ?>
','download');">Update this page with Canvas content</a></p>
							</div>
						</div>
						</div>
						<?php 
                }
            }
        }
    }