Example #1
0
function uddeIM_com_install() {
	$ver = new JVersion();

	if ( defined( 'JPATH_ADMINISTRATOR' ) ) {
		require_once(JPATH_SITE.'/components/com_uddeim/uddeimlib.php');
		require_once(JPATH_SITE.'/administrator/components/com_uddeim/admin.uddeimlib.php');
	} else {
		global $mainframe;
		require_once($mainframe->getCfg('absolute_path').'/components/com_uddeim/uddeimlib.php');
		require_once($mainframe->getCfg('absolute_path').'/administrator/components/com_uddeim/admin.uddeimlib.php');
	}

	require_once(uddeIMgetPath('absolute_path')."/administrator/components/com_uddeim/config.class.php");
	require_once(uddeIMgetPath('absolute_path')."/administrator/components/com_uddeim/admin.shared.php");
	require_once(uddeIMgetPath('absolute_path')."/administrator/components/com_uddeim/admin.includes.php");

	$mosConfig_locale = uddeIMgetLocale();
	$mosConfig_sitename = uddeIMgetSitename();
	$mosConfig_lang = uddeIMgetLang();
	$database = uddeIMgetDatabase();
	$version = uddeIMgetVersion();
	$pathtoadmin = uddeIMgetPath('admin');
	$pathtouser  = uddeIMgetPath('user');
	$config = new uddeimconfigclass();

	// set initial values
	$config->cryptkey = 'uddeIMcryptkey';
	$config->version = '2.4';
	$config->datumsformat = 'j M, H:i';
	$config->ldatumsformat = 'j F Y, H:i';
	$config->emn_sendermail = 'webmaster';
	$config->emn_sendername = 'Messaging';
	$config->sysm_username = '******';
	$config->charset = 'ISO-8859-1';
	$config->mailcharset = 'ISO-8859-1';
	$config->emn_body_nomessage = '';
	$config->emn_body_withmessage = '';
	$config->emn_forgetmenot = '';
	$config->export_format = '';
	$config->showtitle = '';
	$config->templatedir = 'default';
	$config->quotedivider= '__________';
	$config->blockgroups = '';
	$config->pubblockgroups = '';
	$config->hideusers = '62';
	$config->pubhideusers = '62';
	$config->attachmentgroups = '';
	$config->recaptchaprv = '';
	$config->recaptchapub = '';
	$config->allowedextensions = '';
	$config->badwords = '';
	$config->gravatard = '';
	$config->gravatarr = '';

	$config->ReadMessagesLifespan = 36524;
	$config->UnreadMessagesLifespan = 36524;
	$config->SentMessagesLifespan = 36524;
	$config->TrashLifespan = 2;
	$config->ReadMessagesLifespanNote = 0;
	$config->UnreadMessagesLifespanNote = 0;
	$config->SentMessagesLifespanNote = 0;
	$config->TrashLifespanNote = 1;
	$config->adminignitiononly = 1;
	$config->pmsimportdone = 0;
	$config->blockalert = 0;
	$config->blocksystem = 0;
	$config->allowemailnotify = 0;
	$config->notifydefault = 0;
	$config->popupdefault = 0;
	$config->allowsysgm = 0;
	$config->emailwithmessage = 0;
	$config->firstwordsinbox = 40;
	$config->longwaitingdays = 75;
	$config->longwaitingemail = 0;
	$config->maxlength = 2500;
	$config->showcblink = 1;
	$config->showcbpic = 1;
	$config->showonline = 1;
	$config->allowarchive = 0;
	$config->maxarchive = 100;
	$config->allowcopytome = 1;
	$config->trashoriginal = 1;
	$config->perpage = 8;
	$config->enabledownload = 0;
	$config->inboxlimit = 0;
	$config->showinboxlimit = 0;
	$config->allowpopup = 0;
	$config->allowbb = 1;
	$config->allowsmile = 1;
	$config->animated = 0;
	$config->animatedex = 0;
	$config->showmenuicons = 1;
	$config->bottomlineicons = 1;
	$config->actionicons = 1;
	$config->showconnex = 0;
	$config->showsettingslink = 2;
	$config->connex_listbox = 1;
	$config->forgetmenotstart = 0;
	$config->showabout = 0;
	$config->emailtrafficenabled = 0;
	$config->getpiclink = 0;
	$config->realnames = 0;
	$config->cryptmode = 0;
	$config->modeshowallusers = 1;
	$config->useautocomplete = 0;
	$config->allowmultipleuser = 1;
	$config->connexallowmultipleuser = 1;
	$config->allowmultiplerecipients = 1;
	$config->showtextcounter = 1;
	$config->allowforwards = 1;
	$config->showgroups = 0;
	$config->mailsystem = 0;
	$config->searchinstring = 1;
	$config->maxrecipients = 0;
	$config->languagecharset = 0;
	$config->usecaptcha = 0;
	$config->captchalen = 4;
	$config->pubfrontend = 0;
	$config->pubfrontenddefault = 0;
	$config->pubmodeshowallusers = 1;
	$config->hideallusers = 0;
	$config->pubhideallusers = 0;
	$config->unblockCBconnections = 1;
	$config->CBgallery = 0;
	$config->enablelists = 0;
	$config->maxonlists = 100;
	$config->timedelay = 0;
	$config->pubrealnames = 0;
	$config->pubreplies = 0;
	$config->pubemail = 0;
	$config->csrfprotection = 0;
	$config->trashrestriction = 0;
	$config->replytruncate = 0;
	$config->allowflagged = 0;
	$config->overwriteitemid = 0;
	$config->useitemid = 0;
	$config->timezone = 0;
	$config->pubsearchinstring = 1;
	$config->pubuseautocomplete = 0;
	$config->mootools = 1;
	$config->autoresponder = 0;
	$config->autoforward = 0;
	$config->rows = 10;
	$config->cols = 60;
	$config->width = 0;
	$config->enablefilter = 0;
	$config->enablereply = 0;
	$config->enablerss = 0;
	$config->showigoogle = 1;
	$config->showhelp = 0;
	$config->separator = 0;
	$config->rsslimit = 20;
	$config->restrictallusers = 0;
	$config->trashoriginalsent = 0;
	$config->checkbanned = 0;
	$config->enableattachment = 0;
	$config->maxsizeattachment = 16384;
	$config->maxattachments = 1;
	$config->fileadminignitiononly = 1;
	$config->showlistattachment = 1;
	$config->showmenucount = 0;
	$config->encodeheader = 0;
	$config->enablesort = 0;
	$config->captchatype = 0;
	$config->unprotectdownloads = 0;
	$config->waitdays = 0;
	$config->avatarw = 0;
	$config->avatarh = 0;
	$config->gravatar = 0;
	$config->addccline = 0;
	$config->modnewusers = 0;
	$config->modpubusers = 0;
	$config->restrictcon = 0;
	$config->restrictrem = 0;
	$config->stime = 0;
	$config->dontsefmsglink = 0;
	$config->enablepostbox = 0;
	$config->postboxfull = 0;
	$config->postboxavatars = 0;
	$config->replytext = 1;
	// temporary variables
	$config->flags = 0;
	$config->userid = 0;
	$config->usergid = 0;
	$config->cbitemid = 0;

	$config->languagecharset = 1;					// use UTF-8 on Joomla != 1.0

	// try to determine the best settings for uddeIM on this installation 
	// is uddeIM already installed and are messages in the archive?
	$sql="SELECT count(id) FROM #__uddeim WHERE archived=1";
	$database->setQuery($sql);
	$archivedmessages=$database->loadResult();
	$config->allowarchive = 0;
	$config->enabledownload = 0;
	if ($archivedmessages) {
		$config->allowarchive = 1;
		$config->enabledownload = 1;	
	}

	switch ($mosConfig_lang) {
		case "germani":
		case "germanf":
		case "german":
			$config->datumsformat = 'j M, H:i';
			$config->ldatumsformat = 'j. F Y, H:i';
			break;
		default:
			$config->datumsformat = 'j M, H:i';
			$config->ldatumsformat = 'j F Y, H:i';
			break;
	}

	// is CB installed? CB only, NOT CBE!
	$config->showcblink = 0;
	$config->showcbpic = 0;
	$config->showconnex = 0;
	$config->checkbanned = 0;
	$config->realnames = 0;
	if (uddeIMfileExists("/components/com_comprofiler/comprofiler.php")) {
		$config->showcblink = 1;
		$config->showcbpic = 1;
		$config->showconnex = 1;
		$config->checkbanned = 1;
		// now look for the CB config file
		// if realnames are used in CB, use realnames in uddeIM as well
		if (uddeIMfileExists("/administrator/components/com_comprofiler/ue_config.php")) {
			global $ueConfig;
			include_once(uddeIMgetPath('absolute_path')."/administrator/components/com_comprofiler/ue_config.php");
			if (isset($ueConfig['name_format'])) {
				if ($ueConfig['name_format']=='1') {
					$config->realnames=1;
					$config->pubrealnames=1;
				}
			}
		}
	}
	if (uddeIMfileExists("/components/com_cbe/cbe.php")) {
		$config->showcblink = 4;
		$config->showcbpic = 4;
		$config->showconnex = 1;
		$config->checkbanned = 1;
		// now look for the CBE config file
		// if realnames are used in CBE, use realnames in uddeIM as well
		if (uddeIMfileExists("/administrator/components/com_cbe/ue_config.php")) {
			global $ueConfig;
			include_once(uddeIMgetPath('absolute_path')."/administrator/components/com_cbe/ue_config.php");
			if (isset($ueConfig['name_format'])) {
				if ($ueConfig['name_format']=='1') {
					$config->realnames=1;
					$config->pubrealnames=1;
				}
			}
		}
	}
	if (uddeIMfileExists("/administrator/components/com_comprofiler/ue_config.php")) {
		global $ueConfig;
		include_once(uddeIMgetPath('absolute_path')."/administrator/components/com_comprofiler/ue_config.php");
		if (isset($ueConfig['thumbWidth'])) {
			if ($ueConfig['thumbWidth'])
				$config->avatarw = (int)$ueConfig['thumbWidth'];
		}
		if (isset($ueConfig['thumbHeight'])) {
			if ($ueConfig['thumbHeight'])
				$config->avatarh = (int)$ueConfig['thumbHeight'];
		}
	} elseif (uddeIMfileExists("/administrator/components/com_cbe/ue_config.php")) {
		global $ueConfig;
		include_once(uddeIMgetPath('absolute_path')."/administrator/components/com_cbe/ue_config.php");
		if (isset($ueConfig['thumbWidth'])) {
			if ($ueConfig['thumbWidth'])
				$config->avatarw = (int)$ueConfig['thumbWidth'];
		}
		if (isset($ueConfig['thumbHeight'])) {
			if ($ueConfig['thumbHeight'])
				$config->avatarh = (int)$ueConfig['thumbHeight'];
		}
	}

	$postfix = "";
	if ($config->languagecharset)
		$postfix = ".utf8";
	// is the correct lang file installed?
	if (file_exists($pathtoadmin.'/language'.$postfix.'/'.$mosConfig_lang.'.php')) {
		include_once($pathtoadmin.'/language'.$postfix.'/'.$mosConfig_lang.'.php');
		$langinfo="";
	} elseif (file_exists($pathtoadmin.'/language'.$postfix.'/english.php')) {
		include_once($pathtoadmin.'/language'.$postfix.'/english.php');
		$langinfo="<p>There is no <b>".ucfirst($mosConfig_lang)." (UTF-8)</b> language file installed. uddeIM will use English (UTF-8).</p>";
	} elseif (file_exists($pathtoadmin.'/language/english.php')) {
		include_once($pathtoadmin.'/language/english.php');
		$langinfo="<p>There is no <b>".ucfirst($mosConfig_lang)."</b> language file installed. uddeIM will use English.</p>";
		$config->languagecharset=0;
	}

	// see http://www.iana.org/assignments/character-sets
	// http://www.w3.org/WAI/ER/IG/ert/iso639.htm
	// http://www.loc.gov/standards/iso639-2/php/code_list.php
	// en, fr_FR, es_ES, it_IT, pt_PT
	// http://code.elxis.org/20080/nav.html?includes/Core/locale.php.source.html
	$tag = strtolower(substr($mosConfig_locale,0,2));
	switch ($tag) {
		case "bg":
		case "ru":	
			$config->charset = 'cp1251';
			$config->mailcharset = 'Windows-1251';
			break;
		case "sr":
		case "vi":
		case "ar":	// and others
		case "el":	// and others
		case "sr":
		case "zh":	// and others
		case "ja":
			$config->charset = 'UTF-8';
			$config->mailcharset = 'UTF-8';
			break;
		default:
			$config->charset = 'ISO-8859-1';
			$config->mailcharset = 'ISO-8859-1';
			break;
	}
	if ($config->languagecharset==1) {
		$config->charset = 'UTF-8';
		$config->mailcharset = 'UTF-8';
	}

	// Now save these settings
	uddeIMsaveConfig($pathtoadmin, $config);

	// Now write a welcome message to the Admin
	$userid = uddeIMgetUserID();
	if ($userid) {
		if ($config->languagecharset) {			// UTF-8 fix, not tested so far
			$sql = "SET NAMES utf8;";
			$database->setQuery($sql);
			$isok = $database->query();
		}

		$rightnow = uddetime($config->timezone);
		$welcome_time = $rightnow;
		$welcome_user = "******";
		$welcome_msg = _UDDEADM_WELCOMEMSG;
		// its not a reply, so replyid=0
		$sql="INSERT INTO #__uddeim (fromid, toid, toread, message, datum, systemflag, disablereply, systemmessage, totrashoutbox, totrashdateoutbox) VALUES (".$userid.", ".$userid.", 0, '".$welcome_msg."', ".$welcome_time.", 1, 1, '".$welcome_user."', 1, ".$welcome_time.")";
		$database->setQuery($sql);
		if (!$database->query()) {
			die("SQL error when attempting to save a message" . $database->stderr(true));
		}	
	}

	// create folder for attachments
	$folder = "/images/uddeimfiles";
	if (!uddeIMfolderExists($folder)) {
		if (!uddeIMmkdir($folder)) {
			echo "<b><span style='color: red;'>"._UDDEADM_FOLDERCREATE_ERROR.$folder."</span></b>";
		} else {
			// uddeIMchmod($folder, "766");		// BUGBUG: Joomla send CHMOD instead of SITE CHMOD
			$file = $folder."/index.html";
			if (!uddeIMfileExists($file)) {
				$cf  = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
				$cf .= "<html><head></head><body></body></html>";
				uddeIMwriteFile($file, $cf);
			}

			$file = $folder."/.htaccess";
			if (!uddeIMfileExists($file)) {
				$cf  = "# Having a .htaccess prevents users from directly\n";
				$cf .= "# accessing the files in your /images/uddeimfiles folder\n";
				$cf .= "#\n";
				$cf .= "deny from all\n";
				uddeIMwriteFile($file, $cf);
			}
		}
	}
	
	echo "<div style='width: 600px; text-align: left;'>";
	echo "<p><b>"._UDDEADM_UDDEINSTCOMPLETE."</b></p>";
	echo $langinfo;
	echo "<p>"._UDDEADM_REVIEWSETTINGS."</p>";
	echo "<ul>";
	echo "<li>"._UDDEADM_REVIEWLANG."</li>";
	echo "<li>"._UDDEADM_REVIEWEMAILSTOP."</li>";
	echo "<li>"._UDDEADM_REVIEWUPDATE."</li>";
	$folder = "/uddeimfiles";
	if (uddeIMfolderExists($folder)) {
		echo "<li>"._UDDEADM_CHECKFILESFOLDER."</li>";
	}
	echo "</ul>";

	// redirect to settings
	echo "<p><a href='".uddeIMredirectIndex()."?option=com_uddeim'>".ucfirst(_UDDEADM_CONTINUE)."</a></p>";
	echo "</div>";
}
function uddeIMeditAutoforward($option, $task, $act, $config) {
	$database = uddeIMgetDatabase();
	$emnid = intval( uddeIMmosGetParam( $_POST, 'id', '' ) );

	$sql="SELECT userid FROM #__uddeim_emn WHERE id=".(int)$emnid;
	$database->setQuery($sql);
	$userid = (int)$database->loadResult();

	$name = "unknown";
	$username = "******";
	$sql="SELECT name, username FROM #__users WHERE id=".(int)$userid;
	$database->setQuery($sql);
	$results = $database->loadObjectList();
	foreach($results as $result) {
		$username = $result->username;
		$name     = $result->name;
	}

	$emptysettings='';
	$emn_forward_checkstatus='';

	$sql="SELECT autoforward FROM #__uddeim_emn WHERE id=".(int)$emnid;
	$database->setQuery($sql);
	$ison = (int)$database->loadResult();

	if ($ison==1) {
		$emn_forward_checkstatus='checked="checked"';
	}

	$sql="SELECT autoforwardid FROM #__uddeim_emn WHERE id=".(int)$emnid;
	$database->setQuery($sql);
	$autoforwardid = (int)$database->loadResult();

	echo "<h4 style='text-align:left;'>"._UDDEIM_AUTOFORWARD.": ".$name." (".$username.")</h4>";
	echo "<p style='text-align:left;'>"._UDDEIM_AUTOFORWARD_EXP."</p>";
	echo "<form name='adminForm' id='adminForm' method='post' action='".uddeIMredirectIndex()."' class='adminForm' style='text-align:left;'>";
	echo '<input onclick="document.adminForm.autoforwardcheck.checked ? document.adminForm.autoforwardid.disabled=false : document.adminForm.autoforwardid.disabled=true;" type="checkbox" '.$emn_forward_checkstatus.' value="1" name="autoforwardcheck" />'._UDDEIM_EMN_AUTOFORWARD.'<br />';
//	echo "<textarea name='autoforwardid' class='inputbox' rows='1' cols='6'".($ison==1 ? '' : 'disabled="disabled"').">".htmlentities($autoforwardid,ENT_QUOTES, $config->charset)."</textarea><br />";
	uddeIMdoShowAllUsers(0, Array(_UDDEIM_GID_SADMIN), $config, 2, $ison, $autoforwardid);		// show all users, I am an admin, $config, mode=2 forwarding box, enabled=$ison, selected name=$autoforwardid
	echo "<br />";
	// echo '<input type="submit" name="reply" class="button" value="'._UDDEIM_SAVECHANGE.'" />';
	echo '<input type="hidden" name="option" value="'.$option.'" />';
	echo '<input type="hidden" name="task" value="'.$task.'" />';
	echo '<input type="hidden" name="act" value="" />';
	echo '<input type="hidden" name="id" value="'.$emnid.'" />';
	echo '<input type="hidden" name="boxchecked" value="0" />';
	echo '<input type="hidden" name="hidemainmenu" value="0" />';
	echo "</form>";
}
} else {
	global $mainframe;
	require_once($mainframe->getCfg('absolute_path').'/components/com_uddeim/uddeimlib.php');
	require_once($mainframe->getCfg('absolute_path').'/administrator/components/com_uddeim/admin.uddeimlib.php');
}
require_once(uddeIMgetPath('absolute_path').'/administrator/components/com_uddeim/admin.shared.php');

