コード例 #1
0
ファイル: hierarchy.php プロジェクト: kostastzo/openeclass
        // Display form for edit node information
        $tool_content .= "<div class='form-wrapper'>\n        <form role='form' class='form-horizontal' method='post' action='" . $_SERVER['SCRIPT_NAME'] . "?action=edit' onsubmit='return validateNodePickerForm();'>\n        <fieldset>\n        <div class='form-group'>\n            <label class='col-sm-3 control-label'>{$langNodeCode1}:</label>\n            <div class='col-sm-9'>\n                <input type='text' name='code' value='" . q($mynode->code) . "' />&nbsp;<i>" . $langCodeFaculte2 . "</i>\n            </div>\n        </div>";
        $is_serialized = false;
        $names = @unserialize($mynode->name);
        if ($names !== false) {
            $is_serialized = true;
        }
        $i = 0;
        foreach ($session->active_ui_languages as $key => $langcode) {
            $n = $is_serialized && isset($names[$langcode]) ? $names[$langcode] : '';
            if (!$is_serialized && $key == 0) {
                $n = $mynode->name;
            }
            $tool_content .= "<div class='form-group'>\n                     <label class='col-sm-3 control-label'>{$langNodeName}:</label>";
            $tdpre = $i >= 0 ? "<div class='col-sm-9'>" : '';
            $placeholder = "{$langFaculte2} (" . $langNameOfLang[langcode_to_name($langcode)] . ")";
            $tool_content .= $tdpre . "<input type='text' name='name-" . q($langcode) . "' value='" . q($n) . "' placeholder='{$placeholder}'></div></div>";
            $i++;
        }
        $tool_content .= "<div class='form-group'>\n                        <label class='col-sm-3 control-label'>{$langNodeParent}:</label>\n                        <div class='col-sm-9'>";
        if ($is_admin) {
            list($js, $html) = $tree->buildNodePicker(array('params' => 'name="nodelft"', 'defaults' => $parentLft->lft, 'exclude' => $id, 'tree' => array('0' => 'Top'), 'useKey' => 'lft', 'multiple' => false));
        } else {
            list($js, $html) = $tree->buildNodePicker(array('params' => 'name="nodelft"', 'defaults' => $parentLft->lft, 'exclude' => $id, 'tree' => array('0' => 'Top'), 'useKey' => 'lft', 'multiple' => false, 'allowables' => $user->getDepartmentIds($uid)));
        }
        $head_content .= $js;
        $tool_content .= $html;
        $tool_content .= "<span class='help-block'><small>{$langNodeParent2}</small></span>\n        </div></div>        \n        <div class='form-group'>\n          <label class='col-sm-3 control-label'>{$langNodeAllowCourse}:</label>\n            <div class='col-sm-9'>\n                  <input type='checkbox' name='allow_course' value='1' {$check_course}><span class='help-block'><small>{$langNodeAllowCourse2}</small></span>\n          </div>\n        </div>\n        <div class='form-group'>\n        <label class='col-sm-3 control-label'>{$langNodeAllowUser}</label>\n          <div class='col-sm-9'>\n              <input type='checkbox' name='allow_user' value='1' {$check_user}><span class='help-block'><small>{$langNodeAllowUser2}</small></span>\n          </div>\n        </div>\n        <div class='form-group'>\n        <label class='col-sm-3 control-label'>{$langNodeOrderPriority}</label>      \n          <div class='col-sm-9'>\n              <input type='text' name='order_priority' value='" . q($mynode->order_priority) . "'><span class='help-block'><small>{$langNodeOrderPriority2}</small></span>\n          </div>\n        </div>\n        <input type='hidden' name='id' value='{$id}' />\n               <input type='hidden' name='parentLft' value='" . $parentLft->lft . "'/>\n               <input type='hidden' name='lft' value='" . q($mynode->lft) . "'/>\n               <input type='hidden' name='rgt' value='" . q($mynode->rgt) . "'/>\n        <div class='form-group'>\n          <div class='col-sm-10 col-sm-offset-2'>\n              <input class='btn btn-primary' type='submit' name='edit' value='{$langAcceptChanges}'>\n          </div>\n        </div>        \n        </fieldset>\n        </form>\n        </div>";
    }
}
draw($tool_content, 3, null, $head_content);
コード例 #2
0
ファイル: CourseXML.php プロジェクト: nikosv/openeclass
    /**
     * Auto-Generate Data for a specific course.
     * 
     * @global string $urlServer
     * @global string $license
     * @global string $webDir
     * @global string $siteName
     * @global string $Institution
     * @global string $InstitutionUrl
     * @param  int    $courseId
     * @return array
     */
    public static function getAutogenData($courseId) {
        global $urlServer, $license, $webDir, $currentCourseLanguage, $language;
        global $siteName, $Institution, $InstitutionUrl; // NOTICE: DO NOT remove these global vars, include of common.inc, etc, below requires them
        $data = array();
        
        if (empty($currentCourseLanguage)) {
            $plang = $language;
        } else {
            $plang = $currentCourseLanguage;
        }

        $course = Database::get()->querySingle("SELECT * FROM course WHERE id = ?d", intval($courseId));
        if (!$course) {
            return array();
        }
        
        // course language
        $clang = $course->lang;
        $data['course_language'] = $clang;
        $data['course_language_' . $clang] = $GLOBALS['langNameOfLang'][langcode_to_name($clang)];
        // en
        $data['course_language_en'] = ucfirst(langcode_to_name($clang));
        // el
        include("${webDir}/lang/el/common.inc.php");
        include("${webDir}/lang/el/messages.inc.php");
        $data['course_language_el'] = $langNameOfLang[langcode_to_name($clang)]; // do not use GLOBALS here as it will not work
        // revert messages back to current language
        include("${webDir}/lang/" . $plang . "/common.inc.php");
        include("${webDir}/lang/" . $plang . "/messages.inc.php");

        $data['course_url'] = $urlServer . 'courses/' . $course->code;
        $data['course_title_' . $clang] = $course->title;
        $data['course_keywords_' . $clang] = $course->keywords;

        // course license
        if (!empty($course->course_license)) {
            $data['course_license_' . $clang] = $license[$course->course_license]['title'];
            // en
            include("${webDir}/lang/en/common.inc.php");
            include("${webDir}/lang/en/messages.inc.php");
            include("${webDir}/include/license_info.php");
            $data['course_license_en'] = $license[$course->course_license]['title'];
            //el
            include("${webDir}/lang/el/common.inc.php");
            include("${webDir}/lang/el/messages.inc.php");
            include("${webDir}/include/license_info.php");
            $data['course_license_el'] = $license[$course->course_license]['title'];
            // revert messages back to current language
            include("${webDir}/lang/" . $clang . "/common.inc.php");
            include("${webDir}/lang/" . $clang . "/messages.inc.php");
            include("${webDir}/include/license_info.php");
        } else {
            $data['course_license_' . $clang] = '';
            if ($clang != 'en') {
                $data['course_license_en'] = '';
            }
            if ($clang != 'el') {
                $data['course_license_el'] = '';
            }
        }

        // first creation date
        $ts = strtotime($course->created);
        if ($ts > 0) {
            $data['course_firstCreateDate'] = date("Y-m-d\TH:i:sP", $ts);
        }

        // course review data
        $review = Database::get()->querySingle("SELECT * FROM course_review WHERE course_id = ?d", intval($courseId));
        if ($review) {
            $ts = strtotime($review->last_review);
            if ($ts > 0) {
                $data['course_lastLevelConfirmation'] = date("Y-m-d\TH:i:sP", $ts);
            }
            $level = intval($review->level);
            if ($level >= self::A_MINUS_LEVEL) {
                $data['course_confirmAMinusLevel'] = 'true';
            }
            if ($level >= self::A_LEVEL) {
                $data['course_confirmALevel'] = 'true';
            }
            if ($level >= self::A_PLUS_LEVEL) {
                $data['course_confirmAPlusLevel'] = 'true';
            }
        }

        // course description types
        $desctypes = array(
            'course_contents_' . $clang => 'syllabus',
            'course_objectives_' . $clang => 'objectives',
            'course_literature_' . $clang => 'bibliography',
            'course_teachingMethod_' . $clang => 'teaching_method',
            'course_assessmentMethod_' . $clang => 'assessment_method',
            'course_prerequisites_' . $clang => 'prerequisites');
        foreach ($desctypes as $xmlkey => $desctype) {
            $resDesc = Database::get()->queryArray("SELECT cd.comments
                    FROM course_description cd
                    LEFT JOIN course_description_type t on (t.id = cd.type)
                    WHERE cd.course_id = ?d AND t.`" . $desctype . "` = 1
                    ORDER BY cd.order", intval($courseId));
            $commDesc = '';
            $i = 0;
            foreach ($resDesc as $row) {
                if ($i > 0) {
                    $commDesc .= ' ';
                }
                $commDesc .= strip_tags($row->comments);
                $i++;
            }
            if (strlen($commDesc) > 0) {
                $data[$xmlkey] = $commDesc;
            }
        }

        // turn visible units to associative array
        $unitsCount = 0;
        DataBase::get()->queryFunc("SELECT title, comments 
                                      FROM course_units
                                     WHERE visible > 0 AND course_id = ?d", function($unit) use (&$data, &$unitsCount) {
            $data['course_unit_title'][$unitsCount] = $unit->title;
            $data['course_unit_description'][$unitsCount] = strip_tags($unit->comments);
            $unitsCount++; // also serves as array index, starting from 0
        }, $courseId);
        $data['course_numberOfUnits'] = $unitsCount;

        return $data;
    }