MDL-54073 tool_lp: Unescape PARAM_TEXT properties in templates
authorJun Pataleta <jun@moodle.com>
Fri, 6 May 2016 07:52:45 +0000 (15:52 +0800)
committerJun Pataleta <jun@moodle.com>
Thu, 12 May 2016 03:24:51 +0000 (11:24 +0800)
Use triple-curly brackets to unescape the PARAM_TEXT properties in
templates.
Changed idnumber's type to PARAM_RAW for frameworks and competencies.

28 files changed:
admin/tool/lp/classes/form/competency.php
admin/tool/lp/classes/form/competency_framework.php
admin/tool/lp/templates/competencies_move_tree.mustache
admin/tool/lp/templates/competencies_tree.mustache
admin/tool/lp/templates/competencies_tree_root.mustache
admin/tool/lp/templates/competency_path.mustache
admin/tool/lp/templates/competency_picker.mustache
admin/tool/lp/templates/competency_picker_competencyform.mustache
admin/tool/lp/templates/competency_plan_navigation.mustache
admin/tool/lp/templates/competency_rule_points.mustache
admin/tool/lp/templates/competency_summary.mustache
admin/tool/lp/templates/course_competencies_page.mustache
admin/tool/lp/templates/course_competency_statistics.mustache
admin/tool/lp/templates/manage_competencies_page.mustache
admin/tool/lp/templates/manage_competency_frameworks_page.mustache
admin/tool/lp/templates/manage_templates_page.mustache
admin/tool/lp/templates/plan_page.mustache
admin/tool/lp/templates/plans_page.mustache
admin/tool/lp/templates/related_competencies.mustache
admin/tool/lp/templates/template_competencies_page.mustache
admin/tool/lp/templates/template_statistics.mustache
admin/tool/lp/templates/user_competency_course_navigation.mustache
admin/tool/lp/templates/user_evidence_list_page.mustache
admin/tool/lp/templates/user_evidence_page.mustache
admin/tool/lpmigrate/templates/migrate_frameworks_results.mustache
competency/classes/competency.php
competency/classes/competency_framework.php
report/competency/templates/report.mustache

