// 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) . "' /> <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);
/** * 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; }