Merge branch 'm20_MDL-26176_cleanup' of github.com:danmarsden/moodle
authorSam Hemelryk <sam@moodle.com>
Mon, 31 Jan 2011 09:16:56 +0000 (17:16 +0800)
committerSam Hemelryk <sam@moodle.com>
Mon, 31 Jan 2011 09:16:56 +0000 (17:16 +0800)
37 files changed:
brokenfile.php [new file with mode: 0644]
enrol/self/lib.php
filter/activitynames/lang/en/filter_activitynames.php
filter/algebra/lang/en/filter_algebra.php
filter/censor/lang/en/filter_censor.php
filter/emailprotect/lang/en/filter_emailprotect.php
filter/mediaplugin/filter.php
filter/mediaplugin/lang/en/filter_mediaplugin.php
filter/tex/lang/en/filter_tex.php
lib/db/upgrade.php
lib/filelib.php
lib/navigationlib.php
lib/weblib.php
message/lib.php
message/search.html
message/search_advanced.html
mod/quiz/report/overview/lang/en/quiz_overview.php
mod/quiz/report/responses/lang/en/quiz_responses.php
mod/quiz/report/statistics/lang/en/quiz_statistics.php
mod/resource/db/upgradelib.php
mod/scorm/datamodels/scorm_12lib.php
mod/scorm/datamodels/scorm_13lib.php
question/format/multianswer/lang/en/qformat_multianswer.php
question/type/calculated/lang/en/qtype_calculated.php
question/type/calculatedmulti/lang/en/qtype_calculatedmulti.php
question/type/calculatedsimple/lang/en/qtype_calculatedsimple.php
question/type/multianswer/edit_multianswer_form.php
question/type/multianswer/lang/en/qtype_multianswer.php
question/type/multichoice/lang/en/qtype_multichoice.php
repository/repository_ajax.php
theme/arialist/style/core.css
theme/base/style/course.css
theme/binarius/style/core.css
theme/magazine/style/core.css
theme/nonzero/style/pagelayout.css
theme/overlay/style/core.css
user/profile/lib.php

diff --git a/brokenfile.php b/brokenfile.php
new file mode 100644 (file)
index 0000000..3153ade
--- /dev/null
@@ -0,0 +1,31 @@
+<?php
+// This file is part of Moodle - http://moodle.org/
+//
+// Moodle is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// Moodle is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
+
+/**
+ * This is an empty file which is used in order to prevent
+ * error logs in the serverlog.
+ *
+ * Sometimes developer forgets to postprocess files when saving
+ * submitted form data or forget to replace the file placeholders
+ * with the current area information.
+ *
+ * @package    core
+ * @subpackage file
+ * @copyright  2011 Petr Skoda (http://skodak.org)
+ * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
+ */
+
+@header('HTTP/1.0 404 not found');
index c977fcf..99f4779 100644 (file)
@@ -179,12 +179,12 @@ class enrol_self_plugin extends enrol_plugin {
             return null;
         }
 