if (uddeIMcheckJversion()>=4) {	// Joomla >=2.5
	// Options button. -> Action: "Configure"
	if (JFactory::getUser()->authorise('core.admin', 'com_uddeim')) {
		JToolBarHelper::preferences('com_uddeim');
	}
}

// $act = uddeIMmosGetParam( $_REQUEST, 'act', '' );
$index = uddeIMredirectIndex();

switch ($task) {
	case "mcp":
		mosMenuBar::startTable();
		mosMenuBar::addNew('messagedeliver', _UDDEIM_TOOLBAR_DELIVERMESSAGE);				// Deliver message
		mosMenuBar::deleteList('', 'messageremove', _UDDEIM_TOOLBAR_REMOVEMESSAGE);			// Delete Message
		mosMenuBar::back(_UDDEIM_TOOLBAR_BACK, $index."?option=$option&task=settings");
		mosMenuBar::spacer();
		mosMenuBar::endTable();
		break;
	case "spamcontrol":
		mosMenuBar::startTable();
		mosMenuBar::deleteList('', 'reportremove', _UDDEIM_TOOLBAR_REMOVEREPORT);			// Remove Report
		mosMenuBar::deleteList('', 'spamremove', _UDDEIM_TOOLBAR_REMOVESPAM);				// Delete Message
		mosMenuBar::back(_UDDEIM_TOOLBAR_BACK, $index."?option=$option&task=settings");
Example #4
0
function uddeIMremoveMessage($option, $task, $uddeid, $config) {
	$database = uddeIMgetDatabase();
	if (count($uddeid)) {
		if ($task=='messageremove') {
			foreach($uddeid AS $id) {
				uddeIMdeleteOnemessage($option, $task, 'delete', (int)$id, $config);
			}
		}
		if ($task=='messagedeliver') {
			foreach($uddeid AS $id) {
				uddeIMdeleteOnemessage($option, $task, 'deliver', (int)$id, $config);
			}
		}
	}
	$redirecturl = uddeIMredirectIndex()."?option=$option&task=mcp";
	uddeIMmosRedirect($redirecturl); 
}
function uddeIMremoveReportSPAM($option, $task, $uddeid, $config) {
	$database = uddeIMgetDatabase();
	if (count($uddeid)) {
		if ($task=='spamremove') {
			foreach($uddeid AS $id) {
				uddeIMdeleteOneReportSPAM($option, $task, 'delete', (int)$id, $config);
			}
		}
		if ($task=='reportremove') {
			foreach($uddeid AS $id) {
				uddeIMdeleteOneReportSPAM($option, $task, 'remove', (int)$id, $config);
			}
		}
	}
	$redirecturl = uddeIMredirectIndex()."?option=$option&task=spamcontrol";
	uddeIMmosRedirect($redirecturl); 
}
Example #6
0
function uddeIMshowstatistics($option, $task, $config) {
	$database = uddeIMgetDatabase();
	echo "<div style='text-align:left'>";
	echo "<p><b>"._UDDEADM_STATISTICS."</b></p>";

	echo "<table border='0'>";
	$query="SELECT count(id) FROM #__uddeim";
	$database->setQuery($query);
	$result=(int)$database->loadResult();
	echo "<tr><td>"._UDDEADM_MAINTENANCE_COUNT."</td><td>".$result."</td></tr>";

	$query="SELECT count(id) FROM #__uddeim WHERE totrash=1";
	$database->setQuery($query);
	$result=(int)$database->loadResult();
	echo "<tr><td>"._UDDEADM_MAINTENANCE_COUNT_RECIPIENT."</td><td>".$result."</td></tr>";

	$query="SELECT count(id) FROM #__uddeim WHERE totrashoutbox=1";
	$database->setQuery($query);
	$result=(int)$database->loadResult();
	echo "<tr><td>"._UDDEADM_MAINTENANCE_COUNT_SENDER."</td><td>".$result."</td></tr>";
	
	$query="SELECT count(id) FROM #__uddeim WHERE totrash=1 AND totrashoutbox=1";
	$database->setQuery($query);
	$result=(int)$database->loadResult();
	echo "<tr><td>"._UDDEADM_MAINTENANCE_COUNT_TRASH."</td><td>".$result."</td></tr>";

	$query="SELECT max(id) FROM #__uddeim";
	$database->setQuery($query);
	$result=(int)$database->loadResult();
	$max = $result;
	echo "<tr><td>"._UDDEADM_MAINTENANCE_ALLDAYS."</td><td>".$result."</td></tr>";
	
	$rightnow=uddetime((int)$config->timezone);
	$timeframe=$rightnow-(86400*7);
	$query="SELECT min(datum) FROM #__uddeim WHERE datum>=".(int)$timeframe;
	$database->setQuery($query);
	$result=(int)$database->loadResult();
	if (!$result) {
		$result = 0;
	} else {
		$query="SELECT min(id) FROM #__uddeim WHERE datum=".(int)$result." LIMIT 1";
		$database->setQuery($query);
		$result=(int)$database->loadResult();
		$result = $max - $result + 1;
	}
	echo "<tr><td>"._UDDEADM_MAINTENANCE_7DAYS."</td><td>".$result."</td></tr>";

	$rightnow=uddetime((int)$config->timezone);
	$timeframe=$rightnow-(86400*30);
	$query="SELECT min(datum) FROM #__uddeim WHERE datum>=".(int)$timeframe;
	$database->setQuery($query);
	$result=(int)$database->loadResult();
	if (!$result) {
		$result = 0;
	} else {
		$query="SELECT min(id) FROM #__uddeim WHERE datum=".(int)$result." LIMIT 1";
		$database->setQuery($query);
		$result=(int)$database->loadResult();
		$result = $max - $result + 1;
	}
	echo "<tr><td>"._UDDEADM_MAINTENANCE_30DAYS."</td><td>".$result."</td></tr>";

	$rightnow=uddetime((int)$config->timezone);
	$timeframe=$rightnow-(86400*365);
	$query="SELECT min(datum) FROM #__uddeim WHERE datum>=".(int)$timeframe;
	$database->setQuery($query);
	$result=(int)$database->loadResult();
	if (!$result) {
		$result = 0;
	} else {
		$query="SELECT min(id) FROM #__uddeim WHERE datum=".(int)$result." LIMIT 1";
		$database->setQuery($query);
		$result=(int)$database->loadResult();
		$result = $max - $result + 1;
	}
	echo "<tr><td>"._UDDEADM_MAINTENANCE_365DAYS."</td><td>".$result."</td></tr>";

	if ($config->enableattachment) {
		$query="SELECT COUNT(id) FROM #__uddeim_attachments";
		$database->setQuery($query);
		$result=(int)$database->loadResult();
		echo "<tr><td>"._UDDEADM_MAINTENANCE_COUNTFILES."</td><td>".$result."</td></tr>";

		$query="SELECT COUNT(DISTINCT fileid) FROM #__uddeim_attachments";
		$database->setQuery($query);
		$result=(int)$database->loadResult();
		echo "<tr><td>"._UDDEADM_MAINTENANCE_COUNTFILESDISTINCT."</td><td>".$result."</td></tr>";
	}

	echo "</table>";

	echo "<br />";
	$rightnow=uddetime($config->timezone);
	$sincewhen=$rightnow-($config->longwaitingdays*86400);
	$next = (int)$config->longwaitingdays*86400;
	$sql = "SELECT min(a.id) AS mid, a.toid, b.name, a.datum, c.remindersent FROM #__uddeim AS a, #__users AS b, #__uddeim_emn AS c "
		 . "WHERE a.toid=b.id AND a.toid=c.userid AND "
		 . "a.toread=0 AND a.totrash=0 AND b.block=0 AND "
		 . "a.datum<".$sincewhen." AND a.datum>".$config->forgetmenotstart." AND "
		 . "c.remindersent+".$next."<".$rightnow." "
		 . "GROUP BY a.toid";
	$database->setQuery($sql);
	$castaways=$database->loadObjectList();
	$text = sprintf(_UDDEADM_MAINTENANCE_HEAD1, $config->longwaitingdays);
	echo $text."<br />";
	echo "<table border='1' cellpadding='1' cellspacing='0'>";
	echo "<tr><th>"._UDDEADM_MAINTENANCE_NO."</th><th>"._UDDEADM_MAINTENANCE_USERID."</th><th>"._UDDEADM_MAINTENANCE_TONAME."</th><th>"._UDDEADM_MAINTENANCE_MID."</th><th>"._UDDEADM_MAINTENANCE_WRITTEN."</th><th>"._UDDEADM_MAINTENANCE_TIMER."</th></tr>";
	$loopcounter=1;
	foreach($castaways as $castaway) {
		echo "<tr><td>".$loopcounter."</td><td>".$castaway->toid."</td><td>".$castaway->name."</td><td>".$castaway->mid."</td><td>".uddeDate($castaway->datum, $config, uddeIMgetUserTZ())."</td><td>".uddeDate($castaway->remindersent, $config, uddeIMgetUserTZ())." / ".uddeDate($castaway->remindersent+$next, $config, uddeIMgetUserTZ())."</td></tr>";
		$loopcounter++;
	}
	echo "</table>";

	echo "<br />";
	$rightnow=uddetime($config->timezone)+7*86400;
	$sincewhen=$rightnow-($config->longwaitingdays*86400);
	$next = (int)$config->longwaitingdays*86400;
	$sql = "SELECT min(a.id) AS mid, a.toid, b.name, a.datum, c.remindersent FROM #__uddeim AS a, #__users AS b, #__uddeim_emn AS c "
		 . "WHERE a.toid=b.id AND a.toid=c.userid AND "
		 . "a.toread=0 AND a.totrash=0 AND b.block=0 AND "
		 . "a.datum<".$sincewhen." AND a.datum>".$config->forgetmenotstart." AND "
		 . "c.remindersent+".$next."<".$rightnow." "
		 . "GROUP BY a.toid";
	$database->setQuery($sql);
	$castaways=$database->loadObjectList();
	$text = sprintf(_UDDEADM_MAINTENANCE_HEAD2, 7);

	echo $text."<br />";
	echo "<table border='1' cellpadding='1' cellspacing='0'>";
	echo "<tr><th>"._UDDEADM_MAINTENANCE_NO."</th><th>"._UDDEADM_MAINTENANCE_USERID."</th><th>"._UDDEADM_MAINTENANCE_TONAME."</th><th>"._UDDEADM_MAINTENANCE_MID."</th><th>"._UDDEADM_MAINTENANCE_WRITTEN."</th><th>"._UDDEADM_MAINTENANCE_TIMER."</th></tr>";
	$loopcounter=1;
	foreach($castaways as $castaway) {
		echo "<tr><td>".$loopcounter."</td><td>".$castaway->toid."</td><td>".$castaway->name."</td><td>".$castaway->mid."</td><td>".uddeDate($castaway->datum, $config, uddeIMgetUserTZ())."</td><td>".uddeDate($castaway->remindersent, $config, uddeIMgetUserTZ())." / ".uddeDate($castaway->remindersent+$next, $config, uddeIMgetUserTZ())."</td></tr>";
		$loopcounter++;
	}
	echo "</table>";

	echo "<p><b><a href=".uddeIMredirectIndex()."?option=com_uddeim>"._UDDEADM_CONTINUE."</a></b></p>";
	echo "</div>";
}