Source for file left_main.php
Documentation is available at left_main.php
* This is the code for the left bar. The left bar shows the folders
* available, and has cookie information.
* @copyright 1999-2020 The SquirrelMail Project Team
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @version $Id: left_main.php 14845 2020-01-07 08:09:34Z pdontthink $
/** This is the left_main page */
define('PAGE_NAME', 'left_main');
* Include the SquirrelMail initialization file.
require
('../include/init.php');
/* SquirrelMail required files. */
require_once(SM_PATH .
'functions/imap_general.php');
require_once(SM_PATH .
'functions/date.php');
require_once(SM_PATH .
'functions/template/folder_list_util.php');
/* These constants are used for folder stuff. */
define('SM_BOX_UNCOLLAPSED', 0);
define('SM_BOX_COLLAPSED', 1);
// open a connection on the imap port (143)
global $imap_stream_options; // in case not defined in config
$imapConnection =
sqimap_login($username, false, $imapServerAddress, $imapPort, true, $imap_stream_options);
* Using stristr since very old preferences may contain "None" and "none".
if (!empty($left_refresh) &&
$xtra =
"\n<meta http-equiv=\"REFRESH\" content=\"$left_refresh;URL=left_main.php\" />\n";
* Include extra javascript files needed by template
$js_includes =
$oTemplate->get_javascript_includes(TRUE);
foreach ($js_includes as $js_file) {
$xtra .=
'<script src="'.
$js_file.
'" type="text/javascript"></script>' .
"\n";
// get mailbox list and cache it
$oErrorHandler->setDelayedErrors(true);
/* If requested and not yet complete, attempt to autocreate folders. */
if ($auto_create_special &&
!isset
($auto_create_done)) {
$autocreate =
array($sent_folder, $trash_folder, $draft_folder);
$folders_created =
false;
foreach( $autocreate as $folder ) {
* If $show_only_subscribed_folders is true, don't use
* $mailboxes array for checking if mailbox exists.
* Mailbox list contains only subscribed folders.
* sqimap_mailbox_create() will fail, if folder exists.
if ($show_only_subscribed_folders) {
$mailbox_cache =
$mailboxes;
// check for subscription is useless and expensive, just
// surpress the NO response. Unless we're on Mecury, which
// will just subscribe a folder again if it's already
if ( strtolower($imap_server_type) !=
'mercury32' ||
/* Let the world know that autocreation is complete! Hurrah! */
$auto_create_done =
TRUE;
/* First, display the clock. */
$clk =
date('Y-m-d '.
$hr.
' T', time());
//FIXME don't build HTML here - do it in template
$clock =
'<small><span style="white-space: nowrap;">'
.
":</span><br /><span style=\"white-space: nowrap;\">$clk</span></small><br />\n";
if ( $collapse_folders ) {
/* If directed, collapse or uncollapse a folder. */
} else if (isset
($unfold)) {
/* Get unseen/total display prefs */
$unseen_type =
getPref( $data_dir , $username , 'unseen_type' );
$unseen_notify =
getPref( $data_dir , $username , 'unseen_notify' );
if (empty($unseen_type)) {
if (!empty($default_unseen_type)) {
$unseen_type =
$default_unseen_type;
if (empty($unseen_notify)) {
if (!empty($default_unseen_notify)) {
$unseen_notify =
$default_unseen_notify;
* pass $mailboxes now instead of $imapconnection - sqimap_get_mailboxes() has been separated from
* sqimap_mailbox_tree() so that the cached mailbox list can be used elsewhere in left_main and beyond
$oTemplate->assign('clock', $clock);
$oTemplate->assign('mailboxes', $mailbox_structure);
* Build an array to pass user prefs to the template in order to avoid using
* globals, which are dirty, filthy things in templates. :)
#$settings['imapConnection'] = $imapConnection;
$settings['templateID'] =
$sTemplateID;
$settings['unreadNotificationEnabled'] =
$unseen_notify!=
1;
$settings['unreadNotificationAllFolders'] =
$unseen_notify ==
3;
$settings['unreadNotificationDisplayTotal'] =
$unseen_type ==
2;
$settings['unreadNotificationCummulative'] =
$unseen_cum==
1;
$settings['useSpecialFolderColor'] =
$use_special_folder_color;
$settings['messageRecyclingEnabled'] =
$move_to_trash;
$settings['collapsableFoldersEnabled'] =
$collapse_folders==
1;
$oTemplate->assign('settings', $settings);
$oTemplate->assign('accesskey_folders_refresh', $accesskey_folders_refresh);
$oTemplate->assign('accesskey_folders_purge_trash', $accesskey_folders_purge_trash);
$oTemplate->assign('accesskey_folders_inbox', $accesskey_folders_inbox);
$oTemplate->display('left_main.tpl');
$oTemplate->display('footer.tpl');
Documentation generated on Mon, 13 Jan 2020 04:22:57 +0100 by phpDocumentor 1.4.3