⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 resource.class.php

📁 很棒的在线教学系统
💻 PHP
📖 第 1 页 / 共 3 页
字号:
        } else if (!empty($defaults['popup'])) {            $defaults['windowpopup'] = 1;            if (array_key_exists('popup', $defaults)) {                $rawoptions = explode(',', $defaults['popup']);                foreach ($rawoptions as $rawoption) {                    $option = explode('=', trim($rawoption));                    $defaults[$option[0]] = $option[1];                }            }        } else {            $defaults['windowpopup'] = 0;        }        //Converts the alltext to form fields        if (!empty($defaults['alltext'])) {            $parameters = $this->alltext2parameters($defaults['alltext']);            $defaults['param_tableofcontents']    = $parameters->tableofcontents;            $defaults['param_navigationbuttons']  = $parameters->navigationbuttons;            $defaults['param_skipsubmenus']       = $parameters->skipsubmenus;            $defaults['param_navigationmenu']     = $parameters->navigationmenu;            $defaults['param_navigationupbutton'] = $parameters->navigationupbutton;        }    }    function setup_elements(&$mform) {        global $CFG, $RESOURCE_WINDOW_OPTIONS;        $mform->addElement('choosecoursefileorimsrepo', 'reference', get_string('location'));        $mform->addRule('name', null, 'required', null, 'client');        $mform->addElement('header', 'displaysettings', get_string('display', 'resource'));        $woptions = array(0 => get_string('pagewindow', 'resource'), 1 => get_string('newwindow', 'resource'));        $mform->addElement('select', 'windowpopup', get_string('display', 'resource'), $woptions);        $mform->setDefault('windowpopup', !empty($CFG->resource_popup));        foreach ($RESOURCE_WINDOW_OPTIONS as $option) {            if ($option == 'height' or $option == 'width') {                $mform->addElement('text', $option, get_string('new'.$option, 'resource'), array('size'=>'4'));                $mform->setDefault($option, $CFG->{'resource_popup'.$option});                $mform->disabledIf($option, 'windowpopup', 'eq', 0);            } else {                $mform->addElement('checkbox', $option, get_string('new'.$option, 'resource'));                $mform->setDefault($option, $CFG->{'resource_popup'.$option});                $mform->disabledIf($option, 'windowpopup', 'eq', 0);            }            $mform->setAdvanced($option);        }        $mform->addElement('header', 'parameters', get_string('parameters', 'resource'));        $mform->addElement('selectyesno', 'param_navigationmenu', get_string('navigationmenu', 'resource'));        $mform->setDefault('param_navigationmenu', 1);        $mform->addElement('selectyesno', 'param_tableofcontents', get_string('tableofcontents', 'resource'));        $mform->disabledIf('param_tableofcontents', 'param_navigationmenu', 'eq', 1);        $mform->setDefault('param_tableofcontents', 0);        $mform->addElement('selectyesno', 'param_navigationbuttons', get_string('navigationbuttons', 'resource'));        $mform->setDefault('param_navigationbuttons', 0);        $mform->addElement('selectyesno', 'param_skipsubmenus', get_string('skipsubmenus', 'resource'));        $mform->setDefault('param_skipsubmenus', 1);        $mform->disabledIf('param_skipsubmenus', 'param_navigationmenu', 'eq', 1);        $mform->addElement('selectyesno', 'param_navigationupbutton', get_string('navigationup', 'resource'));        $mform->setDefault('param_navigationupbutton', 1);        $mform->disabledIf('param_navigationupbutton', 'param_navigationmenu', 'eq', 1);    }} //End class////// General purpose functions///    /*** This function will serialize the variable passed and send it     *   to filesystem     */    function ims_save_serialized_file($destination, $var) {        $status = false;        if ($ser = serialize($var)) {            $status = ims_var2file($destination, $ser);        }        return $status;     }    /*** This function will unserialize the variable stored     *   in filesystem     */    function ims_load_serialized_file($file) {        $status = false;        if ($ser = ims_file2var($file)) {            $status = unserialize($ser);        }        return $status;    }    /*** This function will load all the contents of one file to one variable     *   Not suitable for BIG files     */    function ims_file2var ($file) {        $status = true;        $var = '';        $fp = fopen($file, 'r')            or $status = false;        if ($status) {           while ($data = fread($fp, 4096)) {               $var = $var.$data;           }           fclose($fp);        }        if (!$status) {            $var = false;        }        return $var;    }    /*** This file will write the contents of one variable to a file     *   Not suitable for BIG files     */    function ims_var2file ($file, $var) {        $status = false;        if ($out = fopen($file,"w")) {            $status = fwrite($out, $var);            fclose($out);        }        return $status;    }    /*** This function will generate the TOC file for the package     *   from an specified parent to be used in the view of the IMS     *   Now hilights 'selected page' also.     */    function ims_generate_toc($items, $resource, $page=0, $selected_page = -1) {        global $CFG;        $contents = '';    /// Configure links behaviour        $fullurl = $CFG->wwwroot.'/mod/resource/view.php?r='.$resource->id.'&amp;frameset=ims&amp;page=';    /// Iterate over items to build the menu        $currlevel = 0;        $currorder = 0;        $endlevel  = 0;        $openlielement = false;        foreach ($items as $item) {            if (!is_object($item)) {                continue;            }        /// Skip pages until we arrive to $page            if ($item->id < $page) {                continue;            }        /// Arrive to page, we store its level            if ($item->id == $page) {                $endlevel = $item->level;                continue;            }        /// We are after page and inside it (level > endlevel)            if ($item->id > $page && $item->level > $endlevel) {            /// Start Level                if ($item->level > $currlevel) {                    $contents .= '<ol class="listlevel_'.$item->level.'">';                    $openlielement = false;                }            /// End Level                if ($item->level < $currlevel) {                    $contents .= '</li>';                    $contents .= '</ol>';                }            /// If we have some openlielement, just close it                if ($openlielement) {                    $contents .= '</li>';                }            /// Add item                $contents .= '<li>';                if (!empty($item->href)) {                    if ($item->id == $selected_page) $contents .= '<div id="ims-toc-selected">';                    $contents .= '<a href="'.$fullurl.$item->id.'" target="_parent">'.$item->title.'</a>';                    if ($item->id == $selected_page) $contents .= '</div>';                } else {                    $contents .= $item->title;                }                $currlevel = $item->level;                $openlielement = true;                continue;            }        /// We have reached endlevel, exit            if ($item->id > $page && $item->level <= $endlevel) {                break;            }        }    /// Close up to $endlevel        for ($i=$currlevel;$i>$endlevel;$i--) {            $contents .= '</li>';            $contents .= '</ol>';        }        return $contents;    }    /*** This function will return the correct html code needed     *   to show the previous button in the nav frame     **/    function ims_get_prev_nav_button ($items, $resource_obj, $page) {        $strprevious        = get_string("previous", "resource");        $cm = $resource_obj->cm;        $resource = $resource_obj->resource;        $contents = '';        $page--;    /// Skips any menu pages since these are redundant with sidemenu.        if (!empty($resource_obj->parameters->skipsubmenus)) {            while(empty($items[$page]->href) && $page >= 0) {                $page--;            }        }        if ($page >= 1 ) {  //0 and 1 pages haven't previous            $contents .= "<span class=\"ims-nav-button\"><a href=\"view.php?id={$cm->id}&amp;type={$resource->type}&amp;page={$page}&amp;frameset=ims\">$strprevious</a></span>";        } else {            $contents .= '<span class="ims-nav-dimmed">'.$strprevious.'</span>';        }        return $contents;    }    /*** This function will return the correct html code needed     *   to show the next button in the nav frame     **/    function ims_get_next_nav_button ($items, $resource_obj, $page) {        $strnext        = get_string("next", "resource");        $cm = $resource_obj->cm;        $resource = $resource_obj->resource;        $contents = '';        $page++;    /// Skips any menu pages since these are redundant with sidemenu.        if (!empty($resource_obj->parameters->skipsubmenus)) {            while(empty($items[$page]->href) && !empty($items[$page])) {                $page++;            }        }        if (!empty($items[$page])) {  //If the next page exists            $contents .= "<span class=\"ims-nav-button\"><a href=\"view.php?id={$cm->id}&amp;type={$resource->type}&amp;page={$page}&amp;frameset=ims\">$strnext</a></span>";        } else {            $contents .= '<span class="ims-nav-dimmed">'.$strnext.'</span>';        }        return $contents;    }    /*** This function will return the correct html code needed     *   to show the up button in the nav frame     **/    function ims_get_up_nav_button ($items, $resource_obj, $page) {        $strup        = get_string("upbutton", "resource");        $cm = $resource_obj->cm;        $resource = $resource_obj->resource;        $contents = '';        if (!empty($resource_obj->parameters->navigationupbutton)) {            if ($page > 1 && $items[$page]->parent > 0) {  //If the page has parent                $page = $items[$page]->parent;                $contents .= "<span class=\"ims-nav-button\"><a href=\"view.php?id={$cm->id}&amp;type={$resource->type}&amp;page={$page}&amp;frameset=ims\">$strup</a></span>";            } else {                $contents .= "<span class=\"ims-nav-dimmed\">$strup</span>";            }        }        return $contents;    }    /*** This function will return the correct html code needed     *   to show the toc button in the nav frame     **/    function ims_get_toc_nav_button ($items, $resource_obj, $page) {        $cm = $resource_obj->cm;        $resource = $resource_obj->resource;        $strtoc = get_string('tableofcontentsabbrev', 'resource');        $contents = '';        if (!empty($resource_obj->parameters->tableofcontents)) {  //The toc is enabled            $page = 0;            $contents .= "<span class=\"ims-nav-button\"><a href=\"view.php?id={$cm->id}&amp;type={$resource->type}&amp;page={$page}&amp;frameset=ims\">{$strtoc}</a></span>";        }        return $contents;    }?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -