Skip to content
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
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
> **Note:** Please fill out all required sections and remove irrelevant ones.
> **Note:** Please fill out all relevant sections and remove irrelevant ones.
### 🔀 Purpose of this PR:

- [ ] Fixes a bug
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class backup_moodleoverflow_activity_task extends backup_activity_task {

/**
* No specific settings for this activity
*/
Expand Down
7 changes: 4 additions & 3 deletions backup/moodle2/backup_moodleoverflow_stepslib.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class backup_moodleoverflow_activity_structure_step extends backup_activity_structure_step {

/**
* Defines the backup structure of the module
*
Expand Down Expand Up @@ -108,11 +107,13 @@ protected function define_structure() {

// All these source definitions only happen if we are including user info.
if ($userinfo) {
$discussion->set_source_sql('
$discussion->set_source_sql(
'
SELECT *
FROM {moodleoverflow_discussions}
WHERE moodleoverflow = ?',
[backup::VAR_PARENTID]);
[backup::VAR_PARENTID]
);

// Need posts ordered by id so parents are always before childs on restore.
$post->set_source_table('moodleoverflow_posts', ['discussion' => backup::VAR_PARENTID], 'id ASC');
Expand Down
192 changes: 141 additions & 51 deletions backup/moodle2/restore_moodleoverflow_activity_task.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class restore_moodleoverflow_activity_task extends restore_activity_task {

/**
* Define (add) particular settings this activity can have
*/
Expand Down Expand Up @@ -79,18 +78,24 @@ public static function define_decode_rules() {

$rules[] = new restore_decode_rule('MOODLEOVERFLOWVIEWBYF', '/mod/moodleoverflow/view.php?f=$1', 'moodleoverflow');
// Link to forum discussion.
$rules[] = new restore_decode_rule('MOODLEOVERFLOWDISCUSSIONVIEW',
$rules[] = new restore_decode_rule(
'MOODLEOVERFLOWDISCUSSIONVIEW',
'/mod/moodleoverflow/discussion.php?d=$1',
'moodleoverflow_discussion');
'moodleoverflow_discussion'
);
// Link to discussion with parent and with anchor posts.
$rules[] = new restore_decode_rule('MOODLEOVERFLOWDISCUSSIONVIEWPARENT',
$rules[] = new restore_decode_rule(
'MOODLEOVERFLOWDISCUSSIONVIEWPARENT',
'/mod/moodleoverflow/discussion.php?d=$1&parent=$2',
['moodleoverflow_discussion', 'moodleoverflow_post']);
$rules[] = new restore_decode_rule('MOODLEOVERFLOWDISCUSSIONVIEWINSIDE', '/mod/moodleoverflow/discussion.php?d=$1#$2',
['moodleoverflow_discussion', 'moodleoverflow_post']);
['moodleoverflow_discussion', 'moodleoverflow_post']
);
$rules[] = new restore_decode_rule(
'MOODLEOVERFLOWDISCUSSIONVIEWINSIDE',
'/mod/moodleoverflow/discussion.php?d=$1#$2',
['moodleoverflow_discussion', 'moodleoverflow_post']
);

return $rules;

}

/**
Expand All @@ -102,49 +107,134 @@ public static function define_decode_rules() {
public static function define_restore_log_rules() {
$rules = [];

$rules[] = new restore_log_rule('moodleoverflow', 'add',
'view.php?id={course_module}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'update',
'view.php?id={course_module}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'view',
'view.php?id={course_module}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'view moodleoverflow',
'view.php?id={course_module}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'mark read',
'view.php?f={moodleoverflow}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'start tracking',
'view.php?f={moodleoverflow}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'stop tracking',
'view.php?f={moodloeoverflow}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'subscribe',
'view.php?f={moodleoverflow}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'unsubscribe',
'view.php?f={moodleoverflow}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'subscriber',
'subscribers.php?id={moodleoverflow}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'subscribers',
'subscribers.php?id={moodleoverflow}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'view subscribers',
'subscribers.php?id={moodleoverflow}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'add discussion',
'discussion.php?d={moodleoverflow_discussion}', '{moodleoverflow_discussion}');
$rules[] = new restore_log_rule('moodleoverflow', 'view discussion',
'discussion.php?d={moodleoverflow_discussion}', '{moodleoverflow_discussion}');
$rules[] = new restore_log_rule('moodleoverflow', 'move discussion',
'discussion.php?d={moodleoverflow_discussion}', '{moodleoverflow_discussion}');
$rules[] = new restore_log_rule('moodleoverflow', 'delete discussi',
'view.php?id={course_module}', '{moodleoverflow}',
null, 'delete discussion');
$rules[] = new restore_log_rule('moodleoverflow', 'delete discussion',
'view.php?id={course_module}', '{moodleoverflow}');
$rules[] = new restore_log_rule('moodleoverflow', 'add post',
'discussion.php?d={moodleoverflow_discussion}&parent={moodleoverflow_post}', '{moodleoverflow_post}');
$rules[] = new restore_log_rule('moodleoverflow', 'update post',
'discussion.php?d={moodleoverflow_discussion}&parent={moodleoverflow_post}', '{moodleoverflow_post}');
$rules[] = new restore_log_rule('moodleoverflow', 'prune post',
'discussion.php?d={moodleoverflow_discussion}', '{moodleoverflow_post}');
$rules[] = new restore_log_rule('moodleoverflow', 'delete post',
'discussion.php?d={moodleoverflow_discussion}', '[post]');
$rules[] = new restore_log_rule(
'moodleoverflow',
'add',
'view.php?id={course_module}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'update',
'view.php?id={course_module}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'view',
'view.php?id={course_module}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'view moodleoverflow',
'view.php?id={course_module}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'mark read',
'view.php?f={moodleoverflow}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'start tracking',
'view.php?f={moodleoverflow}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'stop tracking',
'view.php?f={moodloeoverflow}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'subscribe',
'view.php?f={moodleoverflow}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'unsubscribe',
'view.php?f={moodleoverflow}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'subscriber',
'subscribers.php?id={moodleoverflow}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'subscribers',
'subscribers.php?id={moodleoverflow}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'view subscribers',
'subscribers.php?id={moodleoverflow}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'add discussion',
'discussion.php?d={moodleoverflow_discussion}',
'{moodleoverflow_discussion}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'view discussion',
'discussion.php?d={moodleoverflow_discussion}',
'{moodleoverflow_discussion}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'move discussion',
'discussion.php?d={moodleoverflow_discussion}',
'{moodleoverflow_discussion}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'delete discussi',
'view.php?id={course_module}',
'{moodleoverflow}',
null,
'delete discussion'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'delete discussion',
'view.php?id={course_module}',
'{moodleoverflow}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'add post',
'discussion.php?d={moodleoverflow_discussion}&parent={moodleoverflow_post}',
'{moodleoverflow_post}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'update post',
'discussion.php?d={moodleoverflow_discussion}&parent={moodleoverflow_post}',
'{moodleoverflow_post}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'prune post',
'discussion.php?d={moodleoverflow_discussion}',
'{moodleoverflow_post}'
);
$rules[] = new restore_log_rule(
'moodleoverflow',
'delete post',
'discussion.php?d={moodleoverflow_discussion}',
'[post]'
);

return $rules;
}
Expand Down
44 changes: 28 additions & 16 deletions backup/moodle2/restore_moodleoverflow_stepslib.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class restore_moodleoverflow_activity_structure_step extends restore_activity_structure_step {

/**
* Defines structure of path elements to be processed during the restore.
*
Expand All @@ -45,20 +44,34 @@ protected function define_structure() {

$paths[] = new restore_path_element('moodleoverflow', '/activity/moodleoverflow');
if ($userinfo) {
$paths[] = new restore_path_element('moodleoverflow_discussion',
'/activity/moodleoverflow/discussions/discussion');
$paths[] = new restore_path_element('moodleoverflow_post',
'/activity/moodleoverflow/discussions/discussion/posts/post');
$paths[] = new restore_path_element('moodleoverflow_discuss_sub',
'/activity/moodleoverflow/discussions/discussion/discuss_subs/discuss_sub');
$paths[] = new restore_path_element('moodleoverflow_rating',
'/activity/moodleoverflow/discussions/discussion/posts/post/ratings/rating');
$paths[] = new restore_path_element('moodleoverflow_subscription',
'/activity/moodleoverflow/subscriptions/subscription');
$paths[] = new restore_path_element('moodleoverflow_read',
'/activity/moodleoverflow/readposts/read');
$paths[] = new restore_path_element('moodleoverflow_track',
'/activity/moodleoverflow/tracking/track');
$paths[] = new restore_path_element(
'moodleoverflow_discussion',
'/activity/moodleoverflow/discussions/discussion'
);
$paths[] = new restore_path_element(
'moodleoverflow_post',
'/activity/moodleoverflow/discussions/discussion/posts/post'
);
$paths[] = new restore_path_element(
'moodleoverflow_discuss_sub',
'/activity/moodleoverflow/discussions/discussion/discuss_subs/discuss_sub'
);
$paths[] = new restore_path_element(
'moodleoverflow_rating',
'/activity/moodleoverflow/discussions/discussion/posts/post/ratings/rating'
);
$paths[] = new restore_path_element(
'moodleoverflow_subscription',
'/activity/moodleoverflow/subscriptions/subscription'
);
$paths[] = new restore_path_element(
'moodleoverflow_read',
'/activity/moodleoverflow/readposts/read'
);
$paths[] = new restore_path_element(
'moodleoverflow_track',
'/activity/moodleoverflow/tracking/track'
);
}

// Return the paths wrapped into standard activity structure.
Expand Down Expand Up @@ -178,7 +191,6 @@ protected function process_moodleoverflow_subscription($data) {

$newitemid = $DB->insert_record('moodleoverflow_subscriptions', $data);
$this->set_mapping('moodleoverflow_subscription', $oldid, $newitemid, true);

}

/**
Expand Down
13 changes: 8 additions & 5 deletions classes/anonymous.php
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class anonymous {

/**
* Used if nothing is anonymous.
*/
Expand Down Expand Up @@ -86,8 +85,11 @@ public static function get_userid_mapping($moodleoverflow, $discussionid) {
}
if ($moodleoverflow->anonymous == self::QUESTION_ANONYMOUS) {
return [
$DB->get_field('moodleoverflow_posts', 'userid',
['parent' => 0, 'discussion' => $discussionid]) => get_string('questioner', 'mod_moodleoverflow'),
$DB->get_field(
'moodleoverflow_posts',
'userid',
['parent' => 0, 'discussion' => $discussionid]
) => get_string('questioner', 'mod_moodleoverflow'),
];
}

Expand All @@ -96,7 +98,9 @@ public static function get_userid_mapping($moodleoverflow, $discussionid) {
'FROM {moodleoverflow_posts} ' .
'WHERE discussion = :discussion ' .
'GROUP BY userid ' .
'ORDER BY MIN(created) ASC;', ['discussion' => $discussionid]);
'ORDER BY MIN(created) ASC;',
['discussion' => $discussionid]
);

$mapping = [];
$questioner = array_shift($userids);
Expand All @@ -108,5 +112,4 @@ public static function get_userid_mapping($moodleoverflow, $discussionid) {
}
return $mapping;
}

}
2 changes: 0 additions & 2 deletions classes/capabilities.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class capabilities {

/** capability add instance */
const ADD_INSTANCE = 'mod/moodleoverflow:addinstance';

Expand Down Expand Up @@ -100,5 +99,4 @@ public static function has(string $capability, context $context, $userid = null)

return self::$cache[$key];
}

}
Loading
Loading