Example #1
0
function getSidebarMessages() {
    global $uid, $urlServer, $langFrom, $dateFormatLong, $langDropboxNoMessage, $langMailSubject, $langCourse;

    $message_content = '';

    $mbox = new Mailbox($uid, 0);
    $msgs = $mbox->getInboxMsgs('');

    $msgs = array_filter($msgs, function ($msg) { return !$msg->is_read; });
    if (!count($msgs)) {
        $message_content .= "<li class='list-item no-messages'>" .
                            "<span class='item-wholeline'>" .
                                $langDropboxNoMessage .
                            "</span>" .
                         "</li>";
    } else {
        foreach ($msgs as $message) {
            if ($message->course_id > 0) {
                $course_title = q(ellipsize(course_id_to_title($message->course_id), 30));
            } else {
                $course_title = '';
            }

            $message_date = claro_format_locale_date($dateFormatLong, $message->timestamp);
            $message_content .= "<li class='list-item'>
                            <span class='item-wholeline'>
                                <div class='text-title'>$langFrom: " .
                                    display_user($message->author_id, false, false) . "<br>
                                    $langMailSubject: <a href='{$urlServer}modules/dropbox/index.php?mid=$message->id'>" .
                                        q($message->subject) . "</a>
                                </div>";
                                    if ($course_title) {
                                       $message_content .= "<div class='text-grey'>$langCourse: $course_title</div>"; 
                                    }
                                $message_content .= "<div>$message_date</div>
                                </span>
                            </li>";
        }
    }
    return $message_content;
}
Example #2
0
 /**
  * display users logging        
  * Note: $module_id = $course_id = 0 means other logging (e.g. modify user profile, course creation etc.)
  * @param int $course_id (-1 means all courses)
  * @param type $user_id (-1 means all users)
  * @param int $module_id (-1 means all modules)
  * @param type $logtype (-1 means logtypes)
  * @param type $date_from
  * @param type $date_now
  * @param type script_page     
  * @return none        
  */
 public function display($course_id, $user_id, $module_id, $logtype, $date_from, $date_now, $script_page)
 {
     global $tool_content, $modules;
     global $langNoUsersLog, $langDate, $langUser, $langAction, $langDetail, $langCourse, $langModule, $langAdminUsers, $langExternalLinks, $langCourseInfo;
     $q1 = $q2 = $q3 = $q4 = '';
     if ($user_id != -1) {
         $q1 = "AND user_id = {$user_id}";
         // display specific user
     }
     if ($logtype > 0) {
         $q3 = "AND action_type = {$logtype}";
         // specific course logging
         if ($logtype > 3) {
             // specific system logging
             $module_id = $course_id = 0;
         }
     } elseif ($logtype == -2) {
         // display all system logging
         $q2 = "AND module_id = 0";
         $q4 = "AND course_id = 0";
     }
     if ($module_id > 0) {
         $q2 = "AND module_id = {$module_id}";
         // display specific module
     } elseif ($module_id == -1) {
         // display all course module logging
         $q2 = "AND module_id > 0";
         // but exclude system logging
     }
     if ($course_id > 0) {
         $q4 = "AND course_id = {$course_id}";
         // display specific course
     } elseif ($course_id == -1) {
         // display all course logging
         $q4 = "AND course_id > 0";
         // but exclude system logging
     }
     // count logs
     $num_of_logs = Database::get()->querySingle("SELECT COUNT(*) AS count FROM log WHERE ts BETWEEN '{$date_from}' AND '{$date_now}' {$q1} {$q2} {$q3} {$q4}")->count;
     // fetch logs
     $sql = Database::get()->queryArray("SELECT user_id, course_id, module_id, details, action_type, ts FROM log\n                                WHERE ts BETWEEN '{$date_from}' AND '{$date_now}'\n                                {$q1} {$q2} {$q3} {$q4}\n                                ORDER BY ts DESC");
     if ($num_of_logs > 0) {
         if ($course_id > 0) {
             $tool_content .= "<div class='alert alert-info'>{$langCourse}: " . q(course_id_to_title($course_id)) . "</div>";
         }
         if ($module_id > 0) {
             if ($module_id == MODULE_ID_USERS) {
                 $tool_content .= "<div class='alert alert-info'>{$langModule}: " . $langAdminUsers . "</div>";
             } elseif ($module_id == MODULE_ID_TOOLADMIN) {
                 $tool_content .= "<div class='alert alert-info'>{$langModule}: " . $langExternalLinks . "</div>";
             } else {
                 $tool_content .= "<div class='alert alert-info'>{$langModule}: " . $modules[$module_id]['title'] . "</div>";
             }
         }
         $tool_content .= "<table id = 'log_results_table' class='tbl'>";
         $tool_content .= "<thead>";
         // log header
         $tool_content .= "<tr><th>{$langDate}</th><th>{$langUser}</th>";
         if ($course_id == -1) {
             $tool_content .= "<th>{$langCourse}</th>";
         }
         if ($module_id == -1) {
             $tool_content .= "<th>{$langModule}</th>";
         }
         $tool_content .= "<th>{$langAction}</th><th>{$langDetail}</th>";
         $tool_content .= "</tr>";
         $tool_content .= "</thead>";
         $tool_content .= "<tbody>";
         // display logs
         foreach ($sql as $r) {
             $tool_content .= "<tr>";
             $tool_content .= "<td>" . nice_format($r->ts, true) . "</td>";
             if ($r->user_id == 0 or $logtype == LOG_DELETE_USER) {
                 // login failures or delete user
                 $tool_content .= "<td>&nbsp;&nbsp;&mdash;&mdash;&mdash;</td>";
             } else {
                 $tool_content .= "<td>" . display_user($r->user_id, false, false) . "</td>";
             }
             if ($course_id == -1) {
                 // all courses
                 $tool_content .= "<td>" . q(course_id_to_title($r->course_id)) . "</td>";
             }
             if ($module_id == -1) {
                 // all modules
                 $mid = $r->module_id;
                 if ($mid == MODULE_ID_USERS) {
                     $tool_content .= "<td>" . $langAdminUsers . "</td>";
                 } elseif ($mid == MODULE_ID_TOOLADMIN) {
                     $tool_content .= "<td>" . $langExternalLinks . "</td>";
                 } elseif ($mid == MODULE_ID_SETTINGS) {
                     $tool_content .= "<td>" . $langCourseInfo . "</td>";
                 } else {
                     $tool_content .= "<td>" . $modules[$mid]['title'] . "</td>";
                 }
             }
             $tool_content .= "<td>" . $this->get_action_names($r->action_type) . "</td>";
             if ($course_id == 0 or $module_id == 0) {
                 // system logging
                 $tool_content .= "<td>" . $this->other_action_details($r->action_type, $r->details) . "</td>";
             } else {
                 // course logging
                 $tool_content .= "<td>" . $this->course_action_details($r->module_id, $r->details) . "</td>";
             }
             $tool_content .= "</tr>";
         }
         $tool_content .= "</tbody>";
         $tool_content .= "</table>";
     } else {
         $tool_content .= "<div class='alert alert-warning'>{$langNoUsersLog}</div>";
     }
     return;
 }
