SendMailWhenLpIsPublish: Comment's Fix on functions and camel case - refs BT#18214

pull/3743/head
Carlos Alvarado 5 years ago
parent cfc23d989e
commit c69e47cb37
No known key found for this signature in database
GPG Key ID: B612DB1EE6658FBB
  1. 53
      main/cron/learning_path_reminder.php
  2. 42
      plugin/send_notification_new_lp/SendNotificationToPublishLp.php

@ -39,7 +39,7 @@ if (!isset($activeMessageNewlp['default_value'])) {
* @param string $lpName * @param string $lpName
* @param string $link * @param string $link
*/ */
function SendMessage($toUser, $fromUser, $courseName, $lpName, $link) function sendMessage($toUser, $fromUser, $courseName, $lpName, $link)
{ {
$toUserId = $toUser['user_id']; $toUserId = $toUser['user_id'];
$subjectTemplate = new Template( $subjectTemplate = new Template(
@ -48,7 +48,8 @@ function SendMessage($toUser, $fromUser, $courseName, $lpName, $link)
false, false,
false, false,
false, false,
false); false
);
$subjectLayout = $subjectTemplate->get_template( $subjectLayout = $subjectTemplate->get_template(
'mail/learning_path_reminder_subject.tpl' 'mail/learning_path_reminder_subject.tpl'
@ -60,7 +61,8 @@ function SendMessage($toUser, $fromUser, $courseName, $lpName, $link)
false, false,
false, false,
false, false,
false); false
);
$bodyTemplate->assign('courseName', $courseName); $bodyTemplate->assign('courseName', $courseName);
$bodyTemplate->assign('lpName', $lpName); $bodyTemplate->assign('lpName', $lpName);
$bodyTemplate->assign('link', $link); $bodyTemplate->assign('link', $link);
@ -97,7 +99,6 @@ function getLpDataByArrayId($lpid = [])
SELECT SELECT
tblCourse.title AS course_name, tblCourse.title AS course_name,
tblCourse.`code` AS `code`, tblCourse.`code` AS `code`,
tblCourse.id AS course_id,
tblLp.id AS lp_id, tblLp.id AS lp_id,
tblLp.c_id AS c_id, tblLp.c_id AS c_id,
tblLp.`name` AS `name` tblLp.`name` AS `name`
@ -108,10 +109,8 @@ function getLpDataByArrayId($lpid = [])
tblLp.iid IN ( ".implode(',', $lpid)." ) tblLp.iid IN ( ".implode(',', $lpid)." )
"; ";
$result = Database::query($sql); $result = Database::query($sql);
$data = Database::store_result($result, 'ASSOC');
Database::free_result($result);
$return = []; $return = [];
foreach ($data as $element) { while ($element = Database::fetch_array($result)) {
$return[$element['lp_id']] = $element; $return[$element['lp_id']] = $element;
} }
@ -139,10 +138,8 @@ function getLpIdWithNotify()
tblExtraFieldValues.`value` = 1 tblExtraFieldValues.`value` = 1
"; ";
$result = Database::query($sql); $result = Database::query($sql);
$data = Database::store_result($result, 'ASSOC');
Database::free_result($result);
$return = []; $return = [];
foreach ($data as $element) { while ($element = Database::fetch_array($result)) {
$return[] = $element['lp_id']; $return[] = $element['lp_id'];
} }
@ -165,14 +162,10 @@ function getTutorIdFromCourseRelUser($cId = 0, $lpId = 0)
tblLp.c_id = $cId"; tblLp.c_id = $cId";
$result = Database::query($sql); $result = Database::query($sql);
$data = Database::fetch_assoc($result); $data = Database::fetch_assoc($result);
foreach ($data as $usersId) { return (isset($data['user_id']))?(int)$data['user_id']:0;
return (int) $usersId;
}
return 0;
} }
function SendToArray(&$data, &$type, &$message, $lpId = 0) function sendToArray(&$data, &$type, &$message, $lpId = 0)
{ {
foreach ($data as $user) { foreach ($data as $user) {
$userName = $user['userInfo']['complete_name']; $userName = $user['userInfo']['complete_name'];
@ -180,7 +173,7 @@ function SendToArray(&$data, &$type, &$message, $lpId = 0)
$fromUser = $user['fromUser']; $fromUser = $user['fromUser'];
$courseName = $user['courseName']; $courseName = $user['courseName'];
$lpName = $user['lpName']; $lpName = $user['lpName'];
$send = SendMessage( $send = sendMessage(
$user['userInfo'], $user['userInfo'],
$fromUser, $fromUser,
$courseName, $courseName,
@ -194,7 +187,7 @@ function SendToArray(&$data, &$type, &$message, $lpId = 0)
/** /**
* @return null * @return null
*/ */
function LearningPaths() function learningPaths()
{ {
$lpItems = getLpIdWithNotify(); $lpItems = getLpIdWithNotify();
if (count($lpItems) == 0) { if (count($lpItems) == 0) {
@ -232,10 +225,10 @@ function LearningPaths()
tblLp.id in ($lpItemsString) tblLp.id in ($lpItemsString)
"; ";
$result = Database::query($sql); $result = Database::query($sql);
$data = Database::store_result($result, 'ASSOC');
Database::free_result($result);
$groupUsers = []; $groupUsers = [];
foreach ($data as $row) {
while ($row = Database::fetch_array($result)) {
$lpId = (int) $row['lp_id']; $lpId = (int) $row['lp_id'];
$lpData = []; $lpData = [];
if (isset($lpsData[$lpId])) { if (isset($lpsData[$lpId])) {
@ -289,10 +282,8 @@ function LearningPaths()
"; ";
$result = Database::query($sql); $result = Database::query($sql);
$data = Database::store_result($result, 'ASSOC');
Database::free_result($result);
$groupUsers = []; $groupUsers = [];
foreach ($data as $row) { while ($row = Database::fetch_array($result)) {
$lpId = (int) $row['lp_id']; $lpId = (int) $row['lp_id'];
$lpData = []; $lpData = [];
if (isset($lpsData[$lpId])) { if (isset($lpsData[$lpId])) {
@ -338,9 +329,7 @@ function LearningPaths()
"; ";
$result = Database::query($sql); $result = Database::query($sql);
$data = Database::store_result($result, 'ASSOC'); while ($row = Database::fetch_array($result)) {
Database::free_result($result);
foreach ($data as $row) {
$lpId = (int) $row['lp_id']; $lpId = (int) $row['lp_id'];
$sessionId = 0; $sessionId = 0;
if (isset($lpsData[$lpId])) { if (isset($lpsData[$lpId])) {
@ -391,9 +380,7 @@ function LearningPaths()
ORDER BY tblSessionRelCourseRelUser.`status` ORDER BY tblSessionRelCourseRelUser.`status`
"; ";
$result = Database::query($sql); $result = Database::query($sql);
$data = Database::store_result($result, 'ASSOC'); while ($row = Database::fetch_array($result)) {
Database::free_result($result);
foreach ($data as $row) {
$lpId = (int) $row['lp_id']; $lpId = (int) $row['lp_id'];
$sessionId = 0; $sessionId = 0;
if (isset($lpsData[$lpId])) { if (isset($lpsData[$lpId])) {
@ -433,10 +420,10 @@ function LearningPaths()
foreach ($sessions as $sessionId => $types) { foreach ($sessions as $sessionId => $types) {
foreach ($types as $type => $users) { foreach ($types as $type => $users) {
if ('LearnpathSubscription' == $type) { if ('LearnpathSubscription' == $type) {
SendToArray($users, $type, $message, $lpId); sendToArray($users, $type, $message, $lpId);
} else { } else {
if (!isset($itemProcessed[$lpId][$sessionId]['LearnpathSubscription'])) { if (!isset($itemProcessed[$lpId][$sessionId]['LearnpathSubscription'])) {
SendToArray($users, $type, $message, $lpId); sendToArray($users, $type, $message, $lpId);
} }
} }
} }
@ -445,6 +432,6 @@ function LearningPaths()
echo "$message\n\n"; echo "$message\n\n";
} }
LearningPaths(); learningPaths();
exit(); exit();

@ -15,7 +15,7 @@ class SendNotificationToPublishLp extends Plugin
/** /**
* SendNotificationToPublishLp constructor. * SendNotificationToPublishLp constructor.
*/ */
public function __construct() protected function __construct()
{ {
$this->tblExtraFieldOption = Database::get_main_table(TABLE_EXTRA_FIELD_OPTIONS); $this->tblExtraFieldOption = Database::get_main_table(TABLE_EXTRA_FIELD_OPTIONS);
parent::__construct( parent::__construct(
@ -58,7 +58,7 @@ class SendNotificationToPublishLp extends Plugin
*/ */
public function install() public function install()
{ {
$this->SaveNotificationField(); $this->saveNotificationField();
$this->setNotifyExtrafieldData(); $this->setNotifyExtrafieldData();
} }
@ -66,7 +66,7 @@ class SendNotificationToPublishLp extends Plugin
* Save the arrangement for notify_student_and_hrm_when_available, it is adjusted internally so that the values * Save the arrangement for notify_student_and_hrm_when_available, it is adjusted internally so that the values
* match the necessary ones. * match the necessary ones.
*/ */
public function SaveNotificationField() public function saveNotificationField()
{ {
$schedule = new ExtraField('lp'); $schedule = new ExtraField('lp');
$data = $this->getDataNotificationField(); $data = $this->getDataNotificationField();
@ -131,29 +131,28 @@ class SendNotificationToPublishLp extends Plugin
public function setNotifyExtrafieldData() public function setNotifyExtrafieldData()
{ {
$options = [ $options = [
0 => 'No', 0 => get_lang('No'),
1 => 'Yes', 1 => get_lang('Yes'),
]; ];
$notifyId = (int) $this->notifyStudentField['id']; $notifyId = (int) $this->notifyStudentField['id'];
if ($notifyId != 0) { if ($notifyId != 0) {
for ($i = 0; $i < count($options); $i++) { for ($i = 0; $i < count($options); $i++) {
$order = $i + 1; $order = $i + 1;
$extraFieldOptionValue = $options[$i]; $extraFieldOptionValue = $options[$i];
if ($notifyId != null) { $query = "SELECT *
$query = "SELECT * FROM ".$this->tblExtraFieldOption."
FROM ".$this->tblExtraFieldOption." WHERE
WHERE option_value = $i AND
option_value = $i AND field_id = $notifyId";
field_id = $notifyId";
$extraFieldOption = Database::fetch_assoc(Database::query($query)); $extraFieldOption = Database::fetch_assoc(Database::query($query));
$extraFieldId = isset($extraFieldOption['id']) ? (int) ($extraFieldOption['id']) : 0; $extraFieldId = isset($extraFieldOption['id']) ? (int)($extraFieldOption['id']) : 0;
if ( if (
$extraFieldId != 0 $extraFieldId != 0
&& $extraFieldOption['field_id'] == $notifyId) { && $extraFieldOption['field_id'] == $notifyId) {
// Update? // Update?
$query = "UPDATE `".$this->tblExtraFieldOption."` $query = "UPDATE `".$this->tblExtraFieldOption."`
SET SET
`option_value` = $i, `option_value` = $i,
`option_order` = $order, `option_order` = $order,
@ -161,15 +160,14 @@ class SendNotificationToPublishLp extends Plugin
WHERE WHERE
`field_id` = $notifyId `field_id` = $notifyId
AND `id` = $extraFieldId"; AND `id` = $extraFieldId";
} else { } else {
$query = " $query = "
INSERT INTO ".$this->tblExtraFieldOption." INSERT INTO ".$this->tblExtraFieldOption."
(`field_id`, `option_value`, `display_text`, `priority`, `priority_message`, `option_order`) VALUES (`field_id`, `option_value`, `display_text`, `priority`, `priority_message`, `option_order`) VALUES
( '$notifyId', $i, '$extraFieldOptionValue', NULL, NULL, '$order'); ( '$notifyId', $i, '$extraFieldOptionValue', NULL, NULL, '$order');
"; ";
}
Database::query($query);
} }
Database::query($query);
} }
} }
} }

Loading…
Cancel
Save