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

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

Loading…
Cancel
Save