-        if ($instance->enrolstartdate != 0 and $instance->enrolstartdate < time()) {
+        if ($instance->enrolstartdate != 0 and $instance->enrolstartdate > time()) {
             //TODO: inform that we can not enrol yet
             return null;
         }
 
-        if ($instance->enrolenddate != 0 and $instance->enrolenddate > time()) {
+        if ($instance->enrolenddate != 0 and $instance->enrolenddate < time()) {
             //TODO: inform that enrolment is not possible any more
             return null;
         }
index 345d6e5..6ffcaf9 100644 (file)
@@ -23,4 +23,4 @@
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-$string['filtername'] = 'Activity Names Auto-linking';
+$string['filtername'] = 'Activity names auto-linking';
index 711539e..5435f7f 100644 (file)
@@ -23,4 +23,4 @@
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-$string['filtername'] = 'Algebra Notation';
+$string['filtername'] = 'Algebra notation';
index 36c86db..5669366 100644 (file)
@@ -23,5 +23,5 @@
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-$string['badwords'] = 'shit,fucked,fucker,fuck,dickhead, dick,cockhead,cock,cunt,asshole,arsehole,prick,bitch, jism,whore,slut,wanker, wank,bastard,dildo,masturbate, orgasm,penis,nigger, pussy,vagina';
-$string['filtername'] = 'Word Censorship';
+$string['badwords'] = 'shit,fucked,fucker,fuck,dickhead,dick,cockhead,cock,cunt,asshole,arsehole,prick,bitch,jism,whore,slut,wanker,wank,bastard,dildo,masturbate,orgasm,penis,nigger,pussy,vagina';
+$string['filtername'] = 'Word censorship';
index 26a3fec..7c86187 100644 (file)
@@ -23,4 +23,4 @@
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-$string['filtername'] = 'Email Protection';
+$string['filtername'] = 'Email protection';
index 59d8151..6a9ec85 100644 (file)
@@ -125,6 +125,9 @@ class filter_mediaplugin extends moodle_text_filter {
 
             $search = '/<a[^>]*href="([^<]*)youtube.com\/v\/([^"]*)"[^>]*>(.*?)<\/a>/is';
             $newtext = preg_replace_callback($search, 'filter_mediaplugin_youtube_callback', $newtext);
+
+            $search = '/<a(\s+[^>]+?)?\s+href="((([^"]+)youtube\.com)\/view_play_list\?p=([^"]*))"[^>]*>(.*?)<\/a>/is';
+            $newtext = preg_replace_callback($search, 'filter_mediaplugin_youtube_playlist_callback', $newtext);
         }
 
         if (!empty($CFG->filter_mediaplugin_enable_img)) {
@@ -349,6 +352,25 @@ function filter_mediaplugin_youtube_callback($link, $autostart=false) {
            '</object>';
 }
 
+/**
+ * Change Youtube playlist into embedded Youtube playlist videos
+ */
+function filter_mediaplugin_youtube_playlist_callback($link, $autostart=false) {
+
+    $site = s($link[4]);
+    $param = s($link[5]);
+    $info = s($link[6]);
+
+    return '<object title="'.$info.'"
+                    class="mediaplugin mediaplugin_youtube" type="application/x-shockwave-flash"
+                    data="'.$site.'youtube.com/p/'.$param.'&amp;fs=1&amp;rel=0" width="400" height="320">'.
+           '<param name="movie" value="'.$site.'youtube.com/p/'.$param.'&amp;fs=1&amp;rel=0" />'.
+           '<param name="FlashVars" value="playerMode=embedded" />'.
+           '<param name="wmode" value="transparent" />'.
+           '<param name="allowFullScreen" value="true" />'.
+           '</object>';
+}
+
 /**
  * Change links to images into embedded images
  */
index fadff70..7ec6bae 100644 (file)
@@ -23,7 +23,7 @@
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-$string['filtername'] = 'Multimedia Plugins';
+$string['filtername'] = 'Multimedia plugins';
 $string['flashanimation'] = 'Flash animation';
 $string['flashvideo'] = 'Flash video';
 $string['mp3audio'] = 'MP3 audio';
index 434bab3..f7166ed 100644 (file)
@@ -23,4 +23,4 @@
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-$string['filtername'] = 'TeX Notation';
+$string['filtername'] = 'TeX notation';
index 4a5377e..05c644f 100644 (file)
@@ -2825,10 +2825,10 @@ WHERE gradeitemid IS NOT NULL AND grademax IS NOT NULL");
 
     if ($oldversion < 2010033102.00) {
         // rename course view capability to participate
-        $params = array('view'=>'moodle/course:view', 'participate'=>'moodle/course:participate');
-        $sql = "UPDATE {role_capabilities} SET capability = :participate WHERE capability = :view";
+        $params = array('viewcap'=>'moodle/course:view', 'participatecap'=>'moodle/course:participate');
+        $sql = "UPDATE {role_capabilities} SET capability = :participatecap WHERE capability = :viewcap";
         $DB->execute($sql, $params);
-        $sql = "UPDATE {capabilities} SET name = :participate WHERE name = :view";
+        $sql = "UPDATE {capabilities} SET name = :participatecap WHERE name = :viewcap";
         $DB->execute($sql, $params);
         // note: the view capability is readded again at the end of upgrade, but with different meaning
         upgrade_main_savepoint(true, 2010033102.00);
index 05bc057..adaaedc 100644 (file)
@@ -321,7 +321,7 @@ function file_get_unused_draft_itemid() {
  * @return string if $text was passed in, the rewritten $text is returned. Otherwise NULL.
  */
 function file_prepare_draft_area(&$draftitemid, $contextid, $component, $filearea, $itemid, array $options=null, $text=null) {
-    global $CFG, $USER;
+    global $CFG, $USER, $CFG;
 
     $options = (array)$options;
     if (!isset($options['subdirs'])) {
@@ -351,6 +351,12 @@ function file_prepare_draft_area(&$draftitemid, $contextid, $component, $fileare
                 $fs->create_file_from_storedfile($file_record, $file);
             }
         }
+        if (!is_null($text)) {
+            // at this point there should not be any draftfile links yet,
+            // because this is a new text from database that should still contain the @@pluginfile@@ links
+            // this happens when developers forget to post process the text
+            $text = str_replace("\"$CFG->httpswwwroot/draftfile.php", "\"$CFG->httpswwwroot/brokenfile.php#", $text);
+        }
     } else {
         // nothing to do
     }
index 3a62e6a..795246f 100644 (file)
@@ -2537,7 +2537,7 @@ class settings_navigation extends navigation_node {
      *
      */
     public function initialise() {
-        global $DB;
+        global $DB, $SESSION;
 
         if (during_initial_install()) {
             return false;
@@ -2581,7 +2581,13 @@ class settings_navigation extends navigation_node {
         }
 
         $settings = $this->load_user_settings($this->page->course->id);
-        $admin = $this->load_administration_settings();
+
+        if (isloggedin() && !isguestuser() && (!property_exists($SESSION, 'load_navigation_admin') || $SESSION->load_navigation_admin)) {
+            $admin = $this->load_administration_settings();
+            $SESSION->load_navigation_admin = ($admin->has_children());
+        } else {
+            $admin = false;
+        }
 
         if ($context->contextlevel == CONTEXT_SYSTEM && $admin) {
             $admin->force_open();
@@ -2598,8 +2604,6 @@ class settings_navigation extends navigation_node {
             $this->add(get_string('returntooriginaluser', 'moodle', fullname($realuser, true)), $url, self::TYPE_SETTING, null, null, new pix_icon('t/left', ''));
         }
 
-        // Make sure the first child doesnt have proceed with hr set to true
-
         foreach ($this->children as $key=>$node) {
             if ($node->nodetype != self::NODETYPE_BRANCH || $node->children->count()===0) {
                 $node->remove();
index 2537afc..7d2ddc3 100644 (file)
@@ -1106,6 +1106,13 @@ function format_text($text, $format = FORMAT_MOODLE, $options = NULL, $courseid_
             $text = $filtermanager->filter_text($text, $context, array('originalformat' => $format));
             break;
     }
+    if ($options['filter']) {
+        // at this point there should not be any draftfile links any more,
+        // this happens when developers forget to post process the text.
+        // The only potential problem is that somebody might try to format
+        // the text before storing into database which would be itself big bug.
+        $text = str_replace("\"$CFG->httpswwwroot/draftfile.php", "\"$CFG->httpswwwroot/brokenfile.php#", $text);
+    }
 
     // Warn people that we have removed this old mechanism, just in case they
     // were stupid enough to rely on it.
index 4409bf9..4913c7a 100644 (file)
@@ -140,7 +140,7 @@ function message_print_participants($context, $courseid, $contactselecturl=null,
 
     $countparticipants = count_enrolled_users($context);
     $participants = get_enrolled_users($context, '', 0, 'u.*', '', $page*MESSAGE_CONTACTS_PER_PAGE, MESSAGE_CONTACTS_PER_PAGE);
-    
+
     $pagingbar = new paging_bar($countparticipants, $page, MESSAGE_CONTACTS_PER_PAGE, $PAGE->url, 'page');
     echo $OUTPUT->render($pagingbar);
 
@@ -527,7 +527,11 @@ function message_print_search($advancedsearch = false, $user1=null) {
 
     $doingsearch = false;
     if ($frm) {
-        $doingsearch = !empty($frm->combinedsubmit) || !empty($frm->keywords) || (!empty($frm->personsubmit) and !empty($frm->name));
+        if (confirm_sesskey()) {
+            $doingsearch = !empty($frm->combinedsubmit) || !empty($frm->keywords) || (!empty($frm->personsubmit) and !empty($frm->name));
+        } else {
+            $frm = false;
+        }
     }
 
     if (!empty($frm->combinedsearch)) {
@@ -1568,7 +1572,7 @@ function message_post_message($userfrom, $userto, $message, $format, $messagetyp
         $eventdata->fullmessage      = $message;
         $eventdata->fullmessagehtml  = '';
     }
-    
+
     $eventdata->fullmessageformat = $format;
     $eventdata->smallmessage     = strip_tags($message);//strip just in case there are is any html that would break the popup notification
 
@@ -1583,7 +1587,7 @@ function message_post_message($userfrom, $userto, $message, $format, $messagetyp
     if (!empty($eventdata->fullmessagehtml)) {
         $eventdata->fullmessagehtml .= "<br /><br />---------------------------------------------------------------------<br />".$emailtagline;
     }
-    
+
     $eventdata->timecreated     = time();
     return message_send($eventdata);
 }
@@ -1769,7 +1773,7 @@ function message_mark_messages_read($touserid, $fromuserid){
 */
 function message_mark_message_read($message, $timeread, $messageworkingempty=false) {
     global $DB;
-    
+
     $message->timeread = $timeread;
 
     $messageid = $message->id;
index e1e6120..edbe055 100644 (file)
@@ -3,7 +3,8 @@
 <table cellpadding="5" class="message_form">
     <tr>
         <td colspan="3" class="message_heading mdl-left">
-            <input type="text" name="combinedsearch" size="40" id="combinedsearch" value="<?php echo $combinedsearchstring; ?>" />
+            <input type="hidden" name="sesskey" value="<?php p(sesskey()); ?>" />
+            <input type="text" name="combinedsearch" size="40" id="combinedsearch" value="<?php p($combinedsearchstring); ?>" />
             <input type="submit" name="combinedsubmit" value="<?php print_string('searchcombined','message') ?>" />
             <a href="index.php?usergroup=<?php echo VIEW_SEARCH ?>&advanced=1" id="advancedcontactsearchlink"><?php print_string('advanced') ?></a>
         </td>
index 48fce17..e6fffc8 100644 (file)
@@ -9,13 +9,15 @@
     </tr>
     <tr>
         <td><label for="name"><?php print_string('name') ?></label></td>
-        <td><input type="text" name="name" size="40" id="name" value="<? echo $personsearch ?>" /></td>
+        <td><input type="text" name="name" size="40" id="name" value="<?php p($personsearch) ?>" /></td>
         <td><input type="submit" name="personsubmit" value="<?php print_string('searchforperson','message') ?>" /></td>
     </tr>
     <tr>
         <td>&nbsp;</td>
         <td colspan="2">
-            <input type="checkbox" name="mycourses" id="mycourses" /><label for="mycourses"><?php print_string('onlymycourses', 'message') ?></label></td>
+            <input type="checkbox" name="mycourses" id="mycourses" /><label for="mycourses"><?php print_string('onlymycourses', 'message') ?></label>
+            <input type="hidden" name="sesskey" value="<?php p(sesskey()); ?>" />
+        </td>
     </tr>
 
     <tr><td colspan="3"></td></tr>
@@ -26,7 +28,7 @@
     </tr>
     <tr>
         <td><label for="keywords"><?php print_string('keywords', 'message') ?></label></td>
-        <td><input type="text" name="keywords" id="keywords" size="40" value="<? echo $messagesearch ?>" /></td>
+        <td><input type="text" name="keywords" id="keywords" size="40" value="<?php p($messagesearch) ?>" /></td>
         <td><input type="submit" name="keywordssubmit" value="<?php print_string('searchmessages','message') ?>" /></td>
     </tr>
 
     <tr><td>&nbsp;</td><td colspan="2"><input type="radio" name="keywordsoption" id="keywordsoption4" value="allusers" /><label for="keywordsoption4"><?php print_string('allusers', 'message') ?></label></td></tr>
     <?php } ?>
 
-<?php
-/* Potential abuse problems - temporarily disabled
-    echo '<tr><td colspan="3"><input type="radio" name="keywordsoption" alt="'.get_string('allstudents', 'message').'" value="courseusers" />'.get_string('allstudents', 'message').'<br />&nbsp;&nbsp;&nbsp;'.$cs.'; </td></tr>';
-
-*/
-
-?>
-
 </table>
 </div>
 
index 2e7e543..acb9bd9 100644 (file)
@@ -48,8 +48,8 @@ $string['optonlyregradedattempts'] = 'that have been regraded / are marked as ne
 $string['overview'] = 'Grades';
 $string['overviewdownload'] = 'Overview download';
 $string['overviewreport'] = 'Grades report';
-$string['overviewreportgraph'] = 'Overall Number of Students Achieving Grade Ranges';
-$string['overviewreportgraphgroup'] = 'Number of Students in Group \'{$a}\' Achieving Grade Ranges';
+$string['overviewreportgraph'] = 'Overall number of students achieving grade ranges';
+$string['overviewreportgraphgroup'] = 'Number of students in group \'{$a}\' achieving grade ranges';
 $string['pagesize'] = 'Page size';
 $string['preferencespage'] = 'Preferences just for this page';
 $string['preferencessave'] = 'Show report';
index e8d60bc..45dc6b7 100644 (file)
@@ -24,7 +24,7 @@
  */
 
 $string['cannotloadoptions'] = 'Could not load question options';
-$string['pagesize'] = 'Page Size';
+$string['pagesize'] = 'Page size';
 $string['reportresponses'] = 'Responses';
 $string['responses'] = 'Responses';
 $string['responsesdownload'] = 'Responses download';
index 05bb69d..c64e535 100644 (file)
@@ -37,8 +37,8 @@ $string['cic'] = 'Coefficient of internal consistency (for {$a})';
 $string['count'] = 'Count';
 $string['coursename'] = 'Course name';
 $string['detailedanalysis'] = 'More detailed analysis of the responses to this question';
-$string['discrimination_index'] = 'Discrimination Index';
-$string['discriminative_efficiency'] = 'Discriminative Efficiency';
+$string['discrimination_index'] = 'Discrimination index';
+$string['discriminative_efficiency'] = 'Discriminative efficiency';
 $string['downloadeverything'] = 'Download full report as';
 $string['duration'] = 'Open for';
 $string['effective_weight'] = 'Effective weight';
@@ -70,10 +70,10 @@ $string['optiongrade'] = 'Partial credit';
 $string['position'] = 'Position';
 $string['positions'] = 'Position(s)';
 $string['questioninformation'] = 'Question information';
-$string['questionname'] = 'Question Name';
+$string['questionname'] = 'Question name';
 $string['questionnumber'] = 'Q#';
 $string['questionstatistics'] = 'Question statistics';
-$string['questiontype'] = 'Question Type';
+$string['questiontype'] = 'Question type';
 $string['quizinformation'] = 'Quiz information';
 $string['quizname'] = 'Quiz name';
 $string['quizoverallstatistics'] = 'Quiz overall statistics';
@@ -90,4 +90,4 @@ $string['statistics:componentname'] = 'Quiz statistics report';
 $string['statisticsreport'] = 'Statistics report';
 $string['statisticsreportgraph'] = 'Statistics for question positions';
 $string['statistics:view'] = 'View statistics report';
-$string['statsfor'] = 'Quiz Statistics (for {$a})';
+$string['statsfor'] = 'Quiz statistics (for {$a})';
index df04b0c..243c900 100644 (file)
@@ -53,7 +53,11 @@ function resource_20_migrate() {
         $siteid = get_site()->id;
         $fs = get_file_storage();
 
-        if (strpos($path, 'LOCALPATH') === 0) {
+        if (empty($candidate->cmid)) {
+            // skip borked records
+            continue;
+
+        } else if (strpos($path, 'LOCALPATH') === 0) {
             // ignore not maintained local files - sorry
             continue;
 
index a0a03c0..b8ac6f2 100644 (file)
@@ -346,4 +346,4 @@ function scorm_get_toc($user,$scorm,$toclink=TOCJSLINK,$currentorg='',$scoid='',
     $result->tocmenu = $OUTPUT->single_select($url, 'scoid', $tocmenus, $sco->id, null, "tocmenu");
 
     return $result;
-}
\ No newline at end of file
+}
index 874123a..496d541 100644 (file)
@@ -238,4 +238,4 @@ function scorm_get_toc($user,$scorm,$toclink=TOCJSLINK,$currentorg='',$scoid='',
     $result->tocmenu = $OUTPUT->single_select($url, 'scoid', $tocmenus, $sco->id, null, "tocmenu");
 
     return $result;
-}
\ No newline at end of file
+}
index f39dfea..9e74fcb 100644 (file)
@@ -23,6 +23,6 @@
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-$string['multianswer'] = 'Embedded Answers (Cloze)';
-$string['multianswer_help'] = 'Embedded Answers (Cloze) format enables the import of a passage of text with questions such as multiple-choice and short answer embedded within it.';
+$string['multianswer'] = 'Embedded answers (Cloze)';
+$string['multianswer_help'] = 'Embedded answers (Cloze) format enables the import of a passage of text with questions such as multiple-choice and short answer embedded within it.';
 $string['multianswer_link'] = 'question/type/multianswer';
index bd895b1..5f23265 100644 (file)
  */
 
 $string['addingcalculated'] = 'Adding a calculated question';
-$string['additem'] = 'Add Item';
+$string['additem'] = 'Add item';
 $string['addmoreanswerblanks'] = 'Add another answer blank.';
-$string['addmoreunitblanks'] = 'Blanks for {$a} More Units';
-$string['addsets'] = 'Add Set(s)';
+$string['addmoreunitblanks'] = 'Blanks for {$a} more units';
+$string['addsets'] = 'Add set(s)';
 $string['answerhdr'] = 'Answer';
 $string['answerstoleranceparam'] = 'Answers tolerance parameters';
 $string['atleastoneanswer'] = 'You need to provide at least one answer.';
@@ -48,8 +48,8 @@ $string['correctanswershowsformat'] = 'Format';
 $string['correctfeedback'] = 'For any correct response';
 $string['dataitemdefined']='with {$a} numerical values already defined is available';
 $string['datasetrole']= ' The wild cards <strong>{x..}</strong> will be substituted by a numerical value from their dataset';
-$string['deleteitem'] = 'Delete Item';
-$string['deletelastitem'] = 'Delete Last Item';
+$string['deleteitem'] = 'Delete item';
+$string['deletelastitem'] = 'Delete last item';
 $string['editingcalculated'] = 'Editing a Calculated question';
 $string['editdatasets'] = 'Edit the wildcards datasets';
 $string['editdatasets_help'] = 'Wildcard values may be created by entering a number in each wild card field then clicking the add button. To automatically generate 10 or more values, select the number of values required before clicking the add button. A uniform distribution means any value between the limits is equally likely to be generated; a loguniform distribution means that values towards the lower limit are more likely.';
@@ -60,13 +60,13 @@ $string['existingcategory3'] = 'a link from an already existing set of links tha
 $string['forceregeneration'] = 'force regeneration';
 $string['forceregenerationall'] = 'forceregeneration of all wildcards';
 $string['forceregenerationshared'] = 'forceregeneration of only non-shared wildcards';
-$string['getnextnow'] = 'Get New \'Item to Add\' Now';
+$string['getnextnow'] = 'Get new \'Item to Add\' now';
 $string['hexanotallowed'] = 'Dataset <strong>{$a->name}</strong> hexadecimal format value $a->value is not allowed' ;
 $string['incorrectfeedback'] = 'For any incorrect response';
 $string['item(s)'] = 'item(s)';
 $string['itemno'] = 'Item {$a}';
 $string['itemscount']='Items<br />Count';
-$string['itemtoadd'] = 'Item To Add';
+$string['itemtoadd'] = 'Item to add';
 $string['keptcategory1'] = 'will use the same existing shared dataset as before';
 $string['keptcategory2'] = 'a file from the same category reusable set of files as before';
 $string['keptcategory3'] = 'a link from the same category reusable set of links as before';
@@ -75,7 +75,7 @@ $string['keptlocal2'] = 'a file from the same question private set of files as b
 $string['keptlocal3'] = 'a link from the same question private set of links as before';
 $string['lastitem(s)'] = 'last items(s)';
 $string['loguniform'] = 'Loguniform';
-$string['makecopynextpage'] = 'Next Page (new question)';
+$string['makecopynextpage'] = 'Next page (new question)';
 $string['mandatoryhdr'] = 'Mandatory wild cards present in answers';
 $string['minmax'] = 'Range of Values';
 $string['mustbenumeric'] = 'You must enter a number here.';
@@ -87,7 +87,7 @@ $string['newlocal1'] = 'will use a new private dataset';
 $string['newlocal2'] = 'a file  from a new set of files that will only be used by this question';
 $string['newlocal3'] = 'a link from a new set of links that will only be used by this question';
 $string['nextitemtoadd'] = 'Next \'Item to Add\'';
-$string['nextpage'] = 'Next Page';
+$string['nextpage'] = 'Next page';
 $string['nocoherencequestionsdatyasetcategory'] = 'For question id {$a->qid}, the category id {$a->qcat} is not identical with the shared wild card {$a->name} category id {$a->sharedcat}. Edit the question.';
 $string['nocommaallowed'] = 'The , cannot be used, use . as in 0.013 or 1.3e-2' ;
 $string['nodataset'] = 'nothing - it is not a wild card';
index c7487e4..42e690e 100644 (file)
@@ -25,7 +25,7 @@
 
 $string['addingcalculatedmulti'] = 'Adding a Calculated multichoice question';
 $string['calculatedmulti'] = 'Calculated multichoice';
-$string['calculatedmultisummary'] = 'Calculated Multichoice questions are like multichoice questions which choice elements can include formula results from numeric values that are selected randomly from a set when the quiz is taken.';
-$string['calculatedmulti_help'] = 'Calculated Multichoice questions are like multichoice questions which in their choice elements can be included numerical formula results using wildcards in curly brackets that are substituted with individual values when the quiz is taken. For example, if the question "What is the area of a rectangle of length {l} and width {w}?" one of the choice is {={l}*{w}} (where * denotes multiplication). ';
+$string['calculatedmultisummary'] = 'Calculated multichoice questions are like multichoice questions which choice elements can include formula results from numeric values that are selected randomly from a set when the quiz is taken.';
+$string['calculatedmulti_help'] = 'Calculated multichoice questions are like multichoice questions which in their choice elements can be included numerical formula results using wildcards in curly brackets that are substituted with individual values when the quiz is taken. For example, if the question "What is the area of a rectangle of length {l} and width {w}?" one of the choice is {={l}*{w}} (where * denotes multiplication). ';
 $string['calculatedmulti_link'] = 'question/type/calculatedmulti';
-$string['editingcalculatedmulti'] = 'Editing a Calculated Multichoice question';
+$string['editingcalculatedmulti'] = 'Editing a Calculated multichoice question';
index b14a84f..092449d 100644 (file)
  * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  */
 
-$string['addingcalculatedsimple'] = 'Adding a Simple Calculated question';
+$string['addingcalculatedsimple'] = 'Adding a Simple calculated question';
 $string['atleastonewildcard'] = 'There must be at least one wild card <strong>{x..}</strong> present in the correct answer formulas';
-$string['calculatedsimple'] = 'Calculated Simple';
+$string['calculatedsimple'] = 'Calculated simple';
 $string['calculatedsimple_help'] = 'Simple calculated questions enable individual numerical questions to be created using wildcards that are substituted with individual values when the quiz is taken. Simple calculated questions offer the most used features of the calculated question with a simpler creation interface.';
 $string['calculatedsimple_link'] = 'question/type/calculatedsimple';
 $string['calculatedsimplesummary'] = 'A simpler version of calculated questions which are like numerical questions but with the numbers used selected randomly from a set when the quiz is taken.';
 $string['converttocalculated'] = 'Save as a new regular calculated question';
-$string['editingcalculatedsimple'] = 'Editing a Simple Calculated question';
+$string['editingcalculatedsimple'] = 'Editing a Simple calculated question';
 $string['findwildcards'] = 'Find the wild cards {x..} present in the correct answer formulas';
 $string['generatenewitemsset'] = 'Generate';
 $string['mustbenumeric'] = 'You must enter a number here.';
index 9f496d9..69f905b 100644 (file)
@@ -119,9 +119,9 @@ class question_edit_multianswer_form extends question_edit_form {
 
         $mform->addElement('submit', 'analyzequestion', get_string('decodeverifyquestiontext','qtype_multianswer'));
         $mform->registerNoSubmitButton('analyzequestion');
-        echo '<div class="ablock clearfix">';
-        echo '<div class=" clearfix">';
         if ( $this->reload ){
+            $mform->addElement('html', '<div class="ablock clearfix">');
+            $mform->addElement('html', '<div class=" clearfix">');
             for ($sub =1;$sub <=$countsubquestions ;$sub++) {
 
                 $this->editas[$sub] =  'unknown type';
@@ -170,7 +170,7 @@ class question_edit_multianswer_form extends question_edit_form {
                 }
 
             }
-            echo '</div>';
+            $mform->addElement('html', '</div>');
             $this->negative_diff =$countsavedsubquestions - $countsubquestions ;
             if ( ($this->negative_diff > 0 ) ||$this->qtype_change || ($this->used_in_quiz && $this->negative_diff != 0)){
                 $mform->addElement('header', 'additemhdr', get_string('warningquestionmodified','qtype_multianswer'));
@@ -182,7 +182,7 @@ class question_edit_multianswer_form extends question_edit_form {
             if($this->qtype_change ) {
                 $mform->addElement('static', 'alert1', "<strong>".get_string('questiontypechanged','qtype_multianswer')."</strong>",get_string('questiontypechangedcomment','qtype_multianswer'));
             }
-            echo '</div>';
+            $mform->addElement('html', '</div>');
         }
         if( $this->used_in_quiz){
             if($this->negative_diff < 0) {
index 41a2b32..66b6b91 100644 (file)
  */
 
 $string['addingmultianswer'] = 'Adding an Embedded answers (Cloze) question';
-$string['confirmquestionsaveasedited'] = ' I confirm that I want the question to be saved as edited';
+$string['confirmquestionsaveasedited'] = 'I confirm that I want the question to be saved as edited';
 $string['confirmsave'] = 'Confirm then save {$a}';
-$string['correctanswer'] = 'Correct Answer';
-$string['correctanswerandfeedback'] = 'Correct Answer and Feedback';
-$string['decodeverifyquestiontext'] = 'Decode and Verify the Question Text';
+$string['correctanswer'] = 'Correct answer';
+$string['correctanswerandfeedback'] = 'Correct answer and feedback';
+$string['decodeverifyquestiontext'] = 'Decode and verify the question text';
 $string['editingmultianswer'] = 'Editing an Embedded answers (Cloze) question';
 $string['layout'] = 'Layout';
 $string['layouthorizontal'] = 'Horizontal row of radio-buttons';
@@ -42,7 +42,7 @@ $string['multianswer_link'] = 'question/type/multianswer';
 $string['nooptionsforsubquestion'] = 'Unable to get options for question part # {$a->sub} (question->id={$a->id})';
 $string['noquestions'] = 'The Cloze(multianswer) question "<strong>{$a}</strong>" does not contain any question';
 $string['qtypenotrecognized'] = 'questiontype {$a} not recognized';
-$string['questionnadded'] = '"Question added "';
+$string['questionnadded'] = 'Question added';
 $string['questiondefinition'] = 'Question definition';
 $string['questiondeleted'] = 'Question deleted' ;
 $string['questioninquiz'] = '
@@ -58,7 +58,7 @@ $string['questionsmore'] = '{$a} question(s) more than in the multianswer questi
 $string['questionnotfound'] = 'Unable to find question of question part #{$a}';
 $string['questionsaveasedited'] = 'The question will be saved as edited';
 $string['questiontypechanged'] = 'Question type changed';
-$string['questiontypechangedcomment'] = ' At least one question type has been changed.<br \> Did you add, delete or move a question? <br \>Look ahead. ';
+$string['questiontypechangedcomment'] = 'At least one question type has been changed.<br \>Did you add, delete or move a question?<br \>Look ahead.';
 $string['questionusedinquiz'] = 'This question is used in {$a->nb_of_quiz} quiz(s), total attempt(s) : {$a->nb_of_attempts} ';
 $string['unknownquestiontypeofsubquestion'] = 'Unknown question type: {$a->type} of question part # {$a->sub}';
 $string['warningquestionmodified'] = '<b>WARNING</b>' ;
index bc00a31..62198af 100644 (file)
@@ -51,7 +51,7 @@ $string['multichoice_link'] = 'question/type/multichoice';
 $string['multichoicesummary'] = 'Allows the selection of a single or multiple responses from a pre-defined list.';
 $string['notenoughanswers'] = 'This type of question requires at least {$a} choices';
 $string['overallcorrectfeedback'] = 'Feedback for any correct response';
-$string['overallfeedback'] = 'Overall Feedback';
+$string['overallfeedback'] = 'Overall feedback';
 $string['overallincorrectfeedback'] = 'Feedback for any incorrect response';
 $string['overallpartiallycorrectfeedback'] = 'Feedback for any partially correct response';
 $string['partiallycorrectfeedback'] = 'For any partially correct response';
index 0da0fc5..a2d354c 100755 (executable)
@@ -52,7 +52,12 @@ $saveas_path   = optional_param('savepath', '/', PARAM_PATH);   // save as file
 $search_text   = optional_param('s', '', PARAM_CLEANHTML);
 $linkexternal  = optional_param('linkexternal', '', PARAM_ALPHA);
 
-@header('Content-type: text/plain; charset=utf-8');
+list($context, $course, $cm) = get_context_info_array($contextid);
+require_login($course, false, $cm);
+$PAGE->set_context($context);
+
+echo $OUTPUT->header(); // send headers
+@header('Content-type: text/html; charset=utf-8');
 
 // if uploaded file is larger than post_max_size (php.ini) setting, $_POST content will lost
 if (empty($_POST) && !empty($action)) {
@@ -60,12 +65,6 @@ if (empty($_POST) && !empty($action)) {
     die(json_encode($err));
 }
 
-list($context, $course, $cm) = get_context_info_array($contextid);
-require_login($course, false, $cm);
-$PAGE->set_context($context);
-
-echo $OUTPUT->header(); // send headers
-
 if (!confirm_sesskey()) {
     $err->error = get_string('invalidsesskey');
     die(json_encode($err));
index f7c551f..87037cf 100644 (file)
@@ -245,6 +245,21 @@ h2.headingblock {
     margin-top:30px;
 }
 
+/*YUI Reset */
+/*full menu bar */
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-content {
+    background: none !important;
+}
+/*single items */
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label {
+    background: none !important;
+}
+/*active items */
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label-active, .yui3-skin-sam .yui3-menu-horizontal .yui3-menuitem-active .yui3-menuitem-content, .yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label-menuvisible {
+    background: #f9f9f9 !important;
+    border-color:inherit;
+}
+
 #custommenu .yui3-menu-horizontal,
 #custommenu .yui3-menu-horizontal.javascript-disabled {
     padding-left:100px;
@@ -302,6 +317,6 @@ h2.headingblock {
 }
 
 #custommenu .yui3-menu-horizontal.javascript-disabled .yui3-menu-content li li:hover,
-.yui3-skin-sam #custommenu .yui3-menu .yui3-menuitem.yui3-menuitem-active .yui3-menuitem-content {
-    background-color:#FFF;
+.yui3-skin-sam #custommenu .yui3-menu .custom_menu_submenu .yui3-menuitem.yui3-menuitem-active .yui3-menuitem-content, #custommenu .yui3-menu-horizontal .custom_menu_submenu .yui3-menu-content .yui3-menu-label-active {
+    background-color:#FFF !important;
 }
\ No newline at end of file
index 7b2bb7d..d1cffed 100644 (file)
 
 .path-course .clearfloat {float:none; clear:both;height:0px;}
 
+
+/*all courses view*/
+#page-course-index .categorylist .course.clearfloat { height: auto; }
+
 /** 
 * Overide for RTL layout
 */
index 9a37fb8..9acf4cd 100644 (file)
@@ -12,7 +12,6 @@ body,h1,h2,h3,h4,h5,h6,p,ul,ol,dl,input,textarea {
   font-family:"Trebuchet MS", Helvetica, Arial, sans-serif;
 }
 
-
 #wrapper {
     margin: 25px 75px;
     background: #fff;
@@ -169,8 +168,8 @@ fieldset#general {
 }
 
 #footer {
-       color: #fff;
-       text-align: center;
+    color: #fff;
+    text-align: center;
 }
 /* Dock
 -----------------------------*/
@@ -261,7 +260,7 @@ body.has_dock {
 }
 
 .myclear {
-clear: both;
+    clear: both;
 }
 
 .has-custom-menu #page-header .headermain {
@@ -277,6 +276,25 @@ clear: both;
     border-width:0;
 }
 
+/*YUI Reset */
+/*full menu bar */
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-content {
+    background: none !important;
+}
+/*single items */
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label {
+    background: none !important;
+}
+/*active items */
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label-active, .yui3-skin-sam .yui3-menu-horizontal .yui3-menuitem-active .yui3-menuitem-content, .yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label-menuvisible {
+    background: none !important;
+    border-color:inherit;
+}
+
+.yui3-menuitem, .yui3-menuitem .yui3-menuitem-content {
+    border: none !important;
+}
+
 #custommenu .yui3-menu-horizontal .yui3-menu-content ul ul,
 #custommenu .yui3-menu-horizontal.javascript-disabled .yui3-menu-content ul ul {
     background-color:#F9F9F9;
@@ -284,8 +302,8 @@ clear: both;
     border-top-width:0;
 }
 
-#custommenu .yui3-menu-horizontal .yui3-menu-content .yui3-menu-label {
-    color:#FFF;
+#custommenu .yui3-menu-horizontal .yui3-menu-content .yui3-menu-label, .yui3-menuitem .yui3-menuitem-content, .yui3-menuitem {
+    color:#FFF !important;
 }
 
 .yui3-skin-sam #custommenu .yui3-menu-content,
@@ -293,28 +311,25 @@ clear: both;
     padding:0;
 }
 
-#custommenu .custom_menu_submenu .yui3-menu-content .yui3-menu-label  {
-       color: #000;
+#custommenu .custom_menu_submenu .yui3-menu-content .yui3-menu-label, .custom_menu_submenu .yui3-menuitem .yui3-menuitem-content {
+    color: #000 !important;
 }
 
 #custommenu .yui3-menu-horizontal.javascript-disabled .yui3-menu-content li li:hover,
 #custommenu .yui3-menu-horizontal.javascript-disabled .yui3-menu-content li li:hover a,
-.yui3-skin-sam #custommenu .yui3-menu .yui3-menuitem.yui3-menuitem-active .yui3-menuitem-content {
-    background-color:#F14E16;
-    color:#FFF;
+.yui3-skin-sam #custommenu .yui3-menu .custom_menu_submenu .yui3-menuitem.yui3-menuitem-active .yui3-menuitem-content {
+    background-color:#F14E16 !important;
+    color:#FFF !important;
 }
 
 .yui3-skin-sam .yui3-menu-label-active,
 .yui3-skin-sam .yui3-menu-label-menuvisible,
 .yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-label-active,
-.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-label-menuvisible {
-       background-color:#F14E16;
+.yui3-skin-sam .yui3-menu .yui3-menu .yui3-menu-label-menuvisible, #custommenu .custom_menu_submenu .yui3-menu-content .yui3-menu-label-active, #custommenu .custom_menu_submenu .yui3-menu-content .yui3-menu-label-menuvisible {
+    background-color:#F14E16 !important;
     color:#FFF !important;
 }
 
-
-
-
 #custommenu .yui3-menu-horizontal .yui3-menu-content li a {
     cursor:pointer;
 }
index ddcd9a3..ccc1ffc 100644 (file)
@@ -36,7 +36,7 @@ a:focus {
     width: 100%;
 }
 
-#header {
+div#header {
     width: 91%;
     min-width: 910px;
     height: 30px;
index b01e5ef..b352752 100644 (file)
@@ -103,7 +103,7 @@ body {margin:auto 0px;width:auto;}
 }
 
 .side-post-only #page-content #region-post {
-    left: [[setting:regionpostwidth]];
+    left: [[setting:regionsumwidth]];
     width: [[setting:regionpostwidth]];
 }
 
index cb7248e..ef94602 100644 (file)
 /* Global
 --------------------------*/
-
 body {
-       background: #fff;
-       margin: 0;
-       padding: 0;
-       color: #281f18;
+    background: #fff;
+    margin: 0;
+    padding: 0;
+    color: #281f18;
 }
 
 html {
-       height: 100%;
+    height: 100%;
 }
 body {
-       margin: 0;
-       padding: 0;
-       height: 100%;
+    margin: 0;
+    padding: 0;
+    height: 100%;
 }
 
 body,h1,h2,h3,h4,h5,h6,p,ul,ol,dl,input,textarea {
-  font-family: 'Myriad Pro', 'Myriad', helvetica, arial, sans-serif; 
+    font-family: 'Myriad Pro', 'Myriad', helvetica, arial, sans-serif;
 }
 
 .wrapper {
-       margin: 0 35px;
-       min-width: 910px;
+    margin: 0 35px;
+    min-width: 910px;
 }
 
 a:hover,a:active {
-       color: #000;
+    color: #000;
 }
 
 a img {
-       border: none;
+    border: none;
 }
 
 a:active {
-       outline: none;
+    outline: none;
 }
 
 /* Header
 ---------------------------*/
-
 #page-header {
-       background: #333;
-       color: #fff;
-       height: 30px;
-       z-index: 99999;
-       position: relative;
+    background: #333;
+    color: #fff;
+    height: 30px;
+    z-index: 99999;
+    position: relative;
 }
 
 #page-header div.headermenu {
-       height: 30px;
-       padding-bottom: 0px;
-       margin-bottom: 0px;
-       padding-top: 0px;
-       margin-top: 0px;
-       line-height: 30px;
+    height: 30px;
+    padding-bottom: 0px;
+    margin-bottom: 0px;
+    padding-top: 0px;
+    margin-top: 0px;
+    line-height: 30px;
 }
+
 #page-header a:link,
 #page-header a:visited {
-       color: #fff;
-       text-decoration: underline;
+    color: #fff;
+    text-decoration: underline;
 }
 
-
 #newheader {
-       height: 100px;
-       position: relative;
+    height: 100px;
+    position: relative;
 }
 
 #newheaderleft {
-       height: 100px;
-       width: 50px;
-       position: absolute;
-       left: -50px;
+    height: 100px;
+    width: 50px;
+    position: absolute;
+    left: -50px;
 }
+
 h1.headermain {
-       margin-left: 0px;
-       padding-left: 0px;
-       color: #fff;
-       margin-top: 35px;
-       font-family: 'Myriad Pro', 'Myriad', helvetica, arial, sans-serif;  
-       text-shadow: 2px 3px 3px #292929;  
-       letter-spacing: -1px;  
-       -webkit-text-stroke: 1px white;  
+    margin-left: 0px;
+    padding-left: 0px;
+    color: #fff;
+    margin-top: 35px;
+    font-family: 'Myriad Pro', 'Myriad', helvetica, arial, sans-serif;
+    text-shadow: 2px 3px 3px #292929;
+    letter-spacing: -1px;
+    -webkit-text-stroke: 1px white;
 }
 
 #region-main-box {
-       background: #eee;
+    background: #eee;
 }
 
 #region-post-box {
-       background: #fff;
+    background: #fff;
 }
 
 #page-footer {
-       background: #333;
-       color: #fff;
+    background: #333;
+    color: #fff;
 }
 
 #page-content, #region-main-box, #region-main-wrap, #page-content-wrapper, #top, div.region-content {
-       min-height: 100%;
-       position: relative;
+    min-height: 100%;
+    position: relative;
 }
 
 #region-main-box {
-       -webkit-box-shadow: 6px 0px 8px #ccc;
-       -moz-box-shadow: 6px 0px 8px #ccc;
-       box-shadow: 6px 0px 8px #ccc;
+    -webkit-box-shadow: 6px 0px 8px #ccc;
+    -moz-box-shadow: 6px 0px 8px #ccc;
+    box-shadow: 6px 0px 8px #ccc;
  }
  
  #region-main {
-       -webkit-box-shadow: 6px 0px 8px #ccc;
-       -moz-box-shadow: 6px 0px 8px #ccc;
-       box-shadow: 6px 0px 8px #ccc;
+    -webkit-box-shadow: 6px 0px 8px #ccc;
+    -moz-box-shadow: 6px 0px 8px #ccc;
+    box-shadow: 6px 0px 8px #ccc;
  }
 
 .side-pre-only  #region-main, .content-only #region-main, .content-only #region-main-box  {