Example #3
0
if (isset($_GET['cid'])) {
    $cid = q($_GET['cid']);
    $_SESSION['cid_tmp'] = $cid;
}
if (!isset($_GET['cid'])) {
    $cid = $_SESSION['cid_tmp'];
}

if (!isset($_POST['doit'])) {
    $tool_content .= "
      <div class='form-wrapper'>
        <form class='form-horizontal' method='post' action='$_SERVER[SCRIPT_NAME]?u=$_SESSION[uid]&amp;cid=$cid'>
          <div class='form-group'>
            <div class='col-sm-12'>
              $langConfirmUnregCours: <b>" . q(course_id_to_title($cid)) . "</b>
            </div>
          </div>
          <div class='form-group'>
            <label class='col-sm-2'>$langYes:</label>
            <div class='col-sm-10'>
              <button class='btn btn-danger' name='doit'><i class='fa fa-sign-out'></i> $langUnregCourse</button>
            </div>
          </div>
          <div class='form-group'>
            <label class='col-sm-2'>$langNo:</label>
            <div class='col-sm-10'>
              <a href='{$urlAppend}main/portfolio.php' class='btn btn-default'><i class='fa fa-reply'></i> $langCancel</a>
            </div>
          </div>
        </form>
Example #4
0
require_once 'include/sendMail.inc.php';
require_once 'include/log.php';
$toolName = $langUsers;
$pageName = $langAddUser;
$navigation[] = array('url' => "index.php?course={$course_code}", 'name' => $langUsers);
if (isset($_GET['add'])) {
    $uid_to_add = intval($_GET['add']);
    $result = Database::get()->query("INSERT IGNORE INTO course_user (user_id, course_id, status, reg_date)\n                                    VALUES (?d, ?d, " . USER_STUDENT . ", CURDATE())", $uid_to_add, $course_id);
    Log::record($course_id, MODULE_ID_USERS, LOG_INSERT, array('uid' => $uid_to_add, 'right' => '+5'));
    if ($result) {
        $tool_content .= "<div class='alert alert-success'>{$langTheU} {$langAdded}</div>";
        // notify user via email
        $email = uid_to_email($uid_to_add);
        if (!empty($email) and email_seems_valid($email)) {
            $emailsubject = "{$langYourReg} " . course_id_to_title($course_id);
            $emailbody = "{$langNotifyRegUser1} '" . course_id_to_title($course_id) . "' {$langNotifyRegUser2} {$langFormula} \n{$gunet}";
            send_mail('', '', '', $email, $emailsubject, $emailbody, $charset);
        }
    } else {
        $tool_content .= "<div class='alert alert-warning'>{$langAddError}</div>";
    }
    $tool_content .= "<br /><p><a href='{$_SERVER['SCRIPT_NAME']}?course={$course_code}'>{$langAddBack}</a></p><br />\n";
} else {
    register_posted_variables(array('search_surname' => true, 'search_givenname' => true, 'search_username' => true, 'search_am' => true), 'any');
    $tool_content .= action_bar(array(array('title' => $langBack, 'url' => "index.php?course={$course_code}", 'icon' => 'fa-reply', 'level' => 'primary-label')));
    $tool_content .= "<div class='alert alert-info'>{$langAskUser}</div>\n                <div class='form-wrapper'>\n                <form class='form-horizontal' role='form' method='post' action='{$_SERVER['SCRIPT_NAME']}?course={$course_code}'>                \n                <fieldset>\n                <div class='form-group'>\n                <label for='surname' class='col-sm-2 control-label'>{$langSurname}:</label>\n                <div class='col-sm-10'>\n                    <input class='form-control' id='surname' type='text' name='search_surname' value='" . q($search_surname) . "' placeholder='{$langSurname}'></div>\n                </div>\n                <div class='form-group'>\n                <label for='name' class='col-sm-2 control-label'>{$langName}:</label>\n                <div class='col-sm-10'>\n                    <input class='form-control' id='name' type='text' name='search_givenname' value='" . q($search_givenname) . "' placeholder='{$langName}'></div>\n                </div>\n                <div class='form-group'>\n                <label for='username' class='col-sm-2 control-label'>{$langUsername}:</label>\n                <div class='col-sm-10'>\n                    <input class='form-control' id='username' type='text' name='search_username' value='" . q($search_username) . "' placeholder='{$langUsername}'></div>\n                </div>\n                <div class='form-group'>\n                <label for='am' class='col-sm-2 control-label'>{$langAm}:</label>\n                <div class='col-sm-10'>\n                    <input class='form-control' id='am' type='text' name='search_am' value='" . q($search_am) . "' placeholder='{$langAm}'></div>\n                </div>\n                <div class='col-sm-offset-2 col-sm-10'>\n                    <input class='btn btn-primary' type='submit' name='search' value='{$langSearch}'>\n                    <a class='btn btn-default' href='index.php?course={$course_code}'>{$langCancel}</a>\n                </div>\n                </fieldset>\n                </form>\n                </div>";
    $search = array();
    $values = array();
    foreach (array('surname', 'givenname', 'username', 'am') as $term) {
        $tvar = 'search_' . $term;
        if (!empty($GLOBALS[$tvar])) {
Example #5
0
     </a><span class='smaller'>&nbsp;&nbsp;(".format_file_size($msg->filesize).")</span><br />";
 } else {
     $filename = '';
 }
 
 $i = 0;
 
 if ($mbox_type == 'inbox') {
     $td[$i++] = "<i class='fa $envelove_icon' title='".q($msg->subject)."' /></i>&nbsp;&nbsp;$bold_start<a href='inbox.php?mid=$msg->id".$urlstr."'>".q($msg->subject)."</a>".$bold_end.$filename;
 } else {
     $td[$i++] = "<i class='fa fa-envelope-o' title='".q($msg->subject)."' /></i>&nbsp;&nbsp;<a href='outbox.php?mid=$msg->id".$urlstr."'>".q($msg->subject)."</a>".$filename;
 }
 
 if ($course_id == 0) {
     if ($msg->course_id != 0) {
         $td[$i++] = "$bold_start<a class=\"outtabs\" href=\"index.php?course=".course_id_to_code($msg->course_id)."\">".course_id_to_title($msg->course_id)."</a>$bold_end";
     } else {
         $td[$i++] = "";
     }
 }
 
 if ($mbox_type == 'inbox') {
     $td[$i++] = display_user($msg->author_id, false, false, "outtabs");
 } else {
     $recipients = '';
     foreach ($msg->recipients as $r) {
         if ($r != $msg->author_id) {
             $recipients .= display_user($r, false, false, "outtabs").'<br/>';
         }
     }
     $td[$i++] = $recipients;
Example #6
0
} else {
    $tool_content .= action_bar(array(
        array('title' => $langBack,
              'url' => "index.php",
              'icon' => 'fa-reply',
              'level' => 'primary-label')));
}

// Delete course
if (isset($_GET['delete']) && $course_id) {
    delete_course($course_id);
    $tool_content .= "<div class='alert alert-success'>" . $langCourseDelSuccess . "</div>";
}
// Display confirmatiom message for course deletion
else {
    if (!Database::get()->querySingle("SELECT * FROM course WHERE id = ?d", $course_id)) {
        $tool_content .= "<p class='right'><a href='index.php'>$langBack</a></p>";
        draw($tool_content, 3);
        exit();
    }
    $tool_content .= "<div class='alert alert-danger'>" . $langCourseDelConfirm2 . " <em>" . q(course_id_to_title($course_id)) . "</em>;
		<br><br><i>" . $langNoticeDel . "</i><br>
		</div>";
    $tool_content .= "<ul class='list-group'>
                        <li class='list-group-item'><a href='" . $_SERVER['SCRIPT_NAME'] . "?c=" . q($course_id) . "&amp;delete=yes'><b>$langYes</b></a></li>
                        <li class='list-group-item'><a href='listcours.php'><b>$langNo</b></a></li>
                    </ul>";
}

draw($tool_content, 3);
Example #7
0
if (!$doit) {
    if ($u_account && $c) {
        $tool_content .= "<div class='alert alert-warning'>$langConfirmDeleteQuestion1 <em>$u_realname ($u_account)</em>
    	$langConfirmDeleteQuestion2 <em>" . q(course_id_to_title($c)) . "</em>
        </div>
        <div class='col-sm-offset-5 btn btn-primary'><a href='$_SERVER[SCRIPT_NAME]?u=$u&amp;c=$c&amp;doit=yes'>$langDelete</a></div>";
    } else {
        $tool_content .= "<div class='alert alert-danger'>$langErrorUnreguser</div>";
    }
   
} else {
    if ($c and $u) {
        $q = Database::get()->query("DELETE from course_user WHERE user_id = ?d AND course_id = ?d", $u, $c);
        if ($q->affectedRows>0) {
            Database::get()->query("DELETE FROM group_members
                            WHERE user_id = ?d AND
                            group_id IN (SELECT id FROM `group` WHERE course_id = ?d)", $u, $c);
            $tool_content .= "<div class='alert alert-info'>$langWithUsername \"$u_account\" $langWasCourseDeleted <em>" . q(course_id_to_title($c)) . "</em></div>";
            $m = 1;
        }
    } else {
        $tool_content .= "<div class='alert alert-danger'>$langErrorDelete</div>";
    }
    $tool_content .= "<br>&nbsp;";
    if ((isset($m)) && (!empty($m))) {
        $tool_content .= "<br><a href='edituser.php?u=$u'>$langEditUser $u_account</a>&nbsp;&nbsp;&nbsp;";
    }    
}

draw($tool_content, 3);
Example #8
0
/**
 * @brief send emails to course prof 
 * @global type $langSendingMessage
 * @global type $langHeaderMessage
 * @global type $langContactIntro
 * @param type $course_id
 * @param type $content
 * @param type $from_name
 * @param type $from_address
 * @return type
 */
function email_profs($course_id, $content, $from_name, $from_address) {
    global $langSendingMessage, $langHeaderMessage, $langContactIntro;

    $title = course_id_to_title($course_id);
    $ret = "<div class='alert alert-info'>$langSendingMessage $title</div>";
    $public_code = course_id_to_public_code($course_id);
    $profs = Database::get()->queryArray("SELECT user.id AS prof_uid, user.email AS email,
                              user.surname, user.givenname
                           FROM course_user JOIN user ON user.id = course_user.user_id
                           WHERE course_id = ?d AND course_user.status = " . USER_TEACHER . "", $course_id);

    $message = sprintf($langContactIntro, $from_name, $from_address, $content);
    $subject = "$langHeaderMessage ($public_code - $title)";
    foreach ($profs as $prof) {
        if (!get_user_email_notification_from_courses($prof->prof_uid) or (!get_user_email_notification($prof->prof_uid, $course_id))) {            
            continue;
        } else {
            $to_name = $prof->givenname . ' ' . $prof->surname;
            $ret .= "<div class='alert alert-success'>" . icon('fa-university') . "&nbsp;" . q($to_name) . "</div>";
            if (!send_mail($from_name, $from_address, $to_name, $prof->email, $subject, $message, $GLOBALS['charset'])) {
                $ret .= "<div class='alert alert-warning'>$GLOBALS[langErrorSendingMessage]</div>";
            }
        }
    }
    return $ret;
}
Example #9
0
/**
 * @brief get user personal messages
 * @global type $uid
 * @global type $urlServer
 * @global type $langFrom
 * @global type $dateFormatLong
 * @param type $lesson_id
 * @return string
 */
function getUserMessages() {
           
    global $uid, $urlServer, $langFrom, $dateFormatLong;
    
    $message_content = '';    
               
    $mbox = new Mailbox($uid, 0);
    $msgs = $mbox->getInboxMsgs('', 5);
    foreach ($msgs as $message) {
        if ($message->course_id > 0) {
            $course_title = q(ellipsize(course_id_to_title($message->course_id), 30));
        } else {
            $course_title = '';
        }
        $message_date = claro_format_locale_date($dateFormatLong, $message->timestamp);
        $message_content .= "<li class='list-item'>
                                <div class='item-wholeline'>                                    
                                    <div class='text-title'>$langFrom ".display_user($message->author_id, false, false).":
                                        <a href='{$urlServer}modules/dropbox/index.php?mid=$message->id'>" .q($message->subject)."</a>
                                    </div>                                    
                                    <div class='text-grey'>$course_title</div>
                                    <div>$message_date</div>
                                </div>
                            </li>";
    }    
    return $message_content;
}
Example #10
0
                 <div class='panel-body'>
                     <div class='row  margin-bottom-thin'>
                         <div class='col-sm-2'>
                             <strong>$langSubject:</strong>
                         </div>
                         <div class='col-sm-10'>
                             ".q($msg->subject)."
                         </div>                
                     </div>";
 if ($msg->course_id != 0 && $course_id == 0) {
     $out .= "       <div class='row  margin-bottom-thin'>
                         <div class='col-sm-2'>
                             <strong>$langCourse:</strong>
                         </div>
                         <div class='col-sm-10'>
                             <a class=\"outtabs\" href=\"index.php?course=".course_id_to_code($msg->course_id)."\">".course_id_to_title($msg->course_id)."</a>
                         </div>                
                     </div>";
 }
 $out .= "       
                     <div class='row  margin-bottom-thin'>
                         <div class='col-sm-2'>
                             <strong>$langDate:</strong>
                         </div>
                         <div class='col-sm-10'>
                             ".nice_format(date('Y-m-d H:i:s',$msg->timestamp), true)."
                         </div>                
                     </div>
                     <div class='row  margin-bottom-thin'>
                         <div class='col-sm-2'>
                             <strong>$langSender:</strong>
Example #11
0
if (isset($_GET['add'])) {
    $uid_to_add = intval(getDirectReference($_GET['add']));
    $result = Database::get()->query("INSERT IGNORE INTO course_user (user_id, course_id, status, reg_date, document_timestamp)
                                    VALUES (?d, ?d, " . USER_STUDENT . ", " . DBHelper::timeAfter() . ", " . DBHelper::timeAfter(). ")", $uid_to_add, $course_id);

    Log::record($course_id, MODULE_ID_USERS, LOG_INSERT, array('uid' => $uid_to_add,
                                                               'right' => '+5'));
    if ($result) {
        Session::Messages( $langTheU . $langAdded, "alert alert-success");
        //$tool_content .= "<div class='alert alert-success'>$langTheU $langAdded</div>";
        // notify user via email
        $email = uid_to_email($uid_to_add);
        if (!empty($email) and email_seems_valid($email)) {
            $emailsubject = "$langYourReg " . course_id_to_title($course_id);
            $emailbody = "$langNotifyRegUser1 '" . course_id_to_title($course_id) . "' $langNotifyRegUser2 $langFormula \n$gunet";
            send_mail('', '', '', $email, $emailsubject, $emailbody, $charset);
        }
    } else {
        Session::Messages( $langAddError, "alert alert-warning");
        //$tool_content .= "<div class='alert alert-warning'>$langAddError</div>";
    }
    redirect_to_home_page("modules/user/index.php?course=$course_code");
    //$tool_content .= "<br /><p><a href='$_SERVER[SCRIPT_NAME]?course=$course_code'>$langAddBack</a></p><br />\n";
} else {    
    register_posted_variables(array('search_surname' => true,
                                    'search_givenname' => true,
                                    'search_username' => true,
                                    'search_am' => true), 'any');

    $tool_content .= action_bar(array(
Example #12
0
function notify_users($forum_id, $forum_name, $topic_id, $subject, $message, $topic_date) {
    global $logo, $langNewForumNotify, $course_code, $course_code, $course_id, $langForumFrom,
        $uid, $langBodyForumNotify, $langInForums, $urlServer, $langdate, $langSender,
        $langCourse, $langCategory, $langForum, $langSubject, $langNote,
        $langLinkUnsubscribe, $langHere, $charset, $langMailBody;

    $subject_notify = "$logo - $langNewForumNotify";
    $category_id = forum_category($forum_id);
    $cat_name = category_name($category_id);
    $c = course_code_to_title($course_code);
    $name = uid_to_name($uid);
    $title = course_id_to_title($course_id);

    $header_html_topic_notify = "<!-- Header Section -->
    <div id='mail-header'>
        <br>
        <div>
            <div id='header-title'>$langBodyForumNotify <a href='{$urlServer}courses/$course_code'>".q($title)."</a>.</div>
            <ul id='forum-category'>
                <li><span><b>$langCategory:</b></span> <span>" . q($cat_name) . "</span></li>
                <li><span><b>$langForum:</b></span> <span><a href='{$urlServer}modules/forum/viewforum.php?course=$course_code&amp;forum=$forum_id'>" . q($forum_name) . "</a></span></li>
                <li><span><b>$langForumFrom :</b></span> <span>$name</span></li>
                <li><span><b>$langdate:</b></span> <span> $topic_date </span></li>
            </ul>
        </div>
    </div>";
    
    $body_html_topic_notify = "<!-- Body Section -->
    <div id='mail-body'>
        <br>
        <div><b>$langSubject:</b> <span class='left-space'><a href='{$urlServer}modules/forum/viewforum.php?course=$course_code&amp;forum=$forum_id&amp;topic=$topic_id'>" . q($subject) . "</a></span></div><br>
        <div><b>$langMailBody:</b></div>
        <div id='mail-body-inner'>
            $message
        </div>
    </div>";

    $footer_html_topic_notify = "<!-- Footer Section -->
    <div id='mail-footer'>
        <br>
        <div>
            <small>" . sprintf($langLinkUnsubscribe, q($title)) ." <a href='${urlServer}main/profile/emailunsubscribe.php?cid=$course_id'>$langHere</a></small>
        </div>
    </div>";

    $html_topic_notify = $header_html_topic_notify.$body_html_topic_notify.$footer_html_topic_notify;

    $plain_message = html2text($message);
    $plain_topic_notify = "$langBodyForumNotify $langInForums\n" .
       "$langSender: $name\n" .
       "$langCourse: $title\n    {$urlServer}courses/$course_code/\n" .
       "$langCategory: $cat_name\n" .
       "$langForum: $forum_name\n    {$urlServer}modules/forum/viewforum.php?course=$course_code&forum=$forum_id\n" . 
       "$langSubject: $subject\n    {$urlServer}modules/forum/viewforum.php?course=$course_code&forum=$forum_id&topic=$topic_id\n" . 
       "--------------------------------------------\n$plain_message\n" .
       "--------------------------------------------\n" .
       "$langNote: " . canonicalize_whitespace(str_replace('<br />', "\n", sprintf($langLinkUnsubscribe, q($title)))) .
       " $langHere:\n${urlServer}main/profile/emailunsubscribe.php?cid=$course_id\n";

    $users = Database::get()->queryArray("SELECT DISTINCT user_id FROM forum_notify
			WHERE (forum_id = ?d OR cat_id = ?d)
			AND notify_sent = 1 AND course_id = ?d AND user_id != ?d", $forum_id, $category_id, $course_id, $uid);
    $email = array();
    foreach ($users as $user) {
        if (get_user_email_notification($user->user_id, $course_id)) {
            $email[] = uid_to_email($user->user_id);
        }
    }
    send_mail_multipart('', '', '', $email, $subject_notify, $plain_topic_notify, $html_topic_notify, $charset);
}
Example #13
0
    $course_id = 0;
}
if (isset($_GET['mid'])) {
    $mid = intval($_GET['mid']);
    $msg = new Msg($mid, $uid, 'msg_view');
    if (!$msg->error) {
        $urlstr = '';
        if ($course_id != 0) {
            $urlstr = "?course=" . $course_code;
        }
        $out = "<div style=\"float:right;\"><a href=\"outbox.php" . $urlstr . "\">{$langBack}</a></div>";
        $out .= "<div id='out_del_msg'></div><div id='out_msg_area'><table class='table-default'>";
        $out .= "<tr><td>{$langSubject}:</td><td>" . q($msg->subject) . "</td></tr>";
        $out .= "<tr id='{$msg->id}'><td>{$langDelete}:</td><td class='delete'><i class='class='fa fa-times'></i></td></tr>";
        if ($msg->course_id != 0 && $course_id == 0) {
            $out .= "<tr><td>{$langCourse}:</td><td><a class=\"outtabs\" href=\"index.php?course=" . course_id_to_code($msg->course_id) . "\">" . course_id_to_title($msg->course_id) . "</a></td></tr>";
        }
        $out .= "<tr><td>{$langDate}:</td><td>" . nice_format(date('Y-m-d H:i:s', $msg->timestamp), true) . "</td></tr>";
        $out .= "<tr><td>{$langSender}:</td><td>" . display_user($msg->author_id, false, false, "outtabs") . "</td></tr>";
        $recipients = '';
        foreach ($msg->recipients as $r) {
            if ($r != $msg->author_id) {
                $recipients .= display_user($r, false, false, "outtabs") . '<br/>';
            }
        }
        $out .= "<tr><td>{$langRecipients}:</td><td>" . $recipients . "</td></tr>";
        $out .= "<tr><td>{$langMessage}:</td><td id='out_msg_body'>" . standard_text_escape($msg->body) . "</td></tr>";
        if ($msg->filename != '') {
            $out .= "<tr><td>{$langAttachedFile}</td><td><a href=\"dropbox_download.php?course=" . course_id_to_code($msg->course_id) . "&amp;id={$msg->id}\" class=\"outtabs\" target=\"_blank\">{$msg->real_filename}\r\n            <img class='outtabs' src='{$themeimg}/save.png' /></a>&nbsp;&nbsp;(" . format_file_size($msg->filesize) . ")</td></tr>";
        }
        $out .= "</table><br/>";
Example #14
0
 *                  Panepistimiopolis Ilissia, 15784, Athens, Greece
 *                  e-mail: info@openeclass.org
 * ======================================================================== */
$require_login = TRUE;
include '../include/baseTheme.php';
require_once 'include/log.php';
$pageName = $langUnregCourse;
if (isset($_GET['cid'])) {
    $cid = q($_GET['cid']);
    $_SESSION['cid_tmp'] = $cid;
}
if (!isset($_GET['cid'])) {
    $cid = $_SESSION['cid_tmp'];
}
if (!isset($_GET['doit']) or $_GET['doit'] != "yes") {
    $tool_content .= "\n          <table width='100%'>\n          <tbody>\n          <tr>\n            <td class='alert alert-danger' height='60' colspan='2'>\n              <p>{$langConfirmUnregCours}:</p><p> <em>" . q(course_id_to_title($cid)) . "</em>;&nbsp;</p>\n              <ul class='listBullet'>\n              <li>{$langYes}:\n              <a href='{$_SERVER['SCRIPT_NAME']}?u={$_SESSION['uid']}&amp;cid={$cid}&amp;doit=yes' class=mainpage>{$langUnregCourse}</a>\n              </li>\n              <li>{$langNo}: <a href='../index.php' class=mainpage>{$langBack}</a>\n              </li></ul>\n            </td>\n          </tr>\n          </tbody>\n          </table>";
} else {
    if (isset($_SESSION['uid']) and $_GET['u'] == $_SESSION['uid']) {
        $q = Database::get()->query("DELETE from course_user\n                                    WHERE course_id = ?d\n                                    AND user_id = ?d", $cid, $_GET['u']);
        if ($q->affectedRows > 0) {
            Log::record($cid, MODULE_ID_USERS, LOG_DELETE, array('uid' => $_GET['u'], 'right' => 0));
            $code = course_id_to_code($cid);
            // clear session access to lesson
            unset($_SESSION['dbname']);
            unset($_SESSION['cid_tmp']);
            unset($_SESSION['courses'][$code]);
            $tool_content .= "<div class='alert alert-success'>{$langCoursDelSuccess}</div>";
        } else {
            $tool_content .= "<div class='alert alert-danger'>{$langCoursError}</div>";
        }
    }
Example #15
0
 Database::get()->query("INSERT INTO forum_user_stats (user_id, num_posts, course_id) VALUES (?d,?d,?d)", $uid, $forum_user_stats->c, $course_id);
 Database::get()->query("UPDATE forum_topic\n                    SET last_post_id = ?d\n                WHERE id = ?d\n                AND forum_id = ?d", $post_id, $topic_id, $forum_id);
 Database::get()->query("UPDATE forum\n                    SET num_topics = num_topics+1,\n                    num_posts = num_posts+1,\n                    last_post_id = ?d\n\t\tWHERE id = ?d", $post_id, $forum_id);
 $topic = $topic_id;
 $total_forum = get_total_topics($forum_id);
 $total_topic = get_total_posts($topic) - 1;
 // subtract 1 because we want the number of replies, not the number of posts.
 // --------------------------------
 // notify users
 // --------------------------------
 $subject_notify = "{$logo} - {$langNewForumNotify}";
 $category_id = forum_category($forum_id);
 $cat_name = category_name($category_id);
 $c = course_code_to_title($course_code);
 $name = uid_to_name($uid);
 $title = course_id_to_title($course_id);
 $forum_message = "-------- {$langBodyMessage} ({$langSender}: {$name})\n{$message}--------";
 $plain_forum_message = q(html2text($forum_message));
 $body_topic_notify = "{$langBodyForumNotify} {$langInForums} '" . q($forum_name) . "' \n                               {$langInCat} '" . q($cat_name) . "' {$langTo} {$langCourseS} '{$c}' <br /><br />" . q($forum_message) . "<br />\n                               <br />{$gunet}<br /><a href='{$urlServer}courses/{$course_code}'>{$urlServer}courses/{$course_code}</a>";
 $plain_body_topic_notify = "{$langBodyForumNotify} {$langInForums} '" . q($forum_name) . "' {$langInCat} '" . q($cat_name) . "' {$langTo} {$langCourseS} '{$c}' \n\n{$plain_forum_message} \n\n{$gunet}\n<a href='{$urlServer}courses/{$course_code}'>{$urlServer}courses/{$course_code}</a>";
 $linkhere = "&nbsp;<a href='{$urlServer}main/profile/emailunsubscribe.php?cid={$course_id}'>{$langHere}</a>.";
 $unsubscribe = "<br /><br />{$langNote}: " . sprintf($langLinkUnsubscribe, $title);
 $plain_body_topic_notify .= $unsubscribe . $linkhere;
 $body_topic_notify .= $unsubscribe . $linkhere;
 $sql = Database::get()->queryArray("SELECT DISTINCT user_id FROM forum_notify\n\t\t\tWHERE (forum_id = ?d OR cat_id = ?d)\n\t\t\tAND notify_sent = 1 AND course_id = ?d AND user_id != ?d", $forum_id, $category_id, $course_id, $uid);
 foreach ($sql as $r) {
     if (get_user_email_notification($r->user_id, $course_id)) {
         $emailaddr = uid_to_email($r->user_id);
         send_mail_multipart('', '', '', $emailaddr, $subject_notify, $plain_body_topic_notify, $body_topic_notify, $charset);
     }
 }
Example #16
0
     $filename = safe_filename($format);
     $recipients = $_POST["recipients"];
     //After uploading the file, create the db entries
     if (!$error) {
         $filename_final = $dropbox_dir . '/' . $filename;
         move_uploaded_file($filetmpname, $filename_final) or die($langUploadError);
         @chmod($filename_final, 0644);
         $msg = new Msg($uid, $cid, $subject, $_POST['body'], $recipients, $filename, $real_filename, $filesize);
     }
     chdir($cwd);
 }
 if (isset($_POST['mailing']) and $_POST['mailing']) {
     // send mail to recipients of dropbox file
     if ($course_id != 0 || isset($_POST['course'])) {
         //message in course context
         $c = course_id_to_title($cid);
         $subject_dropbox = "{$c} (" . course_id_to_code($cid) . ") - {$langNewDropboxFile}";
         foreach ($recipients as $userid) {
             if (get_user_email_notification($userid, $cid)) {
                 $linkhere = "<a href='{$urlServer}main/profile/emailunsubscribe.php?cid={$cid}'>{$langHere}</a>.";
                 $unsubscribe = "<br />" . sprintf($langLinkUnsubscribe, $c);
                 $body_dropbox_message = "{$langSender}: " . q($_SESSION['givenname']) . " " . q($_SESSION['surname']) . " <br /><br /> {$subject} <br /><br />" . $_POST['body'] . "<br />";
                 if ($filesize > 0) {
                     $body_dropbox_message .= "<a href='{$urlServer}modules/dropbox/dropbox_download.php?course=" . course_id_to_code($cid) . "&amp;id={$msg->id}'>[{$langAttachedFile}]</a><br /><br />";
                 }
                 $body_dropbox_message .= "{$langNote}: {$langDoNotReply} <a href='{$urlServer}modules/dropbox/index.php?course=" . course_id_to_code($cid) . "'>{$langHere}</a>.<br />";
                 $body_dropbox_message .= "{$unsubscribe} {$linkhere}";
                 $plain_body_dropbox_message = html2text($body_dropbox_message);
                 $emailaddr = uid_to_email($userid);
                 send_mail_multipart('', '', '', $emailaddr, $subject_dropbox, $plain_body_dropbox_message, $body_dropbox_message, $charset);
             }
Example #17
0
    validateUserNodes(intval($u), true);
}
$u_account = $u ? q(uid_to_name($u, 'username')) : '';
$u_realname = $u ? q(uid_to_name($u)) : '';
$userdata = user_get_data($u);
$u_status = $userdata->status;
if (!$doit) {
    if ($u_account && $c) {
        $tool_content .= "<p class='title1'>{$langConfirmDelete}</p>\n        <div class='alert alert-warning'>{$langConfirmDeleteQuestion1} <em>{$u_realname} ({$u_account})</em>\n    \t{$langConfirmDeleteQuestion2} <em>" . q(course_id_to_title($c)) . "</em>\n        </div>\n        <p class='eclass_button'><a href='{$_SERVER['SCRIPT_NAME']}?u={$u}&amp;c={$c}&amp;doit=yes'>{$langDelete}</a></p>";
    } else {
        $tool_content .= "<p>{$langErrorUnreguser}</p>";
    }
    $tool_content .= "<div class='right'><a href='edituser.php?u={$u}'>{$langBack}</a></div><br/>";
} else {
    if ($c and $u) {
        $q = Database::get()->query("DELETE from course_user WHERE user_id = ?d AND course_id = ?d", $u, $c);
        if ($q->affectedRows > 0) {
            Database::get()->query("DELETE FROM group_members\n                            WHERE user_id = ?d AND\n                            group_id IN (SELECT id FROM `group` WHERE course_id = ?d)", $u, $c);
            $tool_content .= "<p>{$langUserWithId} {$u} {$langWasCourseDeleted} <em>" . q(course_id_to_title($c)) . "</em></p>\n";
            $m = 1;
        }
    } else {
        $tool_content .= $langErrorDelete;
    }
    $tool_content .= "<br />&nbsp;";
    if (isset($m) && !empty($m)) {
        $tool_content .= "<br /><a href='edituser.php?u={$u}'>{$langEditUser} {$u_account}</a>&nbsp;&nbsp;&nbsp;";
    }
    $tool_content .= "<a href='index.php'>{$langBackAdmin}</a>.<br />\n";
}
draw($tool_content, 3);