index 915ea6f..32136bc 100644 (file)
@@ -102,7 +102,7 @@ class competency extends persistent {
         $mform->setType('description', PARAM_RAW);
         // ID number.
         $mform->addElement('text', 'idnumber', get_string('idnumber', 'tool_lp'), 'maxlength="100"');
-        $mform->setType('idnumber', PARAM_TEXT);
+        $mform->setType('idnumber', PARAM_RAW);
         $mform->addRule('idnumber', null, 'required', null, 'client');
         $mform->addRule('idnumber', get_string('maximumchars', '', 100), 'maxlength', 100, 'client');
 
index 6dde66c..6d4b6bc 100644 (file)
@@ -65,7 +65,7 @@ class competency_framework extends persistent {
         $mform->setType('description', PARAM_RAW);
         // ID number.
         $mform->addElement('text', 'idnumber', get_string('idnumber', 'tool_lp'), 'maxlength="100"');
-        $mform->setType('idnumber', PARAM_TEXT);
+        $mform->setType('idnumber', PARAM_RAW);
         $mform->addRule('idnumber', null, 'required', null, 'client');
         $mform->addRule('idnumber', get_string('maximumchars', '', 100), 'maxlength', 100, 'client');
 
index 0a51aef..d6ae8e6 100644 (file)
@@ -31,7 +31,7 @@
 
 <ul data-enhance="movetree" style="display: none;">
     <li>
-        <span>{{framework.shortname}}</span>
+        <span>{{{framework.shortname}}}</span>
         <ul>
             {{#competencies}}
                 {{> tool_lp/competencies_tree }}
index 5e30b8a..75c2282 100644 (file)
@@ -1,12 +1,12 @@
 <li data-id="{{id}}">
     {{#canmanage}}
     <span draggable="true">
-        {{shortname}}
+        {{{shortname}}}
     </span>
     {{/canmanage}}
     {{^canmanage}}
     <span>
-        {{shortname}}
+        {{{shortname}}}
     </span>
     {{/canmanage}}
     {{#haschildren}}
index c163870..d138fe1 100644 (file)
@@ -1,5 +1,5 @@
 <ul data-enhance="tree">
-    <li><span>{{shortname}}</span>
+    <li><span>{{{shortname}}}</span>
         <ul>
             {{#competencies}}
                 {{> tool_lp/competencies_tree }}
index 01e21c6..f756098 100644 (file)
 }}
 <nav id="competency-path-{{uniqid}}">
     <small>
-        <a href="{{pluginbaseurl}}/competencies.php?competencyframeworkid={{framework.id}}&pagecontextid={{pagecontextid}}" >{{framework.name}}</a>
+        <a href="{{pluginbaseurl}}/competencies.php?competencyframeworkid={{framework.id}}&pagecontextid={{pagecontextid}}" >{{{framework.name}}}</a>
         /
         {{#ancestors}}
-            <a data-action="competency-dialogue" href="#" data-id="{{id}}">{{name}}</a>
+            <a data-action="competency-dialogue" href="#" data-id="{{id}}">{{{name}}}</a>
             {{^last}}<span> / </span>{{/last}}
         {{/ancestors}}
     </small>
index fcb4464..916522b 100644 (file)
@@ -3,7 +3,7 @@
 <h3>{{#str}}competencyframeworks, tool_lp{{/str}}</h3>
 <select data-action="chooseframework">
 {{#frameworks}}
-<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{shortname}} <em>{{idnumber}}</em></option>
+<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{shortname}}} <em>{{idnumber}}</em></option>
 {{/frameworks}}
 </select>
 {{/singleFramework}}
@@ -15,7 +15,7 @@
     <button>{{#pix}}a/search, ,{{#str}}search{{/str}}{{/pix}}</button>
 </form>
 <ul data-enhance="linktree" style="display: none;">
-    <li><span>{{framework.shortname}}</span>
+    <li><span>{{{framework.shortname}}}</span>
         <ul>
             {{#competencies}}
                 {{> tool_lp/competencies_tree }}
index f3f1ca0..e255dfd 100644 (file)
@@ -7,7 +7,7 @@
     <button>{{#pix}}a/search, ,{{#str}}search{{/str}}{{/pix}}</button>
 </form>
 <ul data-enhance="linktree" style="display: none;">
-    <li data-id="0"><span>{{framework.shortname}}</span>
+    <li data-id="0"><span>{{{framework.shortname}}}</span>
         <ul>
             {{#competencies}}
                 {{> tool_lp/competencies_tree }}
index 490d1b8..d3eb766 100644 (file)
@@ -4,7 +4,7 @@
 <label for="competency-nav-{{uniqid}}" class="accesshide">{{#str}}jumptocompetency, tool_lp{{/str}}</label>
 <select id="competency-nav-{{uniqid}}">
 {{#competencies}}
-<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{shortname}} {{idnumber}}</option>
+<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{shortname}}} {{idnumber}}</option>
 {{/competencies}}
 </select>
 </span>
index ec8c60f..907e731 100644 (file)
         <tbody>
             {{#children}}
             <tr data-competency="{{id}}">
-                <th scope="row">{{shortname}}</th>
-                <td><input type="number" min="0" value="{{points}}" name="points" aria-label="{{#str}}pointsgivenfor, tool_lp, {{competency.shortname}}{{/str}}"></td>
-                <td><input type="checkbox" value="1" name="required" {{#required}}checked{{/required}} aria-label="{{#str}}aisrequired, tool_lp, {{competency.shortname}}{{/str}}"></td>
+                <th scope="row">{{{shortname}}}</th>
+                <td>
+                    <label class="accesshide" for="pointsforcompetency-{{id}}">{{#str}}pointsgivenfor, tool_lp, {{{competency.shortname}}}{{/str}}</label>
+                    <input id="pointsforcompetency-{{id}}" type="number" min="0" value="{{points}}" name="points" />
+                </td>
+                <td>
+                    <label class="accesshide" for="competency-{{id}}-isrequired">{{#str}}aisrequired, tool_lp, {{{competency.shortname}}}{{/str}}</label>
+                    <input id="competency-{{id}}-isrequired" type="checkbox" value="1" name="required" {{#required}}checked{{/required}} />
+                </td>
             </tr>
             {{/children}}
         </tbody>
index 918b6ff..b1bca28 100644 (file)
@@ -1,10 +1,10 @@
 <div class='competency-heading'>
-    <h4 id="competency_link_{{competency.id}}">{{competency.shortname}}
+    <h4 id="competency_link_{{competency.id}}">{{{competency.shortname}}}
         <small>{{competency.idnumber}}</small>
     </h4>
     {{#framework}}
         <div class='competency-origin'>
-            <p><small>{{framework.shortname}} - {{taxonomyterm}}</small>
+            <p><small>{{{framework.shortname}}} - {{taxonomyterm}}</small>
         </div>
     {{/framework}}
 </div>
index 0a65312..963f019 100644 (file)
@@ -66,7 +66,7 @@
             <a href="{{pluginbaseurl}}user_competency_in_course.php?courseid={{courseid}}&competencyid={{competency.id}}&userid={{gradableuserid}}"
                    id="competency-info-link-{{competency.id}}"
                    title="{{#str}}viewdetails, tool_lp{{/str}}">
-                <p><strong>{{competency.shortname}} <em>{{competency.idnumber}}</em></strong></p>
+                <p><strong>{{{competency.shortname}}} <em>{{competency.idnumber}}</em></strong></p>
             </a>
             <p>{{{competency.description}}}</p>
         {{/competency}}
index 9202052..e57159b 100644 (file)
@@ -68,7 +68,7 @@
         <div>
             {{#leastproficient}}
                 <a href="#competency-info-link-{{id}}">
-                <div><p>{{shortname}} <em>{{idnumber}}</em></p></div>
+                <div><p>{{{shortname}}} <em>{{idnumber}}</em></p></div>
                 </a>
             {{/leastproficient}}
         </div>
index f0b656f..fce2b3d 100644 (file)
@@ -32,7 +32,7 @@
 }}
 <div data-region="managecompetencies">
 <h2>
-    {{framework.shortname}}
+    {{{framework.shortname}}}
     {{#canmanage}}
             <a href="{{pluginbaseurl}}/editcompetencyframework.php?id={{framework.id}}&pagecontextid={{pagecontextid}}&return=competencies">{{#pix}}t/edit, core, {{#str}}editcompetencyframework, tool_lp{{/str}}{{/pix}}</a>
     {{/canmanage}}
@@ -121,7 +121,7 @@ require(['tool_lp/tree', 'tool_lp/competencytree', 'tool_lp/competencyactions',
         function(ariatree, treeModel, actions, $) {
 
     treeModel.init({{framework.id}},
-                   '{{framework.shortname}}',
+                   {{#quote}} {{{framework.shortname}}} {{/quote}},
                    '{{search}}',
                    '[data-enhance=tree]',
                    {{canmanage}});
index ee99906..93c7605 100644 (file)
@@ -52,7 +52,7 @@
     <tbody class="drag-parentnode">
         {{#competencyframeworks}}
         <tr class="drag-samenode" data-frameworkid="{{id}}">
-            <td><span class="drag-handlecontainer"></span><span><a href="{{pluginbaseurl}}/competencies.php?competencyframeworkid={{id}}&amp;pagecontextid={{pagecontextid}}">{{shortname}} ({{idnumber}})</a></span> {{^visible}}{{#str}}hiddenhint, tool_lp{{/str}}{{/visible}}</td>
+            <td><span class="drag-handlecontainer"></span><span><a href="{{pluginbaseurl}}/competencies.php?competencyframeworkid={{id}}&amp;pagecontextid={{pagecontextid}}">{{{shortname}}} ({{idnumber}})</a></span> {{^visible}}{{#str}}hiddenhint, tool_lp{{/str}}{{/visible}}</td>
             <td>{{competenciescount}}</td>
             <td>{{contextnamenoprefix}}</td>
             <td>
index 82d2b76..bb5fc34 100644 (file)
@@ -53,7 +53,7 @@
     <tbody class="drag-parentnode">
         {{#templates}}
         <tr class="drag-samenode" data-templateid="{{id}}">
-            <td><a href="{{pluginbaseurl}}/templatecompetencies.php?templateid={{id}}&amp;pagecontextid={{pagecontextid}}">{{shortname}}</a></span> {{^visible}}{{#str}}hiddenhint, tool_lp{{/str}}{{/visible}}</td>
+            <td><a href="{{pluginbaseurl}}/templatecompetencies.php?templateid={{id}}&amp;pagecontextid={{pagecontextid}}">{{{shortname}}}</a></span> {{^visible}}{{#str}}hiddenhint, tool_lp{{/str}}{{/visible}}</td>
             <td>{{contextnamenoprefix}}</td>
             <td><a class="template-cohorts" href="{{pluginbaseurl}}/template_cohorts.php?id={{id}}&amp;pagecontextid={{pagecontextid}}">{{cohortscount}}</a></td>
             <td><a class="template-userplans" href="{{pluginbaseurl}}/template_plans.php?id={{id}}&amp;pagecontextid={{pagecontextid}}">{{planscount}}</a></td>
index 6861674..ee25b5c 100644 (file)
@@ -19,7 +19,7 @@
 }}
 <div data-region="plan-page" data-id="{{plan.id}}" data-userid="{{plan.userid}}">
     <h2>
-        {{plan.name}}
+        {{{plan.name}}}
         {{#plan.canbeedited}}
             <a href="{{pluginbaseurl}}/editplan.php?id={{plan.id}}&amp;userid={{plan.userid}}">{{#pix}}t/edit, core, {{#str}}editplan, tool_lp{{/str}}{{/pix}}</a>
         {{/plan.canbeedited}}
@@ -79,7 +79,7 @@
                     {{#canread}}
                         <a href="{{pluginbaseurl}}/templatecompetencies.php?templateid={{id}}&amp;pagecontextid={{contextid}}">
                     {{/canread}}
-                    {{plan.template.shortname}}{{#canread}}</a>{{/canread}}
+                    {{{plan.template.shortname}}}{{#canread}}</a>{{/canread}}
                     {{#plan.isunlinkallowed}}
                         (<a data-action="plan-unlink" href="#">{{#str}}unlinkplantemplate, tool_lp{{/str}}</a>)
                     {{/plan.isunlinkallowed}}
                         {{#plan.canbeedited}}
                         <span class="drag-handlecontainer pull-left"></span>
                         {{/plan.canbeedited}}
-                        <a data-usercompetency="true" href="#">{{competency.shortname}}</a>
+                        <a data-usercompetency="true" href="#">{{{competency.shortname}}}</a>
                         <em>{{competency.idnumber}}</em>
                         {{#comppath}}
                             <br>
index 78d1c1d..935b76a 100644 (file)
@@ -53,7 +53,7 @@
         {{#plans}}
         <tr data-region="plan-node" data-id="{{id}}" data-userid="{{userid}}">
             <td>
-                <span><a href="{{pluginbaseurl}}/plan.php?id={{id}}">{{name}}</a></span>
+                <span><a href="{{pluginbaseurl}}/plan.php?id={{id}}">{{{name}}}</a></span>
             </td>
              <td>
                {{#isbasedontemplate}}
index f9b2c51..71967d7 100644 (file)
@@ -12,7 +12,7 @@
             {{/showdeleterelatedaction}}
             <p>
                 <a href="#" data-action="competency-dialogue" data-id="{{id}}">
-                    {{shortname}}{{#idnumber}} {{idnumber}}{{/idnumber}}
+                    {{{shortname}}}{{#idnumber}} {{idnumber}}{{/idnumber}}
                 </a>
             </p>
         </li>
index 0cd3267..9eb2388 100644 (file)
@@ -19,7 +19,7 @@
 }}
 <div data-region="templatecompetenciespage">
     <h2>
-        {{template.shortname}}
+        {{{template.shortname}}}
         {{#template.canmanage}}
             <a href="{{pluginbaseurl}}/edittemplate.php?id={{template.id}}&amp;pagecontextid={{pagecontextid}}">{{#pix}}t/edit, core, {{#str}}edittemplate, tool_lp{{/str}}{{/pix}}</a>
         {{/template.canmanage}}
@@ -55,7 +55,7 @@
                         {{#hascourses}}
                         <ul class="inline">
                         {{#linkedcourses}}
-                            <li><a href="{{viewurl}}?id={{id}}">{{fullname}} ({{shortname}})</a></li>
+                            <li><a href="{{viewurl}}?id={{id}}">{{fullname}} ({{{shortname}}})</a></li>
                         {{/linkedcourses}}
                         </ul>
                         {{/hascourses}}
index 66caf50..0a8bdae 100644 (file)
                 {{#showcompetencylinks}}
                 <a href="#competency_link_{{id}}">
                 {{/showcompetencylinks}}
-                <div><p>{{shortname}} <em>{{idnumber}}</em></p></div>
+                <div><p>{{{shortname}}} <em>{{idnumber}}</em></p></div>
                 {{#showcompetencylinks}}
                 </a>
                 {{/showcompetencylinks}}
index 4b7770f..a81c0f8 100644 (file)
@@ -17,7 +17,7 @@
 <label for="competency-nav-{{uniqid}}" class="accesshide">{{#str}}jumptocompetency, tool_lp{{/str}}</label>
 <select id="competency-nav-{{uniqid}}">
 {{#competencies}}
-<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{shortname}} {{idnumber}}</option>
+<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{shortname}}} {{idnumber}}</option>
 {{/competencies}}
 </select>
 </span>
index 4b11153..18b501b 100644 (file)
@@ -53,7 +53,7 @@
     <tbody>
         {{#evidence}}
         <tr data-region='user-evidence-node' data-id="{{id}}" data-userid="{{userid}}">
-            <td><a href="{{pluginbaseurl}}/user_evidence.php?id={{id}}">{{name}}</a></td>
+            <td><a href="{{pluginbaseurl}}/user_evidence.php?id={{id}}">{{{name}}}</a></td>
             <td>
                 {{^hasurlorfiles}}
                     -
@@ -77,7 +77,7 @@
                     <ul class="user-evidence-competencies">
                     {{#usercompetencies}}
                         <li>
-                            {{competency.shortname}} <small><em>{{competency.idnumber}}</em></small> ({{usercompetency.statusname}}{{#usercompetency.reviewer.fullname}} / {{usercompetency.reviewer.fullname}}{{/usercompetency.reviewer.fullname}})
+                            {{{competency.shortname}}} <small><em>{{competency.idnumber}}</em></small> ({{usercompetency.statusname}}{{#usercompetency.reviewer.fullname}} / {{usercompetency.reviewer.fullname}}{{/usercompetency.reviewer.fullname}})
                         </li>
                     {{/usercompetencies}}
                     </ul>
index 40876be..e0582b2 100644 (file)
@@ -31,7 +31,7 @@
 {{#userevidence}}
 <div data-region="user-evidence-page" data-id="{{id}}" data-userid="{{userid}}">
     <h2>
-        {{name}}
+        {{{name}}}
         {{#canmanage}}
             <a href="{{pluginbaseurl}}/user_evidence_edit.php?id={{id}}&amp;userid={{userid}}">{{#pix}}t/edit, core, {{#str}}editthisuserevidence, tool_lp{{/str}}{{/pix}}</a>
         {{/canmanage}}
@@ -78,7 +78,7 @@
                 {{#usercompetencies}}
                 <tr data-id="{{competency.id}}">
                     <td>
-                        <a href="{{pluginbaseurl}}/user_competency.php?id={{usercompetency.id}}" data-id="{{usercompetency.id}}">{{competency.shortname}}</a>
+                        <a href="{{pluginbaseurl}}/user_competency.php?id={{usercompetency.id}}" data-id="{{usercompetency.id}}">{{{competency.shortname}}}</a>
                     </td>
                      <td>
                         {{usercompetency.statusname}} {{#usercompetency.reviewer.fullname}} / {{usercompetency.reviewer.fullname}}{{/usercompetency.reviewer.fullname}}
index a5527c2..a444850 100644 (file)
     <h4>{{#str}}unmappedin, tool_lpmigrate, {{frameworkfrom.shortname}}{{/str}}</h4>
     <ul>
         {{#unmappedfrom}}
-            <li><a href="#" data-id="{{id}}" data-action="competency-dialogue" data-includecourses="true">{{shortname}}</a> <em>{{idnumber}}</em></li>
+            <li><a href="#" data-id="{{id}}" data-action="competency-dialogue" data-includecourses="true">{{{shortname}}}</a> <em>{{idnumber}}</em></li>
         {{/unmappedfrom}}
     </ul>
     {{/hasunmappedfrom}}
     <h4>{{#str}}unmappedin, tool_lpmigrate, {{frameworkto.shortname}}{{/str}}</h4>
     <ul>
         {{#unmappedto}}
-            <li><a href="#" data-id="{{id}}" data-action="competency-dialogue" data-includecourses="true">{{shortname}}</a> <em>{{idnumber}}</em></li>
+            <li><a href="#" data-id="{{id}}" data-action="competency-dialogue" data-includecourses="true">{{{shortname}}}</a> <em>{{idnumber}}</em></li>
         {{/unmappedto}}
     </ul>
     {{/hasunmappedto}}
index 05f193d..8af4927 100644 (file)
@@ -64,7 +64,7 @@ class competency extends persistent {
                 'type' => PARAM_TEXT
             ),
             'idnumber' => array(
-                'type' => PARAM_TEXT
+                'type' => PARAM_RAW
             ),
             'description' => array(
                 'default' => '',
index 5e51dcc..b1f323a 100644 (file)
@@ -87,7 +87,7 @@ class competency_framework extends persistent {
                 'type' => PARAM_TEXT
             ),
             'idnumber' => array(
-                'type' => PARAM_TEXT
+                'type' => PARAM_RAW
             ),
             'description' => array(
                 'type' => PARAM_RAW,
index 1c6979e..b4b914a 100644 (file)
@@ -30,7 +30,7 @@
             {{#competency}}
             <td>
                 <a href="#" data-action="competency-dialogue" data-id="{{competency.id}}">
-                    {{competency.shortname}} <em data-id="{{competency.id}}">{{competency.idnumber}}</em>
+                    {{{competency.shortname}}} <em data-id="{{competency.id}}">{{competency.idnumber}}</em>
                 </a>
             </td>
             {{/competency}}