-       -webkit-box-shadow: none;
-       -moz-box-shadow: none;
-       box-shadow: none;
+    -webkit-box-shadow: none;
+    -moz-box-shadow: none;
+    box-shadow: none;
  }
  
 /* Navbar
 --------------------------*/
-
 .navbar {
-       margin-top: 10px;
-       
+    margin-top: 10px;
 }
 
 .navbar .wrapper {
-       margin-left: 0px !important;
-       padding-left: 0px !important;
-
+    margin-left: 0px !important;
+    padding-left: 0px !important;
 }
 
 .breadcrumb .sep {
-       color: #777;
-       font-size: 0.8em;
+    color: #777;
+    font-size: 0.8em;
 }
 
 .navbutton {
-       margin-top: 40px;
-       margin-right: 10px;
-       font-size: 12px;
+    margin-top: 40px;
+    margin-right: 10px;
+    font-size: 12px;
 }
 
-
 /* Blocks
 ---------------------------*/
-
 .block {
-       border: none;
-       margin-bottom: 25px;
+    border: none;
+    margin-bottom: 25px;
 }
 
 .block .header {
-       border-bottom:none;
-       text-transform: uppercase;
+    border-bottom:none;
+    text-transform: uppercase;
 }
 
 .block.hidden .header {
-       border-top: 1px solid #dadada;
-       border-bottom: 1px solid #dadada;
+    border-top: 1px solid #dadada;
+    border-bottom: 1px solid #dadada;
 }
 .block .title h2 {
-       font-weight: normal;
-       font-size: 1.1em;
-       margin: 0;
+    font-weight: normal;
+    font-size: 1.1em;
+    margin: 0;
 }
 
 .block .content {
-       font-size: 0.95em;
+    font-size: 0.95em;
 }
 
 .
 /* Forums
 ---------------------------*/
