Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V4.10.0 #83

Merged
merged 5 commits into from
Jan 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
gpl.txt
bu-git.xml
**.DS_Store
**.DS_Store

quizzes/configuration.ini
1 change: 1 addition & 0 deletions quizzes/lib/IntHash.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ public function __construct() {
$this->h = array();
}}

#[\ReturnTypeWillChange]
public function getIterator() {
return $this->iterator();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,6 @@ public function __construct(){}
static $TELEMETRY_TOKEN = "quizzes.telemetry.token";
static $QUIZZES_LOGGING_LEVEL = "quizzes.logging.level";
static $QUIZZES_TRACKING_ENABLED = "quizzes.tracking.enabled";
static $GRAPH_TRACK_INSTANCES = "quizzes.graph.trackinstances";
function __toString() { return 'com.wiris.quizzes.api.ConfigurationKeys'; }
}
4 changes: 3 additions & 1 deletion quizzes/lib/com/wiris/quizzes/api/PropertyName.enum.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ class com_wiris_quizzes_api_PropertyName extends Enum {
public static $COMPOUND_ANSWER_GRADE_DISTRIBUTION;
public static $ELEMENTS_TO_HANDWRITE;
public static $GRAPH_LOCK_INITIAL_CONTENT;
public static $GRAPH_MAGNETIC_GRID;
public static $GRAPH_SHOW_NAME_IN_LABEL;
public static $GRAPH_SHOW_VALUE_IN_LABEL;
public static $GRAPH_TOOLBAR;
Expand All @@ -19,7 +20,7 @@ class com_wiris_quizzes_api_PropertyName extends Enum {
public static $STUDENT_ANSWER_PARAMETER;
public static $STUDENT_ANSWER_PARAMETER_NAME;
public static $USER_ID;
public static $__constructors = array(2 => 'ANSWER_FIELD_TYPE', 10 => 'AUXILIARY_CAS_HIDE_FILE_MENU', 9 => 'AUXILIARY_TEXT', 7 => 'CAS_SESSION', 3 => 'COMPOUND_ANSWER', 4 => 'COMPOUND_ANSWER_GRADE', 5 => 'COMPOUND_ANSWER_GRADE_DISTRIBUTION', 14 => 'ELEMENTS_TO_HANDWRITE', 15 => 'GRAPH_LOCK_INITIAL_CONTENT', 16 => 'GRAPH_SHOW_NAME_IN_LABEL', 17 => 'GRAPH_SHOW_VALUE_IN_LABEL', 12 => 'GRAPH_TOOLBAR', 13 => 'HANDWRITING_CONSTRAINTS', 8 => 'SHOW_AUXILIARY_TEXT_INPUT', 6 => 'SHOW_CAS', 0 => 'STUDENT_ANSWER_PARAMETER', 1 => 'STUDENT_ANSWER_PARAMETER_NAME', 11 => 'USER_ID');
public static $__constructors = array(2 => 'ANSWER_FIELD_TYPE', 10 => 'AUXILIARY_CAS_HIDE_FILE_MENU', 9 => 'AUXILIARY_TEXT', 7 => 'CAS_SESSION', 3 => 'COMPOUND_ANSWER', 4 => 'COMPOUND_ANSWER_GRADE', 5 => 'COMPOUND_ANSWER_GRADE_DISTRIBUTION', 14 => 'ELEMENTS_TO_HANDWRITE', 15 => 'GRAPH_LOCK_INITIAL_CONTENT', 18 => 'GRAPH_MAGNETIC_GRID', 16 => 'GRAPH_SHOW_NAME_IN_LABEL', 17 => 'GRAPH_SHOW_VALUE_IN_LABEL', 12 => 'GRAPH_TOOLBAR', 13 => 'HANDWRITING_CONSTRAINTS', 8 => 'SHOW_AUXILIARY_TEXT_INPUT', 6 => 'SHOW_CAS', 0 => 'STUDENT_ANSWER_PARAMETER', 1 => 'STUDENT_ANSWER_PARAMETER_NAME', 11 => 'USER_ID');
}
com_wiris_quizzes_api_PropertyName::$ANSWER_FIELD_TYPE = new com_wiris_quizzes_api_PropertyName("ANSWER_FIELD_TYPE", 2);
com_wiris_quizzes_api_PropertyName::$AUXILIARY_CAS_HIDE_FILE_MENU = new com_wiris_quizzes_api_PropertyName("AUXILIARY_CAS_HIDE_FILE_MENU", 10);
Expand All @@ -30,6 +31,7 @@ class com_wiris_quizzes_api_PropertyName extends Enum {
com_wiris_quizzes_api_PropertyName::$COMPOUND_ANSWER_GRADE_DISTRIBUTION = new com_wiris_quizzes_api_PropertyName("COMPOUND_ANSWER_GRADE_DISTRIBUTION", 5);
com_wiris_quizzes_api_PropertyName::$ELEMENTS_TO_HANDWRITE = new com_wiris_quizzes_api_PropertyName("ELEMENTS_TO_HANDWRITE", 14);
com_wiris_quizzes_api_PropertyName::$GRAPH_LOCK_INITIAL_CONTENT = new com_wiris_quizzes_api_PropertyName("GRAPH_LOCK_INITIAL_CONTENT", 15);
com_wiris_quizzes_api_PropertyName::$GRAPH_MAGNETIC_GRID = new com_wiris_quizzes_api_PropertyName("GRAPH_MAGNETIC_GRID", 18);
com_wiris_quizzes_api_PropertyName::$GRAPH_SHOW_NAME_IN_LABEL = new com_wiris_quizzes_api_PropertyName("GRAPH_SHOW_NAME_IN_LABEL", 16);
com_wiris_quizzes_api_PropertyName::$GRAPH_SHOW_VALUE_IN_LABEL = new com_wiris_quizzes_api_PropertyName("GRAPH_SHOW_VALUE_IN_LABEL", 17);
com_wiris_quizzes_api_PropertyName::$GRAPH_TOOLBAR = new com_wiris_quizzes_api_PropertyName("GRAPH_TOOLBAR", 12);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php

interface com_wiris_quizzes_api_ui_AnswerField extends com_wiris_quizzes_api_ui_QuizzesField{
function reuseComponent($component);
function getAnswerFieldComponent($listener);
function setEditorInitialParams($parameters);
function getFieldType();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public function __construct() {
$this->set(com_wiris_quizzes_api_ConfigurationKeys::$TELEMETRY_TOKEN, com_wiris_quizzes_impl_ConfigurationImpl::$DEF_TELEMETRY_TOKEN);
$this->set(com_wiris_quizzes_api_ConfigurationKeys::$QUIZZES_LOGGING_LEVEL, com_wiris_quizzes_impl_ConfigurationImpl::$DEF_QUIZZES_LOGGING_LEVEL);
$this->set(com_wiris_quizzes_api_ConfigurationKeys::$QUIZZES_TRACKING_ENABLED, com_wiris_quizzes_impl_ConfigurationImpl::$DEF_QUIZZES_TRACKING_ENABLED);
$this->set(com_wiris_quizzes_api_ConfigurationKeys::$GRAPH_TRACK_INSTANCES, com_wiris_quizzes_impl_ConfigurationImpl::$DEF_GRAPH_TRACK_INSTANCES);
if(!com_wiris_settings_PlatformSettings::$IS_JAVASCRIPT) {
try {
$s = com_wiris_system_Storage::newStorage(com_wiris_quizzes_impl_ConfigurationImpl::$DEF_DIST_CONFIG_FILE);
Expand Down Expand Up @@ -234,6 +235,7 @@ public function __call($m, $a) {
static $DEF_TELEMETRY_TOKEN = "1lt1OnlX3898VauysJ1nr5ODR8CNfVmB80KGxSSt";
static $DEF_QUIZZES_LOGGING_LEVEL = "WARNING";
static $DEF_QUIZZES_TRACKING_ENABLED = "true";
static $DEF_GRAPH_TRACK_INSTANCES = "true";
static $config = null;
static function thisLock() { $»args = func_get_args(); return call_user_func_array(self::$thisLock, $»args); }
static $thisLock;
Expand Down
4 changes: 3 additions & 1 deletion quizzes/lib/com/wiris/quizzes/impl/HTMLTools.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -1223,7 +1223,9 @@ public function replaceVariablesInsideHTML($token, $variables, $type, $escapeTex
}
}
$token = _hx_substr($token, 0, $pos) . $value . _hx_substr($token, $pos + strlen($placeholder), null);
$pos += strlen($value);
if($value !== null) {
$pos += strlen($value);
}
unset($value);
} else {
$pos++;
Expand Down
4 changes: 3 additions & 1 deletion quizzes/lib/com/wiris/quizzes/impl/LocalData.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ public function __call($m, $a) {
static $VALUE_NEVER = "never";
static $VALUE_ALWAYS = "always";
static $VALUE_FOCUS = "focus";
static $KEY_GRAPH_MAGNETIC_GRID = "graphMagneticGrid";
static $VALUE_SNAP = "snap";
static $keys;
function __toString() { return 'com.wiris.quizzes.impl.LocalData'; }
}
Expand All @@ -90,4 +92,4 @@ function __toString() { return 'com.wiris.quizzes.impl.LocalData'; }
com_wiris_quizzes_impl_LocalData::$VALUE_SHOW_CAS_REPLACE_INPUT = com_wiris_quizzes_api_QuizzesConstants::$PROPERTY_VALUE_SHOW_CAS_REPLACE;
com_wiris_quizzes_impl_LocalData::$VALUE_OPENANSWER_COMPOUND_ANSWER_GRADE_AND = com_wiris_quizzes_api_QuizzesConstants::$PROPERTY_VALUE_COMPOUND_ANSWER_GRADE_AND;
com_wiris_quizzes_impl_LocalData::$VALUE_OPENANSWER_COMPOUND_ANSWER_GRADE_DISTRIBUTE = com_wiris_quizzes_api_QuizzesConstants::$PROPERTY_VALUE_COMPOUND_ANSWER_GRADE_DISTRIBUTE;
com_wiris_quizzes_impl_LocalData::$keys = new _hx_array(array(com_wiris_quizzes_impl_LocalData::$KEY_OPENANSWER_COMPOUND_ANSWER, com_wiris_quizzes_impl_LocalData::$KEY_OPENANSWER_INPUT_FIELD, com_wiris_quizzes_impl_LocalData::$KEY_SHOW_CAS, com_wiris_quizzes_impl_LocalData::$KEY_CAS_INITIAL_SESSION, com_wiris_quizzes_impl_LocalData::$KEY_CAS_SESSION, com_wiris_quizzes_impl_LocalData::$KEY_SHOW_AUXILIARY_TEXT_INPUT, com_wiris_quizzes_impl_LocalData::$KEY_AUXILIARY_TEXT, com_wiris_quizzes_impl_LocalData::$KEY_OPENANSWER_COMPOUND_ANSWER_GRADE, com_wiris_quizzes_impl_LocalData::$KEY_OPENANSWER_COMPOUND_ANSWER_GRADE_DISTRIBUTION, com_wiris_quizzes_impl_LocalData::$KEY_OPENANSWER_GRAPH_TOOLBAR, com_wiris_quizzes_impl_LocalData::$KEY_AUXILIARY_CAS_HIDE_FILE_MENU, com_wiris_quizzes_impl_LocalData::$KEY_ELEMENTS_TO_HANDWRITE, com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_LOCK_INITIAL_CONTENT, com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_SHOW_NAME_IN_LABEL, com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_SHOW_VALUE_IN_LABEL));
com_wiris_quizzes_impl_LocalData::$keys = new _hx_array(array(com_wiris_quizzes_impl_LocalData::$KEY_OPENANSWER_COMPOUND_ANSWER, com_wiris_quizzes_impl_LocalData::$KEY_OPENANSWER_INPUT_FIELD, com_wiris_quizzes_impl_LocalData::$KEY_SHOW_CAS, com_wiris_quizzes_impl_LocalData::$KEY_CAS_INITIAL_SESSION, com_wiris_quizzes_impl_LocalData::$KEY_CAS_SESSION, com_wiris_quizzes_impl_LocalData::$KEY_SHOW_AUXILIARY_TEXT_INPUT, com_wiris_quizzes_impl_LocalData::$KEY_AUXILIARY_TEXT, com_wiris_quizzes_impl_LocalData::$KEY_OPENANSWER_COMPOUND_ANSWER_GRADE, com_wiris_quizzes_impl_LocalData::$KEY_OPENANSWER_COMPOUND_ANSWER_GRADE_DISTRIBUTION, com_wiris_quizzes_impl_LocalData::$KEY_OPENANSWER_GRAPH_TOOLBAR, com_wiris_quizzes_impl_LocalData::$KEY_AUXILIARY_CAS_HIDE_FILE_MENU, com_wiris_quizzes_impl_LocalData::$KEY_ELEMENTS_TO_HANDWRITE, com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_LOCK_INITIAL_CONTENT, com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_SHOW_NAME_IN_LABEL, com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_SHOW_VALUE_IN_LABEL, com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_MAGNETIC_GRID));
6 changes: 5 additions & 1 deletion quizzes/lib/com/wiris/quizzes/impl/QuestionImpl.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -1193,7 +1193,11 @@ public function defaultLocalData($name) {
if($name === com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_SHOW_VALUE_IN_LABEL) {
return com_wiris_quizzes_impl_LocalData::$VALUE_FOCUS;
} else {
return null;
if($name === com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_MAGNETIC_GRID) {
return com_wiris_quizzes_impl_LocalData::$VALUE_SNAP;
} else {
return null;
}
}
}
}
Expand Down
16 changes: 16 additions & 0 deletions quizzes/lib/com/wiris/quizzes/impl/QuizzesEnumUtils.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ static function getPropertyNames() {
com_wiris_quizzes_impl_QuizzesEnumUtils::$propertyNames->set(com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_LOCK_INITIAL_CONTENT, com_wiris_quizzes_api_PropertyName::$GRAPH_LOCK_INITIAL_CONTENT);
com_wiris_quizzes_impl_QuizzesEnumUtils::$propertyNames->set(com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_SHOW_NAME_IN_LABEL, com_wiris_quizzes_api_PropertyName::$GRAPH_SHOW_NAME_IN_LABEL);
com_wiris_quizzes_impl_QuizzesEnumUtils::$propertyNames->set(com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_SHOW_VALUE_IN_LABEL, com_wiris_quizzes_api_PropertyName::$GRAPH_SHOW_VALUE_IN_LABEL);
com_wiris_quizzes_impl_QuizzesEnumUtils::$propertyNames->set(com_wiris_quizzes_impl_LocalData::$KEY_GRAPH_MAGNETIC_GRID, com_wiris_quizzes_api_PropertyName::$GRAPH_MAGNETIC_GRID);
}
return com_wiris_quizzes_impl_QuizzesEnumUtils::$propertyNames;
}
Expand All @@ -186,5 +187,20 @@ static function string2PropertyName($name) {
static function propertyName2String($name) {
return com_wiris_util_type_HashUtils::getKey($name, com_wiris_quizzes_impl_QuizzesEnumUtils::getPropertyNames());
}
static $graphModes;
static function getGraphModes() {
if(com_wiris_quizzes_impl_QuizzesEnumUtils::$graphModes === null) {
com_wiris_quizzes_impl_QuizzesEnumUtils::$graphModes = new Hash();
com_wiris_quizzes_impl_QuizzesEnumUtils::$graphModes->set(com_wiris_quizzes_impl_Assertion::$GRAPH_MODE_STANDARD, com_wiris_util_geometry_GraphMode::$STANDARD);
com_wiris_quizzes_impl_QuizzesEnumUtils::$graphModes->set(com_wiris_quizzes_impl_Assertion::$GRAPH_MODE_SKETCH, com_wiris_util_geometry_GraphMode::$SKETCH);
com_wiris_quizzes_impl_QuizzesEnumUtils::$graphModes->set(com_wiris_quizzes_impl_Assertion::$GRAPH_MODE_PIE_CHART, com_wiris_util_geometry_GraphMode::$PIE_CHART);
com_wiris_quizzes_impl_QuizzesEnumUtils::$graphModes->set(com_wiris_quizzes_impl_Assertion::$GRAPH_MODE_BAR_CHART, com_wiris_util_geometry_GraphMode::$BAR_CHART);
com_wiris_quizzes_impl_QuizzesEnumUtils::$graphModes->set(com_wiris_quizzes_impl_Assertion::$GRAPH_MODE_LINE_CHART, com_wiris_util_geometry_GraphMode::$LINE_CHART);
}
return com_wiris_quizzes_impl_QuizzesEnumUtils::$graphModes;
}
static function string2GraphMode($mode) {
return com_wiris_quizzes_impl_QuizzesEnumUtils::getGraphModes()->get($mode);
}
function __toString() { return 'com.wiris.quizzes.impl.QuizzesEnumUtils'; }
}
21 changes: 21 additions & 0 deletions quizzes/lib/com/wiris/util/geometry/GraphMode.enum.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?php

class com_wiris_util_geometry_GraphMode extends Enum {
public static $BAR_CHART;
public static $BOX_PLOT;
public static $HISTOGRAM;
public static $LINE_CHART;
public static $PIE_CHART;
public static $SKETCH;
public static $STANDARD;
public static $UNDECIDED_STANDARD_SKETCH;
public static $__constructors = array(2 => 'BAR_CHART', 3 => 'BOX_PLOT', 1 => 'HISTOGRAM', 5 => 'LINE_CHART', 4 => 'PIE_CHART', 6 => 'SKETCH', 0 => 'STANDARD', 7 => 'UNDECIDED_STANDARD_SKETCH');
}
com_wiris_util_geometry_GraphMode::$BAR_CHART = new com_wiris_util_geometry_GraphMode("BAR_CHART", 2);
com_wiris_util_geometry_GraphMode::$BOX_PLOT = new com_wiris_util_geometry_GraphMode("BOX_PLOT", 3);
com_wiris_util_geometry_GraphMode::$HISTOGRAM = new com_wiris_util_geometry_GraphMode("HISTOGRAM", 1);
com_wiris_util_geometry_GraphMode::$LINE_CHART = new com_wiris_util_geometry_GraphMode("LINE_CHART", 5);
com_wiris_util_geometry_GraphMode::$PIE_CHART = new com_wiris_util_geometry_GraphMode("PIE_CHART", 4);
com_wiris_util_geometry_GraphMode::$SKETCH = new com_wiris_util_geometry_GraphMode("SKETCH", 6);
com_wiris_util_geometry_GraphMode::$STANDARD = new com_wiris_util_geometry_GraphMode("STANDARD", 0);
com_wiris_util_geometry_GraphMode::$UNDECIDED_STANDARD_SKETCH = new com_wiris_util_geometry_GraphMode("UNDECIDED_STANDARD_SKETCH", 7);
33 changes: 33 additions & 0 deletions quizzes/lib/graph_actions.json
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,39 @@
"type": "svg"
}
},
{

"id": "midpointOfLineSegment",
"title": "tt_midpointOfSegment",
"icon": {
"name": "midpointsegment",
"type": "svg"
}
},
{
"id": "newLineParallelToLineThroughPoint",
"title": "tt_parallelLine",
"icon": {
"name": "parallel_line",
"type": "svg"
}
},
{
"id": "mediatrixOfLineSegment",
"title": "tt_mediatrixOfSegment",
"icon": {
"name": "mediatrixsegment",
"type": "svg"
}
},
{
"id": "newLinePerpendicularToLineThroughPoint",
"title": "tt_perpendicularLine",
"icon": {
"name":"perpendicular_line",
"type": "svg"
}
},
{
"id": "newVectorByPoints",
"title": "tt_vector",
Expand Down
12 changes: 12 additions & 0 deletions quizzes/lib/graph_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,18 @@
{
"id": "newRayFromPointThroughPoint"
},
{
"id": "midpointOfLineSegment"
},
{
"id": "mediatrixOfLineSegment"
},
{
"id": "newLineParallelToLineThroughPoint"
},
{
"id": "newLinePerpendicularToLineThroughPoint"
},
{
"id": "newVectorByPoints"
},
Expand Down
Loading
Loading