コード例 #1
0
ファイル: cronjob.php プロジェクト: nemiah/fheME
 *  GNU General Public License for more details.
 *  You should have received a copy of the GNU General Public License
 *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 *  2007 - 2016, Rainer Furtmeier - Rainer@Furtmeier.IT
 */
if (isset($argv[1])) {
    $_GET["cloud"] = $argv[1];
}
if (isset($argv[2])) {
    $_SERVER["HTTP_HOST"] = $argv[2];
}
session_name("ExtConnKalender");
require_once realpath(dirname(__FILE__) . "/../../system/connect.php");
$absolutePathToPhynx = realpath(dirname(__FILE__) . "/../../") . "/";
$E = new ExtConn($absolutePathToPhynx);
$E->addClassPath($absolutePathToPhynx . "ubiquitous/xCal");
$E->addClassPath(FileStorage::getFilesDir());
$E->useDefaultMySQLData();
$E->useUser();
$AC = anyC::get("xCal", "xCalServerActive", "1");
while ($S = $AC->getNextEntry()) {
    // XML
    $xml = file_get_contents($S->A("xCalUrl"));
    if ($xml === false) {
        continue;
    }
    $S->changeA("xCalCache", $xml);
    $S->saveMe();
}
$E->cleanUp();
コード例 #2
0
ファイル: messenger.php プロジェクト: nemiah/fheME
require_once realpath(dirname(__FILE__) . "/../../system/connect.php");
register_shutdown_function('cronShutdownHandler');
function cronShutdownHandler()
{
    $last_error = error_get_last();
    if ($last_error['type'] !== E_ERROR) {
        return;
    }
    print_r(SysMessages::i()->getMessages());
}
$absolutePathToPhynx = realpath(dirname(__FILE__) . "/../../") . "/";
$e = new ExtConn($absolutePathToPhynx);
#$e->addClassPath($absolutePathToPhynx."/lightCRM/Mail");
$e->loadPlugin("fheME", "Nuntius");
$e->useDefaultMySQLData();
$e->useUser();
$caller = "";
if ($_GET["from"] == "FritzBox") {
    $data = explode(",", $_GET["message"]);
    $xml = file_get_contents("ftp://*****:*****@{$_SERVER['REMOTE_ADDR']}/phonebook.xml");
    $xml = str_replace("<?xml\nversion=\"1.0\" encoding=\"utf-8\">", "<?xml version=\"1.0\" encoding=\"utf-8\" ?><pb>", $xml) . "</pb>";
    libxml_use_internal_errors(false);
    try {
        $S = new SimpleXMLElement($xml);
        foreach ($S->phonebook as $PB) {
            foreach ($PB->contact as $C) {
                foreach ($C->telephony->number as $N) {
                    if (ltrim($N . "", "0") == ltrim($data[1], "0")) {
                        $caller = $C->person->realName . "";
                    }
                }
コード例 #3
0
ファイル: cronGlobalRSSParser.php プロジェクト: nemiah/fheME
while ($C = $ACC->getNextEntry()) {
    $zugaenge[] = $C->A("CloudUser");
}
syslog(LOG_INFO, "Checked accounts: " . implode(", ", $zugaenge));
$e->loadPlugin("ubiquitous", "RSSParser");
$lastUser = null;
$lastDir = null;
$lastZugang = null;
foreach ($zugaenge as $zugang) {
    #echo "-----------------\n";
    #echo $zugang."\n";
    $_GET["cloud"] = $zugang;
    $_SERVER["HTTP_HOST"] = $argv[1];
    Environment::reset();
    Session::reloadDBData();
    if (!$e->useUser()) {
        #echo "Kein Benutzer!\n";
        DBStorage::disconnect();
        continue;
    }
    $ek = Util::eK();
    if ($lastUser == $ek) {
        syslog(LOG_ERR, "Changing cloud failed! Test 1");
        throw new Exception("Changing cloud failed 1 ({$lastZugang} > {$zugang})!");
    }
    if ($lastDir == FileStorage::getFilesDir()) {
        syslog(LOG_ERR, "Changing cloud failed! Test 2");
        throw new Exception("Changing cloud failed 2 ({$lastZugang} > {$zugang})!");
    }
    $e->addClassPath(FileStorage::getFilesDir());
    try {