/**
  *  Get the block content
  *  
  *  @global object $CFG
  *  @global object $USER
  *  @return object|string
  */
 public function get_content()
 {
     global $CFG, $USER;
     if ($this->content !== null) {
         return $this->content;
     }
     if (!$this->page->user_is_editing()) {
         return $this->content = '';
     }
     $context = context_course::instance($this->page->course->id);
     if (!has_capability('moodle/backup:backupactivity', $context)) {
         return $this->content = '';
     }
     $controller = new sharing_cart\controller();
     $html = $controller->render_tree($USER->id);
     if (moodle_major_version() >= 2.7) {
         // Moodle 2.7 or later runs always with Ajax
     } elseif (empty($CFG->enableajax)) {
         $html = $this->get_content_noajax();
     } else {
         $noscript = html_writer::tag('noscript', html_writer::tag('div', get_string('requirejs', __CLASS__), array('class' => 'error')));
         $html = $noscript . $html;
     }
     $this->page->requires->css('/blocks/sharing_cart/styles.css');
     $this->page->requires->js('/blocks/sharing_cart/module.js');
     $this->page->requires->yui_module('block_sharing_cart', 'M.block_sharing_cart.init', array(), null, true);
     $this->page->requires->strings_for_js(array('yes', 'no', 'ok', 'cancel', 'error', 'edit', 'move', 'delete', 'movehere'), 'moodle');
     $this->page->requires->strings_for_js(array('copyhere', 'notarget', 'backup', 'restore', 'movedir', 'clipboard', 'confirm_backup', 'confirm_userdata', 'confirm_delete'), __CLASS__);
     $footer = '<div style="display:none;">' . '<div class="header-commands">' . $this->get_header() . '</div>' . '</div>';
     return $this->content = (object) array('text' => $html, 'footer' => $footer);
 }
Example #2
0
<?php

/**
 *  Sharing Cart - REST API
 *  
 *  @author  VERSION2, Inc.
 *  @version $Id: rest.php 859 2012-10-12 06:31:50Z malu $
 */
require_once '../../config.php';
require_once __DIR__ . '/classes/controller.php';
try {
    $controller = new sharing_cart\controller();
    switch (required_param('action', PARAM_TEXT)) {
        case 'render_tree':
            $PAGE->set_context(\context_user::instance($USER->id));
            // pix_url() needs this
            echo $controller->render_tree($USER->id);
            exit;
        case 'is_userdata_copyable':
            $cmid = required_param('cmid', PARAM_INT);
            echo $controller->is_userdata_copyable($cmid);
            exit;
        case 'backup':
            $cmid = required_param('cmid', PARAM_INT);
            $userdata = required_param('userdata', PARAM_BOOL);
            $controller->backup($cmid, $userdata);
            exit;
        case 'movedir':
            $id = required_param('id', PARAM_INT);
            $to = required_param('to', PARAM_TEXT);
            $controller->movedir($id, $to);
Example #3
0
<?php

/**
 *  Sharing Cart - Restore Operation
 *  
 *  @author  VERSION2, Inc.
 *  @version $Id: restore.php 783 2012-09-11 06:48:57Z malu $
 */
require_once '../../config.php';
require_once __DIR__ . '/classes/controller.php';
$id = required_param('id', PARAM_INT);
$courseid = required_param('course', PARAM_INT);
$sectionnumber = required_param('section', PARAM_INT);
if ($courseid == SITEID) {
    $returnurl = new moodle_url('/');
} else {
    $returnurl = new moodle_url('/course/view.php', array('id' => $courseid));
}
try {
    $controller = new sharing_cart\controller();
    $controller->restore($id, $courseid, $sectionnumber);
    redirect($returnurl);
} catch (sharing_cart\exception $ex) {
    print_error($ex->errorcode, $ex->module, $returnurl, $ex->a);
} catch (Exception $ex) {
    if (!empty($CFG->debug) and $CFG->debug >= DEBUG_DEVELOPER) {
        print_error('notlocalisederrormessage', 'error', '', $ex->__toString());
    } else {
        print_error('unexpectederror', 'block_sharing_cart', $returnurl);
    }
}