From ed30c60150ffda0301eb1f8d30c93cac94de41df Mon Sep 17 00:00:00 2001
From: tbrehm <t.brehm@ispconfig.org>
Date: Mon, 25 Jul 2011 10:38:22 -0400
Subject: [PATCH] Fixed some warnings in the installer.
---
server/plugins-available/getmail_plugin.inc.php | 33 +++++++++++++++++++++++++++------
1 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/server/plugins-available/getmail_plugin.inc.php b/server/plugins-available/getmail_plugin.inc.php
index 0e4d279..7c6669a 100644
--- a/server/plugins-available/getmail_plugin.inc.php
+++ b/server/plugins-available/getmail_plugin.inc.php
@@ -1,7 +1,7 @@
<?php
/*
-Copyright (c) 2007, Till Brehm, projektfarm Gmbh
+Copyright (c) 2007 - 2009, Till Brehm, projektfarm Gmbh
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
@@ -33,8 +33,20 @@
var $plugin_name = 'getmail_plugin';
var $class_name = 'getmail_plugin';
-
var $getmail_config_dir = '';
+
+ //* This function is called during ispconfig installation to determine
+ // if a symlink shall be created for this plugin.
+ function onInstall() {
+ global $conf;
+
+ if($conf['services']['mail'] == true) {
+ return true;
+ } else {
+ return false;
+ }
+
+ }
/*
This function is called when the plugin is loaded
@@ -96,12 +108,16 @@
} else {
$tpl = str_replace('{DELETE}','0',$tpl);
}
-
+
// Set the data retriever
if($data["new"]["type"] == 'pop3') {
$tpl = str_replace('{TYPE}','SimplePOP3Retriever',$tpl);
} elseif ($data["new"]["type"] == 'imap') {
$tpl = str_replace('{TYPE}','SimpleIMAPRetriever',$tpl);
+ } elseif ($data["new"]["type"] == 'pop3ssl') {
+ $tpl = str_replace('{TYPE}','SimplePOP3SSLRetriever',$tpl);
+ } elseif ($data["new"]["type"] == 'imapssl') {
+ $tpl = str_replace('{TYPE}','SimpleIMAPSSLRetriever',$tpl);
}
// Set server, username, password and destination.
@@ -113,8 +129,8 @@
// Write the config file.
file_put_contents($config_file_path,$tpl);
$app->log("Writing Getmail config file: $config_file_path",LOGLEVEL_DEBUG);
- exec("chmod 400 $config_file_path");
- exec("chown getmail $config_file_path");
+ chmod($config_file_path, 0400);
+ chown($config_file_path, 'getmail');
unset($tpl);
unset($config_file_path);
@@ -128,6 +144,11 @@
function delete($event_name,$data) {
global $app, $conf;
+ // load the server specific configuration options for getmail
+ $app->uses("getconf");
+ $getmail_config = $app->getconf->get_server_config($conf["server_id"], 'getmail');
+ $this->getmail_config_dir = $getmail_config["getmail_config_dir"];
+
$config_file_path = escapeshellcmd($this->getmail_config_dir.'/'.$data["old"]["source_server"].'_'.$data["old"]["source_username"].'.conf');
if(stristr($config_file_path,"..") || stristr($config_file_path,"|") || stristr($config_file_path,";") || stristr($config_file_path,'$')) {
$app->log("Possibly faked path for getmail config file: '$config_file_path'. File is not written.",LOGLEVEL_ERROR);
@@ -139,4 +160,4 @@
} // end class
-?>
\ No newline at end of file
+?>
--
Gitblit v1.9.1