-
 .forumpost .subject {
-       font-size: 1.2em;
+    font-size: 1.2em;
 }
 
 .forumpost .author {
-       font-size: 0.9em;
+    font-size: 0.9em;
 }
 
 .forumpost .content {
-  border-bottom:5px solid #aaa;
-  padding:5px 7px 10px 7px;
+    border-bottom:5px solid #aaa;
+    padding:5px 7px 10px 7px;
 }
 
 .forumpost .topic {
-       background: #eee;
-       border-bottom: 1px solid #aaa;
+    background: #eee;
+    border-bottom: 1px solid #aaa;
 }
 
 /* Course
 -------------------------------*/
-
 .course-content .main {
-       border: 1px solid #eee;
-       background: #eee;
+    border: 1px solid #eee;
+    background: #eee;
 }
 
 .course-content .current {
-       background: #1f5480;
-       color: #fff;
+    background: #1f5480;
+    color: #fff;
 }
 
 .course-content .main .content {
-       background: #fff;
+    background: #fff;
 }
 
 /* YUI Menu
 -------------------------------*/
-
 #custommenu {
-       width: 70%;
-       float: left;
+    width: 60%;
+    float: left;
+}
+
+/*YUI Reset */
+/*full menu bar */
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-content {
+    background: none !important;
+}
+/*single items */
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label {
+    background: none !important;
+}
+/*active items */
+.yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label-active, .yui3-skin-sam .yui3-menu-horizontal .yui3-menuitem-active .yui3-menuitem-content, .yui3-skin-sam .yui3-menu-horizontal .yui3-menu-label-menuvisible {
+    background: #666 !important;
+    border-color:inherit;
 }
 
 div.yui3-menu-content {
-       border: none !important;
+    border: none !important;
 }
 
 .yui3-menu-content li a {
-       font-size: 11px;
-       font-weight: 200;
-       line-height: 30px;
-       text-transform: uppercase;
-       cursor: pointer;
-       border-right: none !important;
-       border-top: none !important;
-       border-bottom: none !important;
-       text-decoration: none !important;
-       margin-left: 0px !important;
-       padding-left: 0px !important;
-       margin-right: 10px !important;
+    font-size: 11px;
+    font-weight: 200;
+    line-height: 30px;
+    text-transform: uppercase;
+    cursor: pointer;
+    border-right: none !important;
+    border-top: none !important;
+    border-bottom: none !important;
+    text-decoration: none !important;
+    margin-left: 0px !important;
+    padding-left: 0px !important;
+    margin-right: 10px !important;
+    padding-left: 5px !important;
 }
 
 .yui3-menu-content li a:hover {
-       text-decoration: underline;
+    text-decoration: underline;
 }
 
 div.custom_menu_submenu li a {
-       line-height: 30px;
-       text-shadow: none !important;
-       color: #333 !important;
-       margin-left: 5px !important;
+    line-height: 30px;
+    text-shadow: none !important;
+    color: #fff !important;
+    margin-left: 5px !important;
+}
+
+.custom_menu_submenu {
+    background: #333;
 }
 
 div.firstdockitem {
-       margin-top: 30px;
+    margin-top: 30px;
 }
 
-.headermenu .logininfo, .headermenu div, .headermenu form {
-       display: inline; 
+.headermenu .logininfo, .headermenu .langmenu, .headermenu .langmenu div, .headermenu .langmenu form, .headermenu .langmenu select, .headermenu .langmenu label {
+    display: inline !important;
 }
 
 .headermenu .logininfo {
-       padding-right: 5px;
+    padding-right: 5px;
 }
\ No newline at end of file
index d83271a..05e4655 100644 (file)
@@ -131,10 +131,14 @@ class profile_field_base {
         $errors = array();
         /// Check for uniqueness of data if required
         if ($this->is_unique()) {
-            if ($userid = $DB->get_field('user_info_data', 'userid', array('fieldid'=>$this->field->id, 'data'=>$usernew->{$this->inputname}))) {
-                if ($userid != $usernew->id) {
-                    $errors["{$this->inputname}"] = get_string('valuealreadyused');
-                }
+            $userid = $DB->get_field_sql('
+                    SELECT userid
+                      FROM {user_info_data}
+                     WHERE fieldid = ?
+                       AND ' . $DB->sql_compare_text('data') . ' = ?',
+                    array($this->field->id, $usernew->{$this->inputname}));
+            if ($userid && $userid != $usernew->id) {
+                $errors[$this->inputname] = get_string('valuealreadyused');
             }
         }
         return $errors;