replace array_key_exists where possible with isset
authorPaul Mehrer <p.mehrer@metaways.de>
Tue, 10 Dec 2013 15:20:06 +0000 (16:20 +0100)
committerPhilipp Schüle <p.schuele@metaways.de>
Tue, 10 Dec 2013 15:55:37 +0000 (16:55 +0100)
- see http://php.net/manual/de/function.array-key-exists.php#107786
- replaced 'array_key_exists()' with '(isset() || array_key_exists())

Change-Id: I926db8681fcc2ed20ad19db6ad6c20072457fea2
Reviewed-on: https://gerrit.tine20.org/tine20/2646
Tested-by: jenkins user
Reviewed-by: Philipp Schüle <p.schuele@metaways.de>
160 files changed:
tests/tine20/ActiveSync/Controller/EmailTests.php
tests/tine20/ActiveSync/TimezoneConverterTest.php
tests/tine20/Addressbook/ControllerTest.php
tests/tine20/Addressbook/JsonTest.php
tests/tine20/Calendar/Frontend/iMIPTest.php
tests/tine20/Calendar/JsonTests.php
tests/tine20/Calendar/Model/AttenderFilterTests.php
tests/tine20/Calendar/Model/EventTests.php
tests/tine20/Crm/ControllerTest.php
tests/tine20/Felamimail/AllTests.php
tests/tine20/Felamimail/JsonTest.php
tests/tine20/Felamimail/Model/AccountTest.php
tests/tine20/Phone/JsonTest.php
tests/tine20/Tasks/JsonTest.php
tests/tine20/Timetracker/AbstractTest.php
tests/tine20/Timetracker/JsonTest.php
tests/tine20/Tinebase/AuthTest.php
tests/tine20/Tinebase/ConfigTest.php
tests/tine20/Tinebase/Frontend/Json/PersistentFilterTest.php
tests/tine20/Tinebase/Frontend/JsonTest.php
tests/tine20/Tinebase/Record/RecordTest.php
tests/tine20/Tinebase/UserTest.php
tine20/ActiveSync/Controller/Calendar.php
tine20/ActiveSync/Controller/Email.php
tine20/ActiveSync/TimezoneConverter.php
tine20/Addressbook/Backend/Ldap.php
tine20/Addressbook/Controller/Contact.php
tine20/Addressbook/Convert/Contact/VCard/Factory.php
tine20/Addressbook/Model/Contact.php
tine20/Addressbook/Setup/Import/Egw14.php
tine20/Admin/Controller/Container.php
tine20/Admin/Frontend/Json.php
tine20/Admin/Setup/Update/Release3.php
tine20/Calendar/Controller/Event.php
tine20/Calendar/Controller/EventNotifications.php
tine20/Calendar/Convert/Event/Json.php
tine20/Calendar/Frontend/WebDAV/Backend.php
tine20/Calendar/Model/Attender.php
tine20/Calendar/Model/ContactAttendeeFilter.php
tine20/Calendar/Model/Event.php
tine20/Calendar/Model/Rrule.php
tine20/Calendar/Setup/Import/Egw14.php
tine20/Calendar/Setup/Update/Release3.php
tine20/Calendar/views/eventNotification.php
tine20/Crm/Model/Config.php
tine20/Crm/Setup/DemoData.php
tine20/Felamimail/Backend/Imap.php
tine20/Felamimail/Backend/ImapFactory.php
tine20/Felamimail/Backend/Sieve.php
tine20/Felamimail/Backend/SieveFactory.php
tine20/Felamimail/Controller/Account.php
tine20/Felamimail/Controller/Cache/Message.php
tine20/Felamimail/Controller/Message.php
tine20/Felamimail/Controller/Message/Move.php
tine20/Felamimail/Controller/Message/Send.php
tine20/Felamimail/Controller/Sieve.php
tine20/Felamimail/Model/Account.php
tine20/Felamimail/Model/Message.php
tine20/Felamimail/Setup/Update/Release3.php
tine20/Filemanager/Frontend/Json.php
tine20/HumanResources/Frontend/Cli.php
tine20/HumanResources/Frontend/Json.php
tine20/Inventory/Import/Csv.php
tine20/Setup/Backend/Abstract.php
tine20/Setup/Backend/Mysql.php
tine20/Setup/Backend/Oracle.php
tine20/Setup/Controller.php
tine20/Setup/Frontend/Cli.php
tine20/SimpleFAQ/Model/Config.php
tine20/Tasks/Frontend/WebDAV/Backend.php
tine20/Tasks/Setup/Update/Release5.php
tine20/Timetracker/Frontend/Cli.php
tine20/Timetracker/Model/TimeaccountFilter.php
tine20/Timetracker/Model/TimeaccountIdFilter.php
tine20/Tinebase/ActionQueue.php
tine20/Tinebase/Application.php
tine20/Tinebase/Auth.php
tine20/Tinebase/Auth/ModSsl/Certificate/ICPBrasil.php
tine20/Tinebase/Backend/Sql/Abstract.php
tine20/Tinebase/Backend/Sql/Command/Pgsql.php
tine20/Tinebase/Config.php
tine20/Tinebase/Config/Abstract.php
tine20/Tinebase/Config/Struct.php
tine20/Tinebase/Controller/Record/Abstract.php
tine20/Tinebase/Convert/Json.php
tine20/Tinebase/CustomField.php
tine20/Tinebase/EmailUser/Imap/Cyrus.php
tine20/Tinebase/EmailUser/Imap/Dbmail.php
tine20/Tinebase/EmailUser/Imap/Dovecot.php
tine20/Tinebase/EmailUser/Ldap.php
tine20/Tinebase/EmailUser/Smtp/Postfix.php
tine20/Tinebase/EmailUser/Sql.php
tine20/Tinebase/Exception.php
tine20/Tinebase/Export.php
tine20/Tinebase/Export/Abstract.php
tine20/Tinebase/FileSystem.php
tine20/Tinebase/Frontend/Cli.php
tine20/Tinebase/Frontend/Cli/Abstract.php
tine20/Tinebase/Frontend/Http.php
tine20/Tinebase/Frontend/Json.php
tine20/Tinebase/Frontend/Json/Abstract.php
tine20/Tinebase/Group/Ldap.php
tine20/Tinebase/Group/Samba4.php
tine20/Tinebase/Group/Typo3.php
tine20/Tinebase/Helper.php
tine20/Tinebase/ImageHelper.php
tine20/Tinebase/Import/Abstract.php
tine20/Tinebase/Import/Csv/Abstract.php
tine20/Tinebase/Ldap.php
tine20/Tinebase/Model/Alarm.php
tine20/Tinebase/Model/Container.php
tine20/Tinebase/Model/CustomField/Config.php
tine20/Tinebase/Model/Filter/Abstract.php
tine20/Tinebase/Model/Filter/Container.php
tine20/Tinebase/Model/Filter/Date.php
tine20/Tinebase/Model/Filter/DateTime.php
tine20/Tinebase/Model/Filter/FilterGroup.php
tine20/Tinebase/Model/Filter/ForeignId.php
tine20/Tinebase/Model/Filter/ForeignRecord.php
tine20/Tinebase/Model/Filter/Id.php
tine20/Tinebase/Model/Filter/Relation.php
tine20/Tinebase/Model/Filter/Text.php
tine20/Tinebase/Model/Filter/User.php
tine20/Tinebase/Model/Tree/Node/Path.php
tine20/Tinebase/Model/User.php
tine20/Tinebase/ModelConfiguration.php
tine20/Tinebase/Notes.php
tine20/Tinebase/Preference/Abstract.php
tine20/Tinebase/Record/Abstract.php
tine20/Tinebase/Record/Iterator.php
tine20/Tinebase/Record/RecordSet.php
tine20/Tinebase/Relations.php
tine20/Tinebase/Scheduler/Task.php
tine20/Tinebase/Setup/DemoData/Abstract.php
tine20/Tinebase/Setup/Import/Egw14/Abstract.php
tine20/Tinebase/Setup/Update/Release0.php
tine20/Tinebase/Setup/Update/Release5.php
tine20/Tinebase/Setup/Update/Release7.php
tine20/Tinebase/Tags.php
tine20/Tinebase/Timemachine/ModificationLog.php
tine20/Tinebase/Translation.php
tine20/Tinebase/User.php
tine20/Tinebase/User/Abstract.php
tine20/Tinebase/User/ActiveDirectory.php
tine20/Tinebase/User/Ldap.php
tine20/Tinebase/User/Plugin/Abstract.php
tine20/Tinebase/User/Plugin/Samba.php
tine20/Tinebase/User/Samba4.php
tine20/Tinebase/User/Sql.php
tine20/Zend/Auth/Adapter/Http/Ntlm.php
tine20/Zend/Auth/Adapter/Http/Ntlm/Identity.php
tine20/Zend/Cache/Backend/Memcached.php
tine20/Zend/Cache/Backend/Redis.php
tine20/Zend/Db/Table/Abstract.php
tine20/Zend/Filter/Input.php
tine20/Zend/Json/Client/Response.php
tine20/Zend/Json/Client/SMD.php
tine20/Zend/Json/Server.php
tine20/Zend/Queue/Adapter/Db.php
tine20/langHelper.php

index 7a95b26..1c6722e 100644 (file)
@@ -77,7 +77,7 @@ class ActiveSync_Controller_EmailTests extends PHPUnit_Framework_TestCase
     protected function setUp()
     {
         $imapConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::IMAP, new Tinebase_Config_Struct())->toArray();
-        if (empty($imapConfig) || !array_key_exists('useSystemAccount', $imapConfig) || $imapConfig['useSystemAccount'] != true) {
+        if (empty($imapConfig) || !(isset($imapConfig['useSystemAccount']) || array_key_exists('useSystemAccount', $imapConfig)) || $imapConfig['useSystemAccount'] != true) {
             $this->markTestSkipped('IMAP backend not configured');
         }
         $this->_testUser    = Tinebase_Core::getUser();
index 26da3ba..4d1602f 100755 (executable)
@@ -154,7 +154,7 @@ class ActiveSync_TimezoneConverterTest extends PHPUnit_Framework_TestCase
         foreach ($this->_fixtures as $timezoneIdentifier => $offsets) {
             $timezoneAbbr = $this->_timezoneIdentifierToAbbreviation[$timezoneIdentifier];
             $result = $this->_uit->getListOfTimezones($offsets);
-            $this->assertTrue(array_key_exists($timezoneIdentifier, $result));
+            $this->assertTrue((isset($result[$timezoneIdentifier]) || array_key_exists($timezoneIdentifier, $result)));
             $this->assertEquals($timezoneAbbr,$result[$timezoneIdentifier]);
         }        
     }
@@ -164,7 +164,7 @@ class ActiveSync_TimezoneConverterTest extends PHPUnit_Framework_TestCase
         foreach ($this->_packedFixtrues as $timezoneIdentifier => $packedTimezoneInfo) {
             $timezoneAbbr = $this->_timezoneIdentifierToAbbreviation[$timezoneIdentifier];
             $result = $this->_uit->getListOfTimezones($packedTimezoneInfo);
-            $this->assertTrue(array_key_exists($timezoneIdentifier, $result));
+            $this->assertTrue((isset($result[$timezoneIdentifier]) || array_key_exists($timezoneIdentifier, $result)));
             $this->assertEquals($timezoneAbbr, $result[$timezoneIdentifier]);
             
 //            $result = $this->_uit->getTimezoneForPackedTimezoneInfo($packedTimezoneInfo);
@@ -177,7 +177,7 @@ class ActiveSync_TimezoneConverterTest extends PHPUnit_Framework_TestCase
         foreach ($this->_fixtures as $timezoneIdentifier => $offsets) {
             $timezoneAbbr = $this->_timezoneIdentifierToAbbreviation[$timezoneIdentifier];
             $matchedTimezones = $this->_uit->getListOfTimezones($offsets, $timezoneIdentifier);
-            $this->assertTrue(array_key_exists($timezoneIdentifier, $matchedTimezones));
+            $this->assertTrue((isset($matchedTimezones[$timezoneIdentifier]) || array_key_exists($timezoneIdentifier, $matchedTimezones)));
             $this->assertEquals($timezoneAbbr, $matchedTimezones[$timezoneIdentifier]);
         }
         
index 63f7863..56d17bf 100644 (file)
@@ -171,7 +171,7 @@ class Addressbook_ControllerTest extends PHPUnit_Framework_TestCase
     {
         Addressbook_Controller_Contact::getInstance()->setGeoDataForContacts($this->_geodata);
         
-        if (array_key_exists('contact', $this->objects)) {
+        if ((isset($this->objects['contact']) || array_key_exists('contact', $this->objects))) {
             $this->_instance->delete($this->objects['contact']);
         }
     }
index b183090..dcd891d 100644 (file)
@@ -1467,9 +1467,9 @@ Fax: +49 (0)40 343244-222";
         
         $result = $this->_instance->parseAddressData($addressString);
         
-        $this->assertTrue(array_key_exists('contact', $result));
+        $this->assertTrue((isset($result['contact']) || array_key_exists('contact', $result)));
         $this->assertTrue(is_array($result['contact']));
-        $this->assertTrue(array_key_exists('unrecognizedTokens', $result));
+        $this->assertTrue((isset($result['unrecognizedTokens']) || array_key_exists('unrecognizedTokens', $result)));
         $this->assertTrue(count($result['unrecognizedTokens']) > 10 && count($result['unrecognizedTokens']) < 13,
             'unrecognizedTokens number mismatch: ' . count('unrecognizedTokens'));
         $this->assertEquals('p.schuele@metaways.de', $result['contact']['email']);
index ed4324b..9a57247 100644 (file)
@@ -196,7 +196,7 @@ class Calendar_Frontend_iMIPTest extends PHPUnit_Framework_TestCase
         
         $prepared = $this->_iMIPFrontend->prepareComponent($iMIP);
         $this->assertFalse(empty($prepared->preconditions));
-        $this->assertTrue(array_key_exists(Calendar_Model_iMIP::PRECONDITION_RECENT, $prepared->preconditions));
+        $this->assertTrue((isset($prepared->preconditions[Calendar_Model_iMIP::PRECONDITION_RECENT]) || array_key_exists(Calendar_Model_iMIP::PRECONDITION_RECENT, $prepared->preconditions)));
     }
     
     /**
@@ -351,7 +351,7 @@ class Calendar_Frontend_iMIPTest extends PHPUnit_Framework_TestCase
         $prepared = $this->_iMIPFrontend->prepareComponent($iMIP);
         
         $this->assertFalse(empty($prepared->preconditions), 'empty preconditions');
-        $this->assertTrue(array_key_exists(Calendar_Model_iMIP::PRECONDITION_TOPROCESS, $prepared->preconditions), 'missing PRECONDITION_TOPROCESS');
+        $this->assertTrue((isset($prepared->preconditions[Calendar_Model_iMIP::PRECONDITION_TOPROCESS]) || array_key_exists(Calendar_Model_iMIP::PRECONDITION_TOPROCESS, $prepared->preconditions)), 'missing PRECONDITION_TOPROCESS');
     }
     
     /**
index 7a9c136..20f1b4a 100644 (file)
@@ -145,7 +145,7 @@ class Calendar_JsonTests extends Calendar_TestCase
         $this->assertGreaterThan(0, count($loadedEventData['alarms']));
         $this->assertEquals('Calendar_Model_Event', $loadedEventData['alarms'][0]['model']);
         $this->assertEquals(Tinebase_Model_Alarm::STATUS_PENDING, $loadedEventData['alarms'][0]['sent_status']);
-        $this->assertTrue(array_key_exists('minutes_before', $loadedEventData['alarms'][0]), 'minutes_before is missing');
+        $this->assertTrue((isset($loadedEventData['alarms'][0]['minutes_before']) || array_key_exists('minutes_before', $loadedEventData['alarms'][0])), 'minutes_before is missing');
         
         $scheduler = Tinebase_Core::getScheduler();
         $scheduler->addTask('Tinebase_Alarm', $this->createTask());
@@ -499,7 +499,7 @@ class Calendar_JsonTests extends Calendar_TestCase
         foreach ($searchResultData['results'] as $event) {
             $summaryMap[$event['dtstart']] = $event['summary'];
         }
-        $this->assertTrue(array_key_exists('2009-04-01 06:00:00', $summaryMap));
+        $this->assertTrue((isset($summaryMap['2009-04-01 06:00:00']) || array_key_exists('2009-04-01 06:00:00', $summaryMap)));
         $this->assertEquals($persistentException['summary'], $summaryMap['2009-04-01 06:00:00']);
         
         return $searchResultData;
@@ -592,7 +592,7 @@ class Calendar_JsonTests extends Calendar_TestCase
             $summaryMap[$event['dtstart']] = $event['summary'];
         }
         
-        $this->assertTrue(array_key_exists('2009-04-01 20:00:00', $summaryMap));
+        $this->assertTrue((isset($summaryMap['2009-04-01 20:00:00']) || array_key_exists('2009-04-01 20:00:00', $summaryMap)));
         $this->assertEquals('go sleeping', $summaryMap['2009-04-01 20:00:00']);
         
         $fishings = array_keys($summaryMap, 'go fishing');
@@ -734,13 +734,13 @@ class Calendar_JsonTests extends Calendar_TestCase
             . print_r($eventData, TRUE) . 'search filter: ' . print_r($filter, TRUE));
         $eventData = $searchResultData['results'][0];
         
-        $this->assertFalse(array_key_exists('summary', $eventData), 'summary not empty: ' . print_r($eventData, TRUE));
-        $this->assertFalse(array_key_exists('description', $eventData), 'description not empty');
-        $this->assertFalse(array_key_exists('tags', $eventData), 'tags not empty');
-        $this->assertFalse(array_key_exists('notes', $eventData), 'notes not empty');
-        $this->assertFalse(array_key_exists('attendee', $eventData), 'attendee not empty');
-        $this->assertFalse(array_key_exists('organizer', $eventData), 'organizer not empty');
-        $this->assertFalse(array_key_exists('alarms', $eventData), 'alarms not empty');
+        $this->assertFalse((isset($eventData['summary']) || array_key_exists('summary', $eventData)), 'summary not empty: ' . print_r($eventData, TRUE));
+        $this->assertFalse((isset($eventData['description']) || array_key_exists('description', $eventData)), 'description not empty');
+        $this->assertFalse((isset($eventData['tags']) || array_key_exists('tags', $eventData)), 'tags not empty');
+        $this->assertFalse((isset($eventData['notes']) || array_key_exists('notes', $eventData)), 'notes not empty');
+        $this->assertFalse((isset($eventData['attendee']) || array_key_exists('attendee', $eventData)), 'attendee not empty');
+        $this->assertFalse((isset($eventData['organizer']) || array_key_exists('organizer', $eventData)), 'organizer not empty');
+        $this->assertFalse((isset($eventData['alarms']) || array_key_exists('alarms', $eventData)), 'alarms not empty');
     }
     
     /**
@@ -812,11 +812,11 @@ class Calendar_JsonTests extends Calendar_TestCase
         $this->assertEquals(count($expectedEventData['tags']), count($eventData['tags']), $msg . ': failed to append tag');
         $this->assertEquals(count($expectedEventData['notes']), count($eventData['notes']), $msg . ': failed to create note or wrong number of notes');
         
-        if (array_key_exists('alarms', $expectedEventData)) {
-            $this->assertTrue(array_key_exists('alarms', $eventData), ': failed to create alarms');
+        if ((isset($expectedEventData['alarms']) || array_key_exists('alarms', $expectedEventData))) {
+            $this->assertTrue((isset($eventData['alarms']) || array_key_exists('alarms', $eventData)), ': failed to create alarms');
             $this->assertEquals(count($expectedEventData['alarms']), count($eventData['alarms']), $msg . ': failed to create correct number of alarms');
             if (count($expectedEventData['alarms']) > 0) {
-                $this->assertTrue(array_key_exists('minutes_before', $eventData['alarms'][0]));
+                $this->assertTrue((isset($eventData['alarms'][0]['minutes_before']) || array_key_exists('minutes_before', $eventData['alarms'][0])));
             }
         }
     }
@@ -834,7 +834,7 @@ class Calendar_JsonTests extends Calendar_TestCase
         
         foreach ($attendeeData as $key => $attender) {
             if ($attender['user_type'] == Calendar_Model_Attender::USERTYPE_USER) {
-                if (is_array($attender['user_id']) && array_key_exists('id', $attender['user_id'])) {
+                if (is_array($attender['user_id']) && (isset($attender['user_id']['id']) || array_key_exists('id', $attender['user_id']))) {
                     if ($attender['user_id']['id'] == $searchedId) {
                         $attenderData = $attendeeData[$key];
                     }
index 1f7d0c0..3676f2c 100644 (file)
@@ -86,7 +86,7 @@ class Calendar_Model_AttenderFilterTests extends Calendar_TestCase
         $generatedFilterArray = $filterModel->toArray(false);
         
         $this->assertEquals('equals', $generatedFilterArray['operator'], 'operator missmatch');
-        $this->assertTrue(array_key_exists('user_type', $generatedFilterArray['value']), 'broken value structure');
+        $this->assertTrue((isset($generatedFilterArray['value']['user_type']) || array_key_exists('user_type', $generatedFilterArray['value'])), 'broken value structure');
         $this->assertEquals($filterArray['user_type'], $generatedFilterArray['value']['user_type']);
         $this->assertEquals($filterArray['user_id'], $generatedFilterArray['value']['user_id']);
     }
@@ -103,7 +103,7 @@ class Calendar_Model_AttenderFilterTests extends Calendar_TestCase
         $generatedFilterArray = $filterModel->toArray(true);
         
         $this->assertEquals('equals', $generatedFilterArray['operator'], 'operator missmatch');
-        $this->assertTrue(array_key_exists('user_type', $generatedFilterArray['value']), 'broken value structure');
+        $this->assertTrue((isset($generatedFilterArray['value']['user_type']) || array_key_exists('user_type', $generatedFilterArray['value'])), 'broken value structure');
         $this->assertEquals($filterArray['user_type'], $generatedFilterArray['value']['user_type']);
         $this->assertTrue(is_array($generatedFilterArray['value']['user_id']), "value['user_id'] should be an array");
         $this->assertEquals($filterArray['user_id'], $generatedFilterArray['value']['user_id']['id'],  "id missmatch");
index c899830..0d80508 100644 (file)
@@ -115,11 +115,11 @@ class Calendar_Model_EventTests extends PHPUnit_Framework_TestCase
         
         $update->rrule = 'FREQ=WEEKLY;INTERVAL=1;BYDAY=TH;WKST=MO;UNTIL=2011-12-24 22:59:59';
         $diff = $event->diff($update);
-        $this->assertFalse(array_key_exists('rrule', $diff->diff), 'parts order change:' . print_r($diff->toArray(), TRUE));
+        $this->assertFalse((isset($diff->diff['rrule']) || array_key_exists('rrule', $diff->diff)), 'parts order change:' . print_r($diff->toArray(), TRUE));
         
         // real change
         $update->rrule = 'FREQ=WEEKLY;INTERVAL=;BYDAY=TH;WKST=SU';
         $diff = $event->diff($update);
-        $this->assertTrue(array_key_exists('rrule',$diff->diff), 'real change should have diff! diff:' . print_r($diff->toArray(), TRUE));
+        $this->assertTrue((isset($diff->diff['rrule']) || array_key_exists('rrule',$diff->diff)), 'real change should have diff! diff:' . print_r($diff->toArray(), TRUE));
     }
 }
index 3ebe972..a2ddc64 100644 (file)
@@ -62,7 +62,7 @@ class Crm_ControllerTest extends PHPUnit_Framework_TestCase
      */
     protected function setUp()
     {
-        $GLOBALS['Crm_ControllerTest'] = array_key_exists('Crm_ControllerTest', $GLOBALS) ? $GLOBALS['Crm_ControllerTest'] : array();
+        $GLOBALS['Crm_ControllerTest'] = (isset($GLOBALS['Crm_ControllerTest']) || array_key_exists('Crm_ControllerTest', $GLOBALS)) ? $GLOBALS['Crm_ControllerTest'] : array();
         
         $personalContainer = Tinebase_Container::getInstance()->getPersonalContainer(
             Zend_Registry::get('currentAccount'), 
index 646a4e3..58a2338 100644 (file)
@@ -35,7 +35,7 @@ class Felamimail_AllTests
         
         // only call Felamimail tests if imap is configured in config.inc.php
         $imapConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::IMAP, new Tinebase_Config_Struct())->toArray();
-        if (! empty($imapConfig) && array_key_exists('useSystemAccount', $imapConfig) && $imapConfig['useSystemAccount']) {
+        if (! empty($imapConfig) && (isset($imapConfig['useSystemAccount']) || array_key_exists('useSystemAccount', $imapConfig)) && $imapConfig['useSystemAccount']) {
             $suite->addTestSuite('Felamimail_Controller_Cache_MessageTest');
             $suite->addTestSuite('Felamimail_JsonTest');
             $suite->addTestSuite('Felamimail_Controller_FolderTest');
index 433792b..8115fba 100644 (file)
@@ -928,7 +928,7 @@ class Felamimail_JsonTest extends PHPUnit_Framework_TestCase
         $this->assertEquals('Verbessurüngsvorschlag.eml', $forwardMessageComplete['attachments'][0]['filename'], 'umlaut missing from attachment filename');
         
         $forwardMessage = $this->_json->getMessage($forwardMessage['id']);
-        $this->assertTrue(array_key_exists('structure', $forwardMessage), 'structure should be set when fetching complete message: ' . print_r($forwardMessage, TRUE));
+        $this->assertTrue((isset($forwardMessage['structure']) || array_key_exists('structure', $forwardMessage)), 'structure should be set when fetching complete message: ' . print_r($forwardMessage, TRUE));
         $this->assertEquals(Felamimail_Model_Message::CONTENT_TYPE_MESSAGE_RFC822, $forwardMessage['structure']['parts'][2]['contentType']);
         
         $message = $this->_json->getMessage($message['id']);
@@ -1570,7 +1570,7 @@ class Felamimail_JsonTest extends PHPUnit_Framework_TestCase
         $this->_setTestScriptname();
         
         // check which save fn to use
-        if (array_key_exists('reason', $_sieveData)) {
+        if ((isset($_sieveData['reason']) || array_key_exists('reason', $_sieveData))) {
             $resultSet = $this->_json->saveVacation($_sieveData);
             $this->assertEquals($this->_account->email, $resultSet['addresses'][0]);
             
@@ -1592,7 +1592,7 @@ class Felamimail_JsonTest extends PHPUnit_Framework_TestCase
                 $this->assertEquals($_sieveData['reason'], $resultSet['reason']);
             }
             
-        } else if (array_key_exists('action_type', $_sieveData[0])) {
+        } else if ((isset($_sieveData[0]['action_type']) || array_key_exists('action_type', $_sieveData[0]))) {
             $resultSet = $this->_json->saveRules($this->_account->getId(), $_sieveData);
             $this->assertEquals($_sieveData, $resultSet);
         }
index 0a87cf5..e4bb5fb 100644 (file)
@@ -69,7 +69,7 @@ class Felamimail_Model_AccountTest extends PHPUnit_Framework_TestCase
         ));
         $accountSmtpConfig = $account->getSmtpConfig();
         
-        if (array_key_exists('primarydomain', $smtpConfig)) {
+        if ((isset($smtpConfig['primarydomain']) || array_key_exists('primarydomain', $smtpConfig))) {
             $this->assertContains($smtpConfig['primarydomain'], $accountSmtpConfig['username']);
         }
         
index 70777b3..3eb2ce4 100644 (file)
@@ -302,7 +302,7 @@ class Phone_JsonTest extends PHPUnit_Framework_TestCase
         $userPhone = $this->_json->getMyPhone($this->_objects['phone']->getId());
         
         $this->assertEquals('user phone', $userPhone['description'], 'no description');
-        $this->assertTrue(array_key_exists('web_language', $userPhone), 'missing web_language:' . print_r($userPhone, TRUE));
+        $this->assertTrue((isset($userPhone['web_language']) || array_key_exists('web_language', $userPhone)), 'missing web_language:' . print_r($userPhone, TRUE));
         $this->assertEquals('English', $userPhone['web_language'], 'wrong web_language');
         $this->assertGreaterThan(0, count($userPhone['lines']), 'no lines attached');
 
@@ -341,7 +341,7 @@ class Phone_JsonTest extends PHPUnit_Framework_TestCase
         $status = $this->_json->dialNumber($number, $phoneId, $lineId);
         
         $this->assertEquals('array', gettype($status));
-        $this->assertTrue(array_key_exists('success', $status));
+        $this->assertTrue((isset($status['success']) || array_key_exists('success', $status)));
         $this->assertTrue($status['success']);
     }
 }
index ada93ef..5b64fb0 100644 (file)
@@ -227,7 +227,7 @@ class Tasks_JsonTest extends PHPUnit_Framework_TestCase
         $this->assertGreaterThan(0, count($_taskData['alarms']));
         $this->assertEquals('Tasks_Model_Task', $_taskData['alarms'][0]['model']);
         $this->assertEquals(Tinebase_Model_Alarm::STATUS_PENDING, $_taskData['alarms'][0]['sent_status']);
-        $this->assertTrue(array_key_exists('minutes_before', $_taskData['alarms'][0]), 'minutes_before is missing');
+        $this->assertTrue((isset($_taskData['alarms'][0]['minutes_before']) || array_key_exists('minutes_before', $_taskData['alarms'][0])), 'minutes_before is missing');
     }
     
     /**
@@ -254,7 +254,7 @@ class Tasks_JsonTest extends PHPUnit_Framework_TestCase
         $this->assertGreaterThan(0, count($loadedTaskData['alarms']));
         $this->assertEquals('Tasks_Model_Task', $loadedTaskData['alarms'][0]['model']);
         $this->assertEquals(Tinebase_Model_Alarm::STATUS_PENDING, $loadedTaskData['alarms'][0]['sent_status']);
-        $this->assertTrue(array_key_exists('minutes_before', $loadedTaskData['alarms'][0]), 'minutes_before is missing');
+        $this->assertTrue((isset($loadedTaskData['alarms'][0]['minutes_before']) || array_key_exists('minutes_before', $loadedTaskData['alarms'][0])), 'minutes_before is missing');
         $this->assertEquals(2*24*60, $loadedTaskData['alarms'][0]['minutes_before']);
 
        // reset automatic alarms config
index c8ce8bb..f80e27e 100644 (file)
@@ -365,8 +365,8 @@ abstract class Timetracker_AbstractTest extends PHPUnit_Framework_TestCase
         $timesheetData = $this->_json->saveTimesheet($timesheetArray);
 
         // checks
-        $this->assertTrue(array_key_exists($_customField1->name, $timesheetData['customfields']), 'cf 1 not found');
-        $this->assertTrue(array_key_exists($customField2->name, $timesheetData['customfields']), 'cf 2 not found');
+        $this->assertTrue((isset($timesheetData['customfields'][$_customField1->name]) || array_key_exists($_customField1->name, $timesheetData['customfields'])), 'cf 1 not found');
+        $this->assertTrue((isset($timesheetData['customfields'][$customField2->name]) || array_key_exists($customField2->name, $timesheetData['customfields'])), 'cf 2 not found');
         $this->assertGreaterThan(0, count($timesheetData['customfields']));
         $this->assertEquals($timesheetArray[$_customField1->name], $timesheetData['customfields'][$_customField1->name]);
         $this->assertEquals($timesheetArray[$customField2->name], $timesheetData['customfields'][$customField2->name]);
@@ -380,8 +380,8 @@ abstract class Timetracker_AbstractTest extends PHPUnit_Framework_TestCase
             }
         }
         $this->assertTrue(isset($ts));
-        $this->assertTrue(array_key_exists($_customField1->name, $ts['customfields']));
-        $this->assertTrue(array_key_exists($customField2->name, $ts['customfields']));
+        $this->assertTrue((isset($ts['customfields'][$_customField1->name]) || array_key_exists($_customField1->name, $ts['customfields'])));
+        $this->assertTrue((isset($ts['customfields'][$customField2->name]) || array_key_exists($customField2->name, $ts['customfields'])));
         $this->assertEquals($timesheetArray[$_customField1->name], $ts['customfields'][$_customField1->name]);
         $this->assertEquals($timesheetArray[$customField2->name], $ts['customfields'][$customField2->name]);
 
index f4c76a3..0967cc0 100644 (file)
@@ -249,20 +249,20 @@ class Timetracker_JsonTest extends Timetracker_AbstractTest
         $ts = $this->_json->saveTimesheet($timesheetArray);
 
         // test with default grants
-        $this->assertTrue(array_key_exists($cf->name, $ts['customfields']), 'customfield should be readable');
+        $this->assertTrue((isset($ts['customfields'][$cf->name]) || array_key_exists($cf->name, $ts['customfields'])), 'customfield should be readable');
         $this->assertEquals($value, $ts['customfields'][$cf->name]);
 
         // remove all grants
         Tinebase_CustomField::getInstance()->setGrants($cf, array());
         $ts = $this->_json->getTimesheet($ts['id']);
 
-        $this->assertTrue(! array_key_exists('customfields', $ts), 'customfields should not be readable');
+        $this->assertTrue(! (isset($ts['customfields']) || array_key_exists('customfields', $ts)), 'customfields should not be readable');
         $ts = $this->_updateCfOfTs($ts, $cf->name, 'try to update');
 
         // only read allowed
         Tinebase_CustomField::getInstance()->setGrants($cf, array(Tinebase_Model_CustomField_Grant::GRANT_READ));
         $ts = $this->_json->getTimesheet($ts['id']);
-        $this->assertTrue(array_key_exists($cf->name, $ts['customfields']), 'customfield should be readable again');
+        $this->assertTrue((isset($ts['customfields'][$cf->name]) || array_key_exists($cf->name, $ts['customfields'])), 'customfield should be readable again');
         $this->assertEquals($value, $ts['customfields'][$cf->name], 'value should not have changed');
         $ts = $this->_updateCfOfTs($ts, $cf->name, 'try to update');
         $this->assertEquals($value, $ts['customfields'][$cf->name], 'value should still not have changed');
index a39fa3e..7428767 100644 (file)
@@ -147,14 +147,14 @@ class Tinebase_AuthTest extends PHPUnit_Framework_TestCase
     public function testGetBackendConfigurationDefaults()
     {
         $defaults = Tinebase_Auth::getBackendConfigurationDefaults();
-        $this->assertTrue(array_key_exists(Tinebase_Auth::SQL, $defaults));
-        $this->assertTrue(array_key_exists(Tinebase_Auth::LDAP, $defaults));
+        $this->assertTrue((isset($defaults[Tinebase_Auth::SQL]) || array_key_exists(Tinebase_Auth::SQL, $defaults)));
+        $this->assertTrue((isset($defaults[Tinebase_Auth::LDAP]) || array_key_exists(Tinebase_Auth::LDAP, $defaults)));
         $this->assertTrue(is_array($defaults[Tinebase_Auth::LDAP]));
-        $this->assertFalse(array_key_exists('host', $defaults));
+        $this->assertFalse((isset($defaults['host']) || array_key_exists('host', $defaults)));
         
         $defaults = Tinebase_Auth::getBackendConfigurationDefaults(Tinebase_Auth::LDAP);
-        $this->assertTrue(array_key_exists('host', $defaults));
-        $this->assertFalse(array_key_exists(Tinebase_Auth::LDAP, $defaults));
+        $this->assertTrue((isset($defaults['host']) || array_key_exists('host', $defaults)));
+        $this->assertFalse((isset($defaults[Tinebase_Auth::LDAP]) || array_key_exists(Tinebase_Auth::LDAP, $defaults)));
     }
     
     /**
index d56d97a..95c79e4 100644 (file)
@@ -94,7 +94,7 @@ class Tinebase_ConfigTest extends PHPUnit_Framework_TestCase
     {
         $configData = include('config.inc.php');
         
-        if (! array_key_exists('Overwrite Test', $configData)) {
+        if (! (isset($configData['Overwrite Test']) || array_key_exists('Overwrite Test', $configData))) {
             $this->markTestSkipped('config.inc.php has no test key "Overwrite Test"');
             return;
         }
@@ -144,7 +144,7 @@ class Tinebase_ConfigTest extends PHPUnit_Framework_TestCase
         $this->assertTrue($clientConfig->Calendar instanceof Tinebase_Config_Struct, 'calendar clientconfig is not a struct');
         $this->assertEquals(Calendar_Config::getInstance()->fixedCalendars, $clientConfig->Calendar->fixedCalendars->value, 'fixed calendar config not correct');
         
-        $this->assertFalse(array_key_exists('SMTP', $clientConfig->Tinebase), 'SMTP is not a client config');
+        $this->assertFalse((isset($clientConfig->Tinebase['SMTP']) || array_key_exists('SMTP', $clientConfig->Tinebase)), 'SMTP is not a client config');
     }
     
     /**
index bef4def..6b0e206 100644 (file)
@@ -168,7 +168,7 @@ class Tinebase_Frontend_Json_PersistentFilterTest extends PHPUnit_Framework_Test
         $tfj = new Tinebase_Frontend_Json();
         $allRegData = $tfj->getRegistryData();
         
-        $this->assertTrue(array_key_exists('persistentFilters', $allRegData), 'persistentFilters is missing in $allRegData');
+        $this->assertTrue((isset($allRegData['persistentFilters']) || array_key_exists('persistentFilters', $allRegData)), 'persistentFilters is missing in $allRegData');
         
         $ids = array();
         foreach($allRegData['persistentFilters']['results'] as $filterData) {
@@ -284,8 +284,8 @@ class Tinebase_Frontend_Json_PersistentFilterTest extends PHPUnit_Framework_Test
         $this->assertTrue(is_array($savedFilterData), 'saved filter should be an array');
         $this->assertEquals($expectedFilterData['name'],  $savedFilterData['name'], 'name does not match');
         
-        $this->assertTrue(array_key_exists('filters', $savedFilterData), 'saved filter data is not included');
-        $this->assertTrue(array_key_exists('name', $savedFilterData), 'saved filter name is not included');
+        $this->assertTrue((isset($savedFilterData['filters']) || array_key_exists('filters', $savedFilterData)), 'saved filter data is not included');
+        $this->assertTrue((isset($savedFilterData['name']) || array_key_exists('name', $savedFilterData)), 'saved filter name is not included');
         
         foreach($expectedFilterData['filters'] as $requestFilter) {
             $responseFilter = $this->_getFilter($requestFilter['field'], $savedFilterData);
index 9ebe24f..564efa0 100644 (file)
@@ -519,11 +519,11 @@ class Tinebase_Frontend_JsonTest extends PHPUnit_Framework_TestCase
         $profile = $this->_instance->getUserProfile(Tinebase_Core::getUser()->getId());
 
         $this->assertTrue(is_array($profile));
-        $this->assertTrue(array_key_exists('userProfile', $profile));
+        $this->assertTrue((isset($profile['userProfile']) || array_key_exists('userProfile', $profile)));
         $this->assertTrue(is_array($profile['userProfile']));
-        $this->assertTrue(array_key_exists('readableFields', $profile));
+        $this->assertTrue((isset($profile['readableFields']) || array_key_exists('readableFields', $profile)));
         $this->assertTrue(is_array($profile['readableFields']));
-        $this->assertTrue(array_key_exists('updateableFields', $profile));
+        $this->assertTrue((isset($profile['updateableFields']) || array_key_exists('updateableFields', $profile)));
         $this->assertTrue(is_array($profile['updateableFields']));
         
         // try to get user profile of different user
@@ -541,11 +541,11 @@ class Tinebase_Frontend_JsonTest extends PHPUnit_Framework_TestCase
         $config = $this->_instance->getUserProfileConfig();
         
         $this->assertTrue(is_array($config));
-        $this->assertTrue(array_key_exists('possibleFields', $config));
+        $this->assertTrue((isset($config['possibleFields']) || array_key_exists('possibleFields', $config)));
         $this->assertTrue(is_array($config['possibleFields']));
-        $this->assertTrue(array_key_exists('readableFields', $config));
+        $this->assertTrue((isset($config['readableFields']) || array_key_exists('readableFields', $config)));
         $this->assertTrue(is_array($config['readableFields']));
-        $this->assertTrue(array_key_exists('updateableFields', $config));
+        $this->assertTrue((isset($config['updateableFields']) || array_key_exists('updateableFields', $config)));
         $this->assertTrue(is_array($config['updateableFields']));
     }
     
index 530a5ed..c8a70da 100644 (file)
@@ -128,7 +128,7 @@ class Tinebase_Record_RecordTest extends Tinebase_Record_AbstractTest
         $record2->date_single = $record2->date_single->addDay(1);
         $diff = $record1->diff($record2)->diff;
         $this->assertEquals(1, count($diff));
-        $this->assertTrue(array_key_exists('date_single', $diff));
+        $this->assertTrue((isset($diff['date_single']) || array_key_exists('date_single', $diff)));
     }
 
     /**
index 0fdc53d..4a703ce 100644 (file)
@@ -161,14 +161,14 @@ class Tinebase_UserTest extends PHPUnit_Framework_TestCase
     public function testGetBackendConfigurationDefaults()
     {
         $defaults = Tinebase_User::getBackendConfigurationDefaults();
-        $this->assertTrue(array_key_exists(Tinebase_User::SQL, $defaults));
-        $this->assertTrue(array_key_exists(Tinebase_User::LDAP, $defaults));
+        $this->assertTrue((isset($defaults[Tinebase_User::SQL]) || array_key_exists(Tinebase_User::SQL, $defaults)));
+        $this->assertTrue((isset($defaults[Tinebase_User::LDAP]) || array_key_exists(Tinebase_User::LDAP, $defaults)));
         $this->assertTrue(is_array($defaults[Tinebase_User::LDAP]));
-        $this->assertFalse(array_key_exists('host', $defaults));
+        $this->assertFalse((isset($defaults['host']) || array_key_exists('host', $defaults)));
         
         $defaults = Tinebase_User::getBackendConfigurationDefaults(Tinebase_User::LDAP);
-        $this->assertTrue(array_key_exists('host', $defaults));
-        $this->assertFalse(array_key_exists(Tinebase_User::LDAP, $defaults));
+        $this->assertTrue((isset($defaults['host']) || array_key_exists('host', $defaults)));
+        $this->assertFalse((isset($defaults[Tinebase_User::LDAP]) || array_key_exists(Tinebase_User::LDAP, $defaults)));
     }
     
     /**
index 16eff1d..8f269ae 100644 (file)
@@ -541,7 +541,7 @@ class ActiveSync_Controller_Calendar extends ActiveSync_Controller_Abstract impl
                         if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(
                             __METHOD__ . '::' . __LINE__ . " attendee email " . $attendee->email);
                         
-                        if(isset($attendee->attendeeType) && array_key_exists($attendee->attendeeType, $this->_attendeeTypeMapping)) {
+                        if(isset($attendee->attendeeType) && (isset($this->_attendeeTypeMapping[$attendee->attendeeType]) || array_key_exists($attendee->attendeeType, $this->_attendeeTypeMapping))) {
                             $role = $this->_attendeeTypeMapping[$attendee->attendeeType];
                         } else {
                             $role = Calendar_Model_Attender::ROLE_REQUIRED;
index abd6dde..1f9ce33 100644 (file)
@@ -971,7 +971,7 @@ class ActiveSync_Controller_Email extends ActiveSync_Controller_Abstract impleme
     {
         $folders = $this->getSupportedFolders();
         
-        if(!array_key_exists($_folderId, $folders)) {
+        if(!(isset($folders[$_folderId]) || array_key_exists($_folderId, $folders))) {
             throw new ActiveSync_Exception_FolderNotFound('folder not found. ' . $_folderId);
         }
         
index 4372ae5..6e524a6 100644 (file)
@@ -256,7 +256,7 @@ class ActiveSync_TimezoneConverter
     public function encodeTimezone($_timezone, $_startDate = null)
     {
         foreach ($this->_knownTimezones as $packedString => $knownTimezone) {
-            if (array_key_exists($_timezone, $knownTimezone)) {
+            if ((isset($knownTimezone[$_timezone]) || array_key_exists($_timezone, $knownTimezone))) {
                 return $packedString;
             }
         }
index dec7bc3..0ee1381 100755 (executable)
@@ -476,10 +476,10 @@ class Addressbook_Backend_Ldap implements Tinebase_Backend_Interface
         foreach ($this->_getSupportedRecordFields() as $field) {
             foreach ($this->_attributesMaps as $schemaName => $mapping) {
                 if(in_array($schemaName, $this->_availableSchemas)) {
-                    if (array_key_exists($field, $mapping)) {
+                    if ((isset($mapping[$field]) || array_key_exists($field, $mapping))) {
                         
                         $attributeName = $mapping[$field];
-                        if (array_key_exists($attributeName, $_data) && $_data[$attributeName]['count'] > 0) {
+                        if ((isset($_data[$attributeName]) || array_key_exists($attributeName, $_data)) && $_data[$attributeName]['count'] > 0) {
                             // heureka! we found a value for the current field.
                             // Lets take it and search for the next field.
                             $schemaMap[$field] = $schemaName;
index f36e142..5232295 100644 (file)
@@ -460,7 +460,7 @@ class Addressbook_Controller_Contact extends Tinebase_Controller_Record_Abstract
             preg_match('/^' . $pattern . ' /', $_street, $matches);
         }
         
-        if (array_key_exists(1, $matches)) {
+        if ((isset($matches[1]) || array_key_exists(1, $matches))) {
             $result = $matches[1];
             $_street = str_replace($matches[0], '', $_street);
         } else {
index 58f8e0c..69a3e63 100644 (file)
@@ -138,7 +138,7 @@ class Addressbook_Convert_Contact_VCard_Factory
      */
     public static function getUserAgent()
     {
-        $userAgent = array_key_exists('HTTP_USER_AGENT', $_SERVER) ? $_SERVER['HTTP_USER_AGENT'] : 'unknown';
+        $userAgent = (isset($_SERVER['HTTP_USER_AGENT']) || array_key_exists('HTTP_USER_AGENT', $_SERVER)) ? $_SERVER['HTTP_USER_AGENT'] : 'unknown';
         
         return self::parseUserAgent($userAgent);
     }
index 92d1756..5034a05 100644 (file)
@@ -280,7 +280,7 @@ class Addressbook_Model_Contact extends Tinebase_Record_Abstract
      * @return array $_data
      */
     protected function _resolveAutoValues(array $_data) {
-        if (! array_key_exists('org_name', $_data)) {
+        if (! (isset($_data['org_name']) || array_key_exists('org_name', $_data))) {
             $_data['org_name'] = '';
         }
         
index 4c72849..71e2949 100644 (file)
@@ -126,10 +126,10 @@ class Addressbook_Setup_Import_Egw14 extends Tinebase_Setup_Import_Egw14_Abstrac
                 $contactData['adr_two_countryname'] = $this->convertCountryname2Iso($egwContactData['adr_two_countryname']);
                 
                 // handle bday
-                if (array_key_exists('contact_bday', $egwContactData) && $egwContactData['contact_bday']) {
+                if ((isset($egwContactData['contact_bday']) || array_key_exists('contact_bday', $egwContactData)) && $egwContactData['contact_bday']) {
                     // @TODO evaluate contact_tz
                     $contactData['bday'] = new Tinebase_DateTime($egwContactData['contact_bday'], $this->_config->birthdayDefaultTimezone);
-                } else if (array_key_exists('bday', $egwContactData) && $egwContactData['bday']) {
+                } else if ((isset($egwContactData['bday']) || array_key_exists('bday', $egwContactData)) && $egwContactData['bday']) {
                     // egw <= 1.4
                     $contactData['bday'] = $this->convertDate($egwContactData['bday']);
                 }
@@ -202,7 +202,7 @@ class Addressbook_Setup_Import_Egw14 extends Tinebase_Setup_Import_Egw14_Abstrac
         
         $countryname = strtoupper(trim($countryname));
         
-        if (! array_key_exists($countryname, $this->_countryMapping)) {
+        if (! (isset($this->_countryMapping[$countryname]) || array_key_exists($countryname, $this->_countryMapping))) {
             $this->_log->WARN(__METHOD__ . '::' . __LINE__ . " could not get coutry code for {$countryname}");
             
             return NULL;
index 1e41d24..8ac4412 100644 (file)
@@ -139,7 +139,7 @@ class Admin_Controller_Container extends Tinebase_Controller_Record_Abstract
         $container = parent::update($_record);
         
         if ($container->type === Tinebase_Model_Container::TYPE_PERSONAL) {
-            $this->_sendNotification($container, (array_key_exists('note', $_additionalArguments)) ? $_additionalArguments['note'] : '');
+            $this->_sendNotification($container, ((isset($_additionalArguments['note']) || array_key_exists('note', $_additionalArguments))) ? $_additionalArguments['note'] : '');
         }    
         return $container;
     }
index 352c846..5b7b369 100644 (file)
@@ -82,8 +82,8 @@ class Admin_Frontend_Json extends Tinebase_Frontend_Json_Abstract
             'manageSAM'                     => $this->_manageSAM,
             'manageImapEmailUser'           => $this->_manageImapEmailUser,
             'manageSmtpEmailUser'           => $this->_manageSmtpEmailUser,
-            'primarydomain'                 => (array_key_exists('primarydomain', $smtpConfig))     ? $smtpConfig['primarydomain'] : '',
-            'secondarydomains'              => (array_key_exists('secondarydomains', $smtpConfig))  ? $smtpConfig['secondarydomains'] : '',
+            'primarydomain'                 => ((isset($smtpConfig['primarydomain']) || array_key_exists('primarydomain', $smtpConfig)))     ? $smtpConfig['primarydomain'] : '',
+            'secondarydomains'              => ((isset($smtpConfig['secondarydomains']) || array_key_exists('secondarydomains', $smtpConfig)))  ? $smtpConfig['secondarydomains'] : '',
             'defaultPrimaryGroup'           => Tinebase_Group::getInstance()->getDefaultGroup()->toArray(),
             'defaultInternalAddressbook'    => ($appConfigDefaults[Admin_Model_Config::DEFAULTINTERNALADDRESSBOOK] !== NULL) 
                 ? Tinebase_Container::getInstance()->get($appConfigDefaults[Admin_Model_Config::DEFAULTINTERNALADDRESSBOOK])->toArray() 
@@ -203,7 +203,7 @@ class Admin_Frontend_Json extends Tinebase_Frontend_Json_Abstract
             $userArray = $this->_recordToJson($user);
             
             // don't send some infos to the client: unset email uid+gid
-            if (array_key_exists('emailUser', $userArray)) {
+            if ((isset($userArray['emailUser']) || array_key_exists('emailUser', $userArray))) {
                 $unsetFields = array('emailUID', 'emailGID');
                 foreach ($unsetFields as $field) {
                     unset($userArray['emailUser'][$field]);
@@ -1069,7 +1069,7 @@ class Admin_Frontend_Json extends Tinebase_Frontend_Json_Abstract
         } else {
             $recordData['model'] = strstr($recordData['model'], '_Model_') ? $recordData['model'] : $application . '_Model_' . $recordData['model'];
         }
-        $additionalArguments = (array_key_exists('note', $recordData)) ? array(array('note' => $recordData['note'])) : array();
+        $additionalArguments = ((isset($recordData['note']) || array_key_exists('note', $recordData))) ? array(array('note' => $recordData['note'])) : array();
         return $this->_save($recordData, Admin_Controller_Container::getInstance(), 'Tinebase_Model_Container', 'id', $additionalArguments);
     }
     
index 46c0de6..2a43f7a 100644 (file)
@@ -19,7 +19,7 @@ class Admin_Setup_Update_Release3 extends Setup_Update_Abstract
     {
         $settings = Admin_Controller::getInstance()->getConfigSettings();
         
-        if (! array_key_exists(Admin_Model_Config::DEFAULTINTERNALADDRESSBOOK, $settings)) {
+        if (! (isset($settings[Admin_Model_Config::DEFAULTINTERNALADDRESSBOOK]) || array_key_exists(Admin_Model_Config::DEFAULTINTERNALADDRESSBOOK, $settings))) {
             try {
                 $internalAddressbook = Tinebase_Container::getInstance()->getContainerByName('Addressbook', 'Internal Contacts', Tinebase_Model_Container::TYPE_SHARED);
                 Admin_Controller::getInstance()->saveConfigSettings(array(
index d65ac90..92f4f88 100644 (file)
@@ -290,7 +290,7 @@ class Calendar_Controller_Event extends Tinebase_Controller_Record_Abstract impl
         // create a typemap
         $typeMap = array();
         foreach($attendee as $attender) {
-            if (! array_key_exists($attender['user_type'], $typeMap)) {
+            if (! (isset($typeMap[$attender['user_type']]) || array_key_exists($attender['user_type'], $typeMap))) {
                 $typeMap[$attender['user_type']] = array();
             }
             
@@ -330,7 +330,7 @@ class Calendar_Controller_Event extends Tinebase_Controller_Record_Abstract impl
                     continue;
                 }
                 
-                if (array_key_exists($attender->user_type, $typeMap) && array_key_exists($attender->user_id, $typeMap[$attender->user_type])) {
+                if ((isset($typeMap[$attender->user_type]) || array_key_exists($attender->user_type, $typeMap)) && (isset($typeMap[$attender->user_type][$attender->user_id]) || array_key_exists($attender->user_id, $typeMap[$attender->user_type]))) {
                     $fbInfo = new Calendar_Model_FreeBusy(array(
                         'user_type' => $attender->user_type,
                         'user_id'   => $attender->user_id,
@@ -649,7 +649,7 @@ class Calendar_Controller_Event extends Tinebase_Controller_Record_Abstract impl
             }
         }
         
-        if (array_key_exists('dtstart', $diff->diff) || array_key_exists('dtend', $diff->diff)) {
+        if ((isset($diff->diff['dtstart']) || array_key_exists('dtstart', $diff->diff)) || (isset($diff->diff['dtend']) || array_key_exists('dtend', $diff->diff))) {
             $this->_applyTimeDiff($event, $exdate);
         }
     }
index 176b322..c78b8cf 100644 (file)
         
         $updates = array();
         foreach ($orderedUpdateFieldOfInterest as $field) {
-            if (array_key_exists($field, $diff)) {
+            if ((isset($diff[$field]) || array_key_exists($field, $diff))) {
                 $updates[$field] = $diff[$field];
             }
         }
         
         // rrule legacy
-        if (array_key_exists('rrule', $updates)) {
+        if ((isset($updates['rrule']) || array_key_exists('rrule', $updates))) {
             $updates['rrule'] = $_oldEvent->rrule;
         }
         
             case 'changed':
                 switch ($_notificationLevel) {
                     case self::NOTIFICATION_LEVEL_EVENT_RESCHEDULE:
-                        if (array_key_exists('dtstart', $_updates)) {
+                        if ((isset($_updates['dtstart']) || array_key_exists('dtstart', $_updates))) {
                             $oldStartDateString = Tinebase_Translation::dateToStringInTzAndLocaleFormat($_updates['dtstart'], $timezone, $locale);
                             $messageSubject = sprintf($translate->_('Event "%1$s" has been rescheduled from %2$s to %3$s' ), $_event->summary, $oldStartDateString, $startDateString);
                             $method = Calendar_Model_iMIP::METHOD_REQUEST;
index e6f4cb3..1583427 100644 (file)
@@ -123,7 +123,7 @@ class Calendar_Convert_Event_Json extends Tinebase_Convert_Json
         $eventsData = $_records->toArray();
         
         foreach ($eventsData as $idx => $eventData) {
-            if (! array_key_exists(Tinebase_Model_Grants::GRANT_READ, $eventData) || ! $eventData[Tinebase_Model_Grants::GRANT_READ]) {
+            if (! (isset($eventData[Tinebase_Model_Grants::GRANT_READ]) || array_key_exists(Tinebase_Model_Grants::GRANT_READ, $eventData)) || ! $eventData[Tinebase_Model_Grants::GRANT_READ]) {
                 $eventsData[$idx] = array_intersect_key($eventsData[$idx], array_flip(array(
                     'id',
                     'dtstart',
index c75ed32..62b90fb 100644 (file)
@@ -83,7 +83,7 @@ class Calendar_Frontend_CalDAV_Backend extends Sabre\CalDAV\Backend\AbstractBack
         
         
         // NOTE: at the moment we only support a predefined set of colors
-//        if (array_key_exists('{http://apple.com/ns/ical/}calendar-color', $properties)) {
+//        if ((isset($properties['{http://apple.com/ns/ical/}calendar-color']) || array_key_exists('{http://apple.com/ns/ical/}calendar-color', $properties))) {
 //            $color = substr($properties['{http://apple.com/ns/ical/}calendar-color'], 0, 7);
 //            $container->color = $color;
 //        }
@@ -152,12 +152,12 @@ class Calendar_Frontend_CalDAV_Backend extends Sabre\CalDAV\Backend\AbstractBack
         
         try {
             $transactionId = Tinebase_TransactionManager::getInstance()->startTransaction(Tinebase_Core::getDb());
-            if (array_key_exists('{DAV:}displayname', $properties)) {
+            if ((isset($properties['{DAV:}displayname']) || array_key_exists('{DAV:}displayname', $properties))) {
                 Tinebase_Container::getInstance()->setContainerName($calendarId, $properties['{DAV:}displayname']);
             }
             
             // NOTE: at the moment we only support a predefined set of colors
-//            if (array_key_exists('{http://apple.com/ns/ical/}calendar-color', $properties)) {
+//            if ((isset($properties['{http://apple.com/ns/ical/}calendar-color']) || array_key_exists('{http://apple.com/ns/ical/}calendar-color', $properties))) {
 //                $color = substr($properties['{http://apple.com/ns/ical/}calendar-color'], 0, 7);
 //                Tinebase_Container::getInstance()->setContainerColor($calendarId, $color);
 //            }
index b419bbf..a5aeb30 100644 (file)
@@ -228,12 +228,12 @@ class Calendar_Model_Attender extends Tinebase_Record_Abstract
         }
         
         if (isset($_data['user_id']) && is_array($_data['user_id'])) {
-            if (array_key_exists('accountId', $_data['user_id'])) {
+            if ((isset($_data['user_id']['accountId']) || array_key_exists('accountId', $_data['user_id']))) {
                 // NOTE: we need to support accounts, cause the client might not have the contact, e.g. when the attender is generated from a container owner
                 $_data['user_id'] = Addressbook_Controller_Contact::getInstance()->getContactByUserId($_data['user_id']['accountId'], TRUE)->getId();
-            } elseif (array_key_exists('group_id', $_data['user_id'])) {
+            } elseif ((isset($_data['user_id']['group_id']) || array_key_exists('group_id', $_data['user_id']))) {
                 $_data['user_id'] = is_array($_data['user_id']['group_id']) ? $_data['user_id']['group_id'][0] : $_data['user_id']['group_id'];
-            } else if (array_key_exists('id', $_data['user_id'])) {
+            } else if ((isset($_data['user_id']['id']) || array_key_exists('id', $_data['user_id']))) {
                 $_data['user_id'] = $_data['user_id']['id'];
             }
         }
@@ -683,11 +683,11 @@ class Calendar_Model_Attender extends Tinebase_Record_Abstract
                 if ($attender->user_id instanceof Tinebase_Record_Abstract) {
                     // already resolved
                     continue;
-                } elseif (array_key_exists($attender->user_type, self::$_resovedAttendeeCache) && array_key_exists($attender->user_id, self::$_resovedAttendeeCache[$attender->user_type])){
+                } elseif ((isset(self::$_resovedAttendeeCache[$attender->user_type]) || array_key_exists($attender->user_type, self::$_resovedAttendeeCache)) && (isset(self::$_resovedAttendeeCache[$attender->user_type][$attender->user_id]) || array_key_exists($attender->user_id, self::$_resovedAttendeeCache[$attender->user_type]))){
                     // already in cache
                     $attender->user_id = self::$_resovedAttendeeCache[$attender->user_type][$attender->user_id];
                 } else {
-                    if (! array_key_exists($attender->user_type, $typeMap)) {
+                    if (! (isset($typeMap[$attender->user_type]) || array_key_exists($attender->user_type, $typeMap))) {
                         $typeMap[$attender->user_type] = array();
                     }
                     $typeMap[$attender->user_type][] = $attender->user_id;
@@ -754,7 +754,7 @@ class Calendar_Model_Attender extends Tinebase_Record_Abstract
                 }
                 if ($idx !== false) {
                     // copy to cache
-                    if (! array_key_exists($attender->user_type, self::$_resovedAttendeeCache)) {
+                    if (! (isset(self::$_resovedAttendeeCache[$attender->user_type]) || array_key_exists($attender->user_type, self::$_resovedAttendeeCache))) {
                         self::$_resovedAttendeeCache[$attender->user_type] = array();
                     }
                     self::$_resovedAttendeeCache[$attender->user_type][$attender->user_id] = $attendeeTypeSet[$idx];
@@ -766,11 +766,11 @@ class Calendar_Model_Attender extends Tinebase_Record_Abstract
         
         
         foreach ($eventAttendee as $idx => $attendee) {
-            $event = is_array($events) && array_key_exists($idx, $events) ? $events[$idx] : NULL;
+            $event = is_array($events) && (isset($events[$idx]) || array_key_exists($idx, $events)) ? $events[$idx] : NULL;
             
             foreach ($attendee as $attender) {
                 // keep authkey if user has editGrant to displaycontainer
-                if (isset($attender['displaycontainer_id']) && !is_scalar($attender['displaycontainer_id']) && array_key_exists(Tinebase_Model_Grants::GRANT_EDIT, $attender['displaycontainer_id']['account_grants']) &&  $attender['displaycontainer_id']['account_grants'][Tinebase_Model_Grants::GRANT_EDIT]) {
+                if (isset($attender['displaycontainer_id']) && !is_scalar($attender['displaycontainer_id']) && (isset($attender['displaycontainer_id']['account_grants'][Tinebase_Model_Grants::GRANT_EDIT]) || array_key_exists(Tinebase_Model_Grants::GRANT_EDIT, $attender['displaycontainer_id']['account_grants'])) &&  $attender['displaycontainer_id']['account_grants'][Tinebase_Model_Grants::GRANT_EDIT]) {
                     continue;
                 }
                 
index 529112d..c6b10a5 100644 (file)
@@ -46,10 +46,10 @@ class Calendar_Model_ContactAttendeeFilter extends Tinebase_Model_Filter_Foreign
      */
     protected function _setOptions(array $_options)
     {
-        if (! array_key_exists('controller', $_options)) {
+        if (! (isset($_options['controller']) || array_key_exists('controller', $_options))) {
             $_options['controller'] = 'Calendar_Controller_Event';
         }
-        if (! array_key_exists('filtergroup', $_options)) {
+        if (! (isset($_options['filtergroup']) || array_key_exists('filtergroup', $_options))) {
             $_options['filtergroup'] = 'Calendar_Model_EventFilter';
         }
         
@@ -124,7 +124,7 @@ class Calendar_Model_ContactAttendeeFilter extends Tinebase_Model_Filter_Foreign
      */
     protected function _matchFilter($_record, $_filterField, $_recordField)
     {
-        if (! array_key_exists($_filterField, $this->_filterData)) {
+        if (! (isset($this->_filterData[$_filterField]) || array_key_exists($_filterField, $this->_filterData))) {
             return TRUE;
         }
         
index a778e63..99cebc2 100644 (file)
@@ -241,7 +241,7 @@ class Calendar_Model_Event extends Tinebase_Record_Abstract
             // don't take small ( < one day) rrule_until changes as diff
             if (
                     $ownRrule->until instanceof Tinebase_DateTime 
-                    && array_key_exists('until', $rruleDiff->diff) && $rruleDiff->diff['until'] instanceof Tinebase_DateTime
+                    && (isset($rruleDiff->diff['until']) || array_key_exists('until', $rruleDiff->diff)) && $rruleDiff->diff['until'] instanceof Tinebase_DateTime
                     && abs($rruleDiff->diff['until']->getTimestamp() - $ownRrule->until->getTimestamp()) < 86400
             ){
                 $rruleDiffArray = $rruleDiff->diff;
@@ -402,7 +402,7 @@ class Calendar_Model_Event extends Tinebase_Record_Abstract
      */
     public function hasGrant($_grant)
     {
-        $hasGrant = array_key_exists($_grant, $this->_properties) && (bool)$this->{$_grant};
+        $hasGrant = (isset($this->_properties[$_grant]) || array_key_exists($_grant, $this->_properties)) && (bool)$this->{$_grant};
         
         if ($this->class !== Calendar_Model_Event::CLASS_PUBLIC) {
             $hasGrant &= (
@@ -610,9 +610,9 @@ class Calendar_Model_Event extends Tinebase_Record_Abstract
     {
         $diff = $this->diff($_event)->diff;
         
-        return array_key_exists('dtstart', $diff)
-            || (! $this->is_all_day_event && array_key_exists('dtend', $diff))
-            || array_key_exists('rrule', $diff);
+        return (isset($diff['dtstart']) || array_key_exists('dtstart', $diff))
+            || (! $this->is_all_day_event && (isset($diff['dtend']) || array_key_exists('dtend', $diff)))
+            || (isset($diff['rrule']) || array_key_exists('rrule', $diff));
     }
     
     /**
index b7c7322..9a7987b 100644 (file)
@@ -921,7 +921,7 @@ class Calendar_Model_Rrule extends Tinebase_Record_Abstract
         $byDayInterval = (int) substr($_rrule->byday, 0, -2);
         $byDayWeekday  = substr($_rrule->byday, -2);
         
-        if ($byDayInterval === 0 || ! array_key_exists($byDayWeekday, self::$WEEKDAY_DIGIT_MAP)) {
+        if ($byDayInterval === 0 || ! (isset(self::$WEEKDAY_DIGIT_MAP[$byDayWeekday]) || array_key_exists($byDayWeekday, self::$WEEKDAY_DIGIT_MAP))) {
             throw new Exception('mal formated rrule byday part: "' . $_rrule->byday . '"');
         }
         
index 54c3efa..cc71115 100644 (file)
@@ -319,7 +319,7 @@ class Calendar_Setup_Import_Egw14 extends Tinebase_Setup_Import_Egw14_Abstract
         
         $rrule = new Calendar_Model_Rrule(array());
         
-        if (! array_key_exists($egwRrule['recur_type'], $this->_rruleFreqMap)) {
+        if (! (isset($this->_rruleFreqMap[$egwRrule['recur_type']]) || array_key_exists($egwRrule['recur_type'], $this->_rruleFreqMap))) {
             throw new Exception('unsupported rrule freq');
         }
         
@@ -362,7 +362,7 @@ class Calendar_Setup_Import_Egw14 extends Tinebase_Setup_Import_Egw14_Abstract
                 $tineAttenderArray = array(
                     'quantity'          => $egwAttender['cal_quantity'],
                     'role'              => Calendar_Model_Attender::ROLE_REQUIRED,
-                    'status'            => array_key_exists($egwAttender['cal_status'], $this->_attenderStatusMap) ? 
+                    'status'            => (isset($this->_attenderStatusMap[$egwAttender['cal_status']]) || array_key_exists($egwAttender['cal_status'], $this->_attenderStatusMap)) ? 
                                                $this->_attenderStatusMap[$egwAttender['cal_status']] : 
                                                Calendar_Model_Attender::STATUS_NEEDSACTION,
                     'status_authkey'    => Calendar_Model_Attender::generateUID(),
@@ -437,7 +437,7 @@ class Calendar_Setup_Import_Egw14 extends Tinebase_Setup_Import_Egw14_Abstract
      */
     protected function _getContactIdByAccountId($_accountId)
     {
-        if (! array_key_exists($_accountId,$this->_contactIdCache)) {
+        if (! (isset($this->_contactIdCache[$_accountId]) || array_key_exists($_accountId,$this->_contactIdCache))) {
             
             $tineDb = Tinebase_Core::getDb();
             $select = $tineDb->select()
index 60aaaa3..d54cf4c 100644 (file)
@@ -246,15 +246,15 @@ class Calendar_Setup_Update_Release3 extends Setup_Update_Abstract
         
         foreach ($states as $state) {
             $data = Zend_Json::decode($state['data']);
-            if (array_key_exists('cal-color-mgr-containers', $data)) {
+            if ((isset($data['cal-color-mgr-containers']) || array_key_exists('cal-color-mgr-containers', $data))) {
                 $colorMgrData = Tinebase_State::decode($data['cal-color-mgr-containers']);
                 $containerColorMap = $colorMgrData['colorMap'];
                 foreach ($containerColorMap as $containerId => $colorId) {
-                    if (! array_key_exists($containerId, $colorHistogram)) {
+                    if (! (isset($colorHistogram[$containerId]) || array_key_exists($containerId, $colorHistogram))) {
                         $colorHistogram[$containerId] = array();
                     }
                     
-                    if (! array_key_exists($colorId, $colorHistogram[$containerId])) {
+                    if (! (isset($colorHistogram[$containerId][$colorId]) || array_key_exists($colorId, $colorHistogram[$containerId]))) {
                         $colorHistogram[$containerId][$colorId] = 0;
                     }
                     
index 47f5f9d..a3ba658 100644 (file)
@@ -26,18 +26,18 @@ foreach ($this->updates as $field => $update) {
     }
 }
 
-if (array_key_exists('attendee', $this->updates)) {
-    if (array_key_exists('toCreate', $this->updates['attendee'])) {
+if ((isset($this->updates['attendee']) || array_key_exists('attendee', $this->updates))) {
+    if ((isset($this->updates['attendee']['toCreate']) || array_key_exists('toCreate', $this->updates['attendee']))) {
         foreach ($this->updates['attendee']['toCreate'] as $attender) {
             echo sprintf($this->translate->_('%1$s has been invited'), $attender->getName()) . "\n";
         }
     }
-    if (array_key_exists('toDelete', $this->updates['attendee'])) {
+    if ((isset($this->updates['attendee']['toDelete']) || array_key_exists('toDelete', $this->updates['attendee']))) {
         foreach ($this->updates['attendee']['toDelete'] as $attender) {
             echo sprintf($this->translate->_('%1$s has been removed'), $attender->getName()) . "\n";
         }
     }
-    if (array_key_exists('toUpdate', $this->updates['attendee'])) {
+    if ((isset($this->updates['attendee']['toUpdate']) || array_key_exists('toUpdate', $this->updates['attendee']))) {
         foreach ($this->updates['attendee']['toUpdate'] as $attender) {
             switch ($attender->status) {
                 case Calendar_Model_Attender::STATUS_ACCEPTED:
index 4b20f0b..796f0c5 100644 (file)
@@ -80,7 +80,7 @@ class Crm_Model_Config extends Tinebase_Record_Abstract
     {
         if ($this->has($_property) && isset($this->$_property) && is_array($this->$_property)) {
             foreach ($this->$_property as $sub) {
-                if (array_key_exists($_idProperty, $sub) && $sub[$_idProperty] == $_id) {
+                if ((isset($sub[$_idProperty]) || array_key_exists($_idProperty, $sub)) && $sub[$_idProperty] == $_id) {
                     return $sub;
                 }
             }
index c56b4d7..c7dd470 100644 (file)
@@ -186,12 +186,12 @@ class Crm_Setup_DemoData extends Tinebase_Setup_DemoData_Abstract
     protected function _createLead($data, $username = 'shared')
     {
         $tasks = NULL;
-        if (array_key_exists('tasks', $data)) {
+        if ((isset($data['tasks']) || array_key_exists('tasks', $data))) {
             $tasks = $data['tasks'];
             unset($data['tasks']);
         }
         $contacts = NULL;
-        if (array_key_exists('contacts', $data)) {
+        if ((isset($data['contacts']) || array_key_exists('contacts', $data))) {
             $contacts = $data['contacts'];
             unset($data['contacts']);
         }
index 4c4e9e6..33af48a 100644 (file)
@@ -742,13 +742,13 @@ class Felamimail_Backend_Imap extends Zend_Mail_Storage_Imap
         }
         
         // body md5
-        if(array_key_exists($index, $_structure) && $_structure[$index] != 'NIL') {
+        if((isset($_structure[$index]) || array_key_exists($index, $_structure)) && $_structure[$index] != 'NIL') {
             $structure['md5'] = strtolower($_structure[$index]);
         }
         $index++;
         
         // body disposition
-        if (array_key_exists($index, $_structure) && $_structure[$index] != 'NIL') {
+        if ((isset($_structure[$index]) || array_key_exists($index, $_structure)) && $_structure[$index] != 'NIL') {
             $structure['disposition']['type'] = $_structure[$index][0];
             
             if (isset($_structure[$index][1]) && $_structure[$index][1] != 'NIL' && is_array($_structure[$index][1])) {
@@ -764,13 +764,13 @@ class Felamimail_Backend_Imap extends Zend_Mail_Storage_Imap
         $index++;
         
         // body language
-        if(array_key_exists($index, $_structure) && $_structure[$index] != 'NIL' && ! is_array($_structure[$index])) {
+        if((isset($_structure[$index]) || array_key_exists($index, $_structure)) && $_structure[$index] != 'NIL' && ! is_array($_structure[$index])) {
             $structure['language'] = strtolower($_structure[$index]);
         }
         $index++;
         
         // body location
-        if(array_key_exists($index, $_structure) && $_structure[$index] != 'NIL' && ! is_array($_structure[$index])) {
+        if((isset($_structure[$index]) || array_key_exists($index, $_structure)) && $_structure[$index] != 'NIL' && ! is_array($_structure[$index])) {
             $structure['location'] = strtolower($_structure[$index]);
         }
         
index b0d368f..8b16c11 100644 (file)
@@ -41,7 +41,7 @@ class Felamimail_Backend_ImapFactory
             // we need to instantiate a new imap backend
             if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ 
                 . ' Connecting to server ' . $imapConfig['host'] . ':' . $imapConfig['port'] 
-                . ' (' . ((array_key_exists('ssl', $imapConfig)) ? $imapConfig['ssl'] : 'none') . ')'
+                . ' (' . (((isset($imapConfig['ssl']) || array_key_exists('ssl', $imapConfig))) ? $imapConfig['ssl'] : 'none') . ')'
                 . ' with username ' . $imapConfig['user']);
             
             try {
index c1003f9..e04d1f6 100644 (file)
@@ -26,8 +26,8 @@ class Felamimail_Backend_Sieve extends Zend_Mail_Protocol_Sieve
      */
     public function __construct($_config)
     {
-        $_config['port'] = (array_key_exists('port', $_config)) ? $_config['port'] : NULL;
-        $_config['ssl'] = (array_key_exists('ssl', $_config)) ? $_config['ssl'] : FALSE;
+        $_config['port'] = ((isset($_config['port']) || array_key_exists('port', $_config))) ? $_config['port'] : NULL;
+        $_config['ssl'] = ((isset($_config['ssl']) || array_key_exists('ssl', $_config))) ? $_config['ssl'] : FALSE;
         
         try {
             parent::__construct($_config['host'], $_config['port'], $_config['ssl']);
index d60e521..cb8a16e 100644 (file)
@@ -40,7 +40,7 @@ class Felamimail_Backend_SieveFactory
             // we need to instantiate a new sieve backend
             if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ 
                 . ' Connecting to server ' . $sieveConfig['host'] . ':' . $sieveConfig['port'] 
-                . ' (secure: ' . ((array_key_exists('ssl', $sieveConfig) && $sieveConfig['ssl'] !== FALSE) ? $sieveConfig['ssl'] : 'none') 
+                . ' (secure: ' . (((isset($sieveConfig['ssl']) || array_key_exists('ssl', $sieveConfig)) && $sieveConfig['ssl'] !== FALSE) ? $sieveConfig['ssl'] : 'none') 
                 . ') with user ' . $sieveConfig['username']);
             
             self::$_backends[$accountId] = new Felamimail_Backend_Sieve($sieveConfig);
index a7285e7..411994d 100644 (file)
@@ -72,7 +72,7 @@ class Felamimail_Controller_Account extends Tinebase_Controller_Record_Abstract
         $this->_backend = new Felamimail_Backend_Account();
         
         $this->_imapConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::IMAP, new Tinebase_Config_Struct())->toArray();
-        $this->_useSystemAccount = (array_key_exists('useSystemAccount', $this->_imapConfig) && $this->_imapConfig['useSystemAccount']);
+        $this->_useSystemAccount = ((isset($this->_imapConfig['useSystemAccount']) || array_key_exists('useSystemAccount', $this->_imapConfig)) && $this->_imapConfig['useSystemAccount']);
     }
     
     /**
@@ -338,12 +338,12 @@ class Felamimail_Controller_Account extends Tinebase_Controller_Record_Abstract
         $diff = $_record->diff($_oldRecord)->diff;
         
         // delete message body cache because display format has changed
-        if (array_key_exists('display_format', $diff)) {
+        if ((isset($diff['display_format']) || array_key_exists('display_format', $diff))) {
             Tinebase_Core::getCache()->clean(Zend_Cache::CLEANING_MODE_MATCHING_TAG, array('getMessageBody'));
         }
         
         // reset capabilities if imap host / port changed
-        if (isset(Tinebase_Core::getSession()->Felamimail) && (array_key_exists('host', $diff) || array_key_exists('port', $diff))) {
+        if (isset(Tinebase_Core::getSession()->Felamimail) && ((isset($diff['host']) || array_key_exists('host', $diff)) || (isset($diff['port']) || array_key_exists('port', $diff)))) {
             if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ 
                 . ' Resetting capabilities for account ' . $_record->name);
             unset(Tinebase_Core::getSession()->Felamimail[$_record->getId()]);
@@ -846,7 +846,7 @@ class Felamimail_Controller_Account extends Tinebase_Controller_Record_Abstract
      */
     protected function _getAccountEmail(Tinebase_Model_FullUser $_user)
     {
-        $email = ((! $_user->accountEmailAddress || empty($_user->accountEmailAddress)) && array_key_exists('user', $this->_imapConfig)) 
+        $email = ((! $_user->accountEmailAddress || empty($_user->accountEmailAddress)) && (isset($this->_imapConfig['user']) || array_key_exists('user', $this->_imapConfig))) 
             ? $this->_imapConfig['user']
             : $_user->accountEmailAddress;
             
index 5fff543..003dac8 100644 (file)
@@ -827,7 +827,7 @@ class Felamimail_Controller_Cache_Message extends Felamimail_Controller_Message
      */
     public function addMessage(array $_message, Felamimail_Model_Folder $_folder, $_updateFolderCounter = true)
     {
-        if (! array_key_exists('header', $_message) || ! is_array($_message['header'])) {
+        if (! (isset($_message['header']) || array_key_exists('header', $_message)) || ! is_array($_message['header'])) {
             if (Tinebase_Core::isLogLevel(Zend_Log::NOTICE)) Tinebase_Core::getLogger()->notice(__METHOD__ . '::' . __LINE__ . ' Email uid ' . $_message['uid'] . ' has no headers. Skipping ...');
             return FALSE;
         }
@@ -1142,7 +1142,7 @@ class Felamimail_Controller_Cache_Message extends Felamimail_Controller_Message
         
         $updateCount = 0;
         foreach ($_messages as $cachedMessage) {
-            if (array_key_exists($cachedMessage->messageuid, $_flags)) {
+            if ((isset($_flags[$cachedMessage->messageuid]) || array_key_exists($cachedMessage->messageuid, $_flags))) {
                 $newFlags = array_intersect($_flags[$cachedMessage->messageuid]['flags'], $supportedFlags);
                 $cachedFlags = array_intersect($cachedMessage->flags, $supportedFlags);
                 $diff1 = array_diff($cachedFlags, $newFlags);
index 7bcfd7c..a41631c 100644 (file)
@@ -224,7 +224,7 @@ class Felamimail_Controller_Message extends Tinebase_Controller_Record_Abstract
                 'messageuid'  => $_message->messageuid,
                 'folder_id'   => $_message->folder_id,
                 'received'    => $_message->received,
-                'size'        => (array_key_exists('size', $structure)) ? $structure['size'] : 0,
+                'size'        => ((isset($structure['size']) || array_key_exists('size', $structure))) ? $structure['size'] : 0,
                 'partid'      => $_partId,
                 'body'        => $body,
                 'headers'     => $headers,
@@ -233,7 +233,7 @@ class Felamimail_Controller_Message extends Tinebase_Controller_Record_Abstract
         
             $message->parseHeaders($headers);
         
-            $structure = array_key_exists('messageStructure', $structure) ? $structure['messageStructure'] : $structure;
+            $structure = (isset($structure['messageStructure']) || array_key_exists('messageStructure', $structure)) ? $structure['messageStructure'] : $structure;
             $message->parseStructure($structure);
         }
         
@@ -443,7 +443,7 @@ class Felamimail_Controller_Message extends Tinebase_Controller_Record_Abstract
         if ($_partId !== NULL && $_partStructure['contentType'] === Felamimail_Model_Message::CONTENT_TYPE_MESSAGE_RFC822) {
             if ($_onlyBodyOfRfc822) {
                 $logmessage = 'Fetch message part (TEXT) ' . $_partId . ' of messageuid ' . $_message->messageuid;
-                if (array_key_exists('messageStructure', $_partStructure)) {
+                if ((isset($_partStructure['messageStructure']) || array_key_exists('messageStructure', $_partStructure))) {
                     $_partStructure = $_partStructure['messageStructure'];
                 }
             } else {
@@ -488,22 +488,22 @@ class Felamimail_Controller_Message extends Tinebase_Controller_Record_Abstract
         
         $part = new Zend_Mime_Part($stream);
         $part->type        = $_partStructure['contentType'];
-        $part->encoding    = array_key_exists('encoding', $_partStructure) ? $_partStructure['encoding'] : null;
-        $part->id          = array_key_exists('id', $_partStructure) ? $_partStructure['id'] : null;
-        $part->description = array_key_exists('description', $_partStructure) ? $_partStructure['description'] : null;
-        $part->charset     = array_key_exists('charset', $_partStructure['parameters']
+        $part->encoding    = (isset($_partStructure['encoding']) || array_key_exists('encoding', $_partStructure)) ? $_partStructure['encoding'] : null;
+        $part->id          = (isset($_partStructure['id']) || array_key_exists('id', $_partStructure)) ? $_partStructure['id'] : null;
+        $part->description = (isset($_partStructure['description']) || array_key_exists('description', $_partStructure)) ? $_partStructure['description'] : null;
+        $part->charset     = (isset($_partStructure['parameters']['charset']) || array_key_exists('charset', $_partStructure['parameters'])
             ? $_partStructure['parameters']['charset'] 
             : Tinebase_Mail::DEFAULT_FALLBACK_CHARSET;
-        $part->boundary    = array_key_exists('boundary', $_partStructure['parameters']) ? $_partStructure['parameters']['boundary'] : null;
+        $part->boundary    = (isset($_partStructure['parameters']['boundary']) || array_key_exists('boundary', $_partStructure['parameters'])) ? $_partStructure['parameters']['boundary'] : null;
         $part->location    = $_partStructure['location'];
         $part->language    = $_partStructure['language'];
         if (is_array($_partStructure['disposition'])) {
             $part->disposition = $_partStructure['disposition']['type'];
-            if (array_key_exists('parameters', $_partStructure['disposition'])) {
-                $part->filename    = array_key_exists('filename', $_partStructure['disposition']['parameters']) ? $_partStructure['disposition']['parameters']['filename'] : null;
+            if ((isset($_partStructure['disposition']['parameters']) || array_key_exists('parameters', $_partStructure['disposition']))) {
+                $part->filename    = (isset($_partStructure['disposition']['parameters']['filename']) || array_key_exists('filename', $_partStructure['disposition']['parameters'])) ? $_partStructure['disposition']['parameters']['filename'] : null;
             }
         }
-        if (empty($part->filename) && array_key_exists('parameters', $_partStructure) && array_key_exists('name', $_partStructure['parameters'])) {
+        if (empty($part->filename) && (isset($_partStructure['parameters']) || array_key_exists('parameters', $_partStructure)) && (isset($_partStructure['parameters']['name']) || array_key_exists('name', $_partStructure['parameters']))) {
             $part->filename = $_partStructure['parameters']['name'];
         }
         
@@ -835,7 +835,7 @@ class Felamimail_Controller_Message extends Tinebase_Controller_Record_Abstract
 
         $attachments = array();
         
-        if (!array_key_exists('parts', $structure)) {
+        if (!(isset($structure['parts']) || array_key_exists('parts', $structure))) {
             return $attachments;
         }
         
@@ -849,7 +849,7 @@ class Felamimail_Controller_Message extends Tinebase_Controller_Record_Abstract
                 $filename = $this->_getAttachmentFilename($part);
                 
                 if ($part['type'] == 'text' && 
-                    (! is_array($part['disposition']) || ($part['disposition']['type'] == Zend_Mime::DISPOSITION_INLINE && ! array_key_exists("parameters", $part['disposition'])))
+                    (! is_array($part['disposition']) || ($part['disposition']['type'] == Zend_Mime::DISPOSITION_INLINE && ! (isset($part['disposition']["parameters"]) || array_key_exists("parameters", $part['disposition']))))
                 ) {
                     if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__
                         . ' Skipping DISPOSITION_INLINE attachment with name ' . $filename);
@@ -885,11 +885,11 @@ class Felamimail_Controller_Message extends Tinebase_Controller_Record_Abstract
      */
     protected function _getAttachmentFilename($part)
     {
-        if (is_array($part['disposition']) && array_key_exists('parameters', $part['disposition']
-            && array_key_exists('filename', $part['disposition']['parameters'])) 
+        if (is_array($part['disposition']) && (isset($part['disposition']['parameters']) || array_key_exists('parameters', $part['disposition'])
+            && (isset($part['disposition']['parameters']['filename']) || array_key_exists('filename', $part['disposition']['parameters']))) 
         {
             $filename = $part['disposition']['parameters']['filename'];
-        } elseif (is_array($part['parameters']) && array_key_exists('name', $part['parameters'])) {
+        } elseif (is_array($part['parameters']) && (isset($part['parameters']['name']) || array_key_exists('name', $part['parameters']))) {
             $filename = $part['parameters']['name'];
         } else {
             $filename = 'Part ' . $part['partId'];
@@ -921,13 +921,13 @@ class Felamimail_Controller_Message extends Tinebase_Controller_Record_Abstract
             $folder = Felamimail_Controller_Folder::getInstance()->get($folderId);
             
             // get error condition and update array by checking $counter keys
-            if (array_key_exists('incrementUnreadCounter', $counter)) {
+            if ((isset($counter['incrementUnreadCounter']) || array_key_exists('incrementUnreadCounter', $counter))) {
                 // this is only used in clearFlags() atm
                 $errorCondition = ($folder->cache_unreadcount + $counter['incrementUnreadCounter'] > $folder->cache_totalcount);
                 $updatedCounters = array(
                     'cache_unreadcount' => '+' . $counter['incrementUnreadCounter'],
                 );
-            } else if (array_key_exists('decrementMessagesCounter', $counter) && array_key_exists('decrementUnreadCounter', $counter)) {
+            } else if ((isset($counter['decrementMessagesCounter']) || array_key_exists('decrementMessagesCounter', $counter)) && (isset($counter['decrementUnreadCounter']) || array_key_exists('decrementUnreadCounter', $counter))) {
                 $errorCondition = ($folder->cache_unreadcount < $counter['decrementUnreadCounter'] || $folder->cache_totalcount < $counter['decrementMessagesCounter']);
                 $updatedCounters = array(
                     'cache_totalcount'  => '-' . $counter['decrementMessagesCounter'],
index 0ff2520..761a047 100644 (file)
@@ -256,7 +256,7 @@ class Felamimail_Controller_Message_Move extends Felamimail_Controller_Message
     {
         $folderCounterById = array();
         foreach($_messages as $message) {
-            if (! array_key_exists($message->folder_id, $folderCounterById)) {
+            if (! (isset($folderCounterById[$message->folder_id]) || array_key_exists($message->folder_id, $folderCounterById))) {
                 $folderCounterById[$message->folder_id] = array(
                     'decrementUnreadCounter'    => 0,
                     'decrementMessagesCounter'  => 0,
index 2f42acf..57ebd8f 100644 (file)
@@ -209,7 +209,7 @@ class Felamimail_Controller_Message_Send extends Felamimail_Controller_Message
     protected function _sendMailViaTransport(Zend_Mail $_mail, Felamimail_Model_Account $_account, Felamimail_Model_Message $_message = null, $_saveInSent = false, $_nonPrivateRecipients = array())
     {
         $smtpConfig = $_account->getSmtpConfig();
-        if (! empty($smtpConfig) && array_key_exists('hostname', $smtpConfig)) {
+        if (! empty($smtpConfig) && (isset($smtpConfig['hostname']) || array_key_exists('hostname', $smtpConfig))) {
             $transport = new Felamimail_Transport($smtpConfig['hostname'], $smtpConfig);
             
             if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) {
@@ -586,7 +586,7 @@ class Felamimail_Controller_Message_Send extends Felamimail_Controller_Message
             } else {
                 $tempFile = ($attachment instanceof Tinebase_Model_TempFile) 
                     ? $attachment 
-                    : ((array_key_exists('tempFile', $attachment)) ? $tempFileBackend->get($attachment['tempFile']['id']) : NULL);
+                    : (((isset($attachment['tempFile']) || array_key_exists('tempFile', $attachment))) ? $tempFileBackend->get($attachment['tempFile']['id']) : NULL);
                 
                 if ($tempFile === NULL) {
                     continue;
index 9b3da8e..862dbe3 100644 (file)
@@ -158,7 +158,7 @@ class Felamimail_Controller_Sieve extends Tinebase_Controller_Abstract
         if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' Getting list of SIEVE scripts: ' . print_r($scripts, TRUE));
    
         foreach (array($this->_scriptName, $this->_oldScriptName) as $scriptNameToFetch) {
-            if (count($scripts) > 0 && array_key_exists($scriptNameToFetch, $scripts)) {
+            if (count($scripts) > 0 && (isset($scripts[$scriptNameToFetch]) || array_key_exists($scriptNameToFetch, $scripts))) {
                 $scriptName = $scripts[$scriptNameToFetch]['name'];
                 
                 if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ . ' Get SIEVE script: ' . $scriptName);
index cf4f707..835e46b 100644 (file)
@@ -338,12 +338,12 @@ class Felamimail_Model_Account extends Tinebase_Record_Abstract
         if (isset($result['primarydomain']) && ! empty($result['primarydomain'])) {
             $result['username'] .= '@' . $result['primarydomain'];
         }
-        if (array_key_exists('auth', $result) && $result['auth'] == 'none') {
+        if ((isset($result['auth']) || array_key_exists('auth', $result)) && $result['auth'] == 'none') {
             unset($result['username']);
             unset($result['password']);
             unset($result['auth']);
         }
-        if (array_key_exists('ssl', $result) && $result['ssl'] == 'none') {
+        if ((isset($result['ssl']) || array_key_exists('ssl', $result)) && $result['ssl'] == 'none') {
             unset($result['ssl']);
         }
         
@@ -456,7 +456,7 @@ class Felamimail_Model_Account extends Tinebase_Record_Abstract
                 $credentials = $userCredentialCache;
                 
                 // allow to set credentials in config
-                if (array_key_exists('user', $imapConfig) && array_key_exists('password', $imapConfig) && ! empty($imapConfig['user'])) {
+                if ((isset($imapConfig['user']) || array_key_exists('user', $imapConfig)) && (isset($imapConfig['password']) || array_key_exists('password', $imapConfig)) && ! empty($imapConfig['user'])) {
                     if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ .
                         ' Using credentials from config for system account.');
                     $credentials->username = $imapConfig['user'];
@@ -464,7 +464,7 @@ class Felamimail_Model_Account extends Tinebase_Record_Abstract
                 }
                 
                 // allow to set pw suffix in config
-                if (array_key_exists('pwsuffix', $imapConfig) && ! preg_match('/' . preg_quote($imapConfig['pwsuffix']) . '$/', $credentials->password)) {
+                if ((isset($imapConfig['pwsuffix']) || array_key_exists('pwsuffix', $imapConfig)) && ! preg_match('/' . preg_quote($imapConfig['pwsuffix']) . '$/', $credentials->password)) {
                     if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ .
                         ' Appending configured pwsuffix to system account password.');
                     $credentials->password .= $imapConfig['pwsuffix'];
index 1e78d91..b22d221 100644 (file)
@@ -257,7 +257,7 @@ class Felamimail_Model_Message extends Tinebase_Record_Abstract
             $this->headers = Felamimail_Controller_Message::getInstance()->getMessageHeaders($this->getId(), NULL, TRUE);
         }
         
-        if (array_key_exists('disposition-notification-to', $this->headers) && $this->headers['disposition-notification-to']) {
+        if ((isset($this->headers['disposition-notification-to']) || array_key_exists('disposition-notification-to', $this->headers)) && $this->headers['disposition-notification-to']) {
             $translate = Tinebase_Translation::getTranslation($this->_application);
             $from = Felamimail_Controller_Account::getInstance()->get($this->account_id);
             
@@ -300,9 +300,9 @@ class Felamimail_Model_Message extends Tinebase_Record_Abstract
         // @see 0008644: error when sending mail with note (wrong charset)
         $this->subject = (isset($_headers['subject'])) ? Tinebase_Core::filterInputForDatabase(Felamimail_Message::convertText($_headers['subject'])) : null;
         
-        if (array_key_exists('date', $_headers)) {
+        if ((isset($_headers['date']) || array_key_exists('date', $_headers))) {
             $this->sent = Felamimail_Message::convertDate($_headers['date']);
-        } elseif (array_key_exists('resent-date', $_headers)) {
+        } elseif ((isset($_headers['resent-date']) || array_key_exists('resent-date', $_headers))) {
             $this->sent = Felamimail_Message::convertDate($_headers['resent-date']);
         }
         
@@ -320,13 +320,13 @@ class Felamimail_Model_Message extends Tinebase_Record_Abstract
                     $value = Felamimail_Message::convertAddresses($_headers[$field], $punycodeConverter);
                     switch ($field) {
                         case 'from':
-                            $this->from_email = (isset($value[0]) && array_key_exists('email', $value[0])) ? $value[0]['email'] : '';
-                            $this->from_name = (isset($value[0]) && array_key_exists('name', $value[0]) && ! empty($value[0]['name'])) ? $value[0]['name'] : $this->from_email;
+                            $this->from_email = (isset($value[0]) && (isset($value[0]['email']) || array_key_exists('email', $value[0]))) ? $value[0]['email'] : '';
+                            $this->from_name = (isset($value[0]) && (isset($value[0]['name']) || array_key_exists('name', $value[0])) && ! empty($value[0]['name'])) ? $value[0]['name'] : $this->from_email;
                             break;
                             
                         case 'sender':
-                            $this->sender = (isset($value[0]) && array_key_exists('email', $value[0])) ? '<' . $value[0]['email'] . '>' : '';
-                            if ((isset($value[0]) && array_key_exists('name', $value[0]) && ! empty($value[0]['name']))) {
+                            $this->sender = (isset($value[0]) && (isset($value[0]['email']) || array_key_exists('email', $value[0]))) ? '<' . $value[0]['email'] . '>' : '';
+                            if ((isset($value[0]) && (isset($value[0]['name']) || array_key_exists('name', $value[0])) && ! empty($value[0]['name']))) {
                                 $this->sender = '"' . $value[0]['name'] . '" ' . $this->sender;
                             }
                             break;
@@ -363,7 +363,7 @@ class Felamimail_Model_Message extends Tinebase_Record_Abstract
      */
     protected function _setBodyContentType()
     {
-        if (array_key_exists('parts', $this->structure)) {
+        if ((isset($this->structure['parts']) || array_key_exists('parts', $this->structure))) {
             $bodyContentTypes = $this->_getBodyContentTypes($this->structure['parts']);
             $this->body_content_type = (in_array(self::CONTENT_TYPE_HTML, $bodyContentTypes)) ? self::CONTENT_TYPE_HTML : self::CONTENT_TYPE_PLAIN;
         } else {
@@ -383,11 +383,11 @@ class Felamimail_Model_Message extends Tinebase_Record_Abstract
     {
         $_bodyContentTypes = array();
         foreach ($_parts as $part) {
-            if (is_array($part) && array_key_exists('contentType', $part)) {
+            if (is_array($part) && (isset($part['contentType']) || array_key_exists('contentType', $part))) {
                 if (in_array($part['contentType'], array(self::CONTENT_TYPE_HTML, self::CONTENT_TYPE_PLAIN)) && ! $this->_partIsAttachment($part)) {
                     $_bodyContentTypes[] = $part['contentType'];
                 } else if (($part['contentType'] == self::CONTENT_TYPE_MULTIPART || $part['contentType'] == self::CONTENT_TYPE_MULTIPART_RELATED) 
-                    && array_key_exists('parts', $part))
+                    && (isset($part['parts']) || array_key_exists('parts', $part)))
                 {
                     $_bodyContentTypes = array_merge($_bodyContentTypes, $this->_getBodyContentTypes($part['parts']));
                 }
@@ -425,8 +425,8 @@ class Felamimail_Model_Message extends Tinebase_Record_Abstract
             );
             
             foreach ($iterator as $key => $value) {
-                if ($key == $_partId && is_array($value) && array_key_exists('partId', $value)) {
-                    $result = ($_useMessageStructure && is_array($value) && array_key_exists('messageStructure', $value)) ? $value['messageStructure'] : $value;
+                if ($key == $_partId && is_array($value) && (isset($value['partId']) || array_key_exists('partId', $value))) {
+                    $result = ($_useMessageStructure && is_array($value) && (isset($value['messageStructure']) || array_key_exists('messageStructure', $value))) ? $value['messageStructure'] : $value;
                 }
             }
         }
@@ -455,7 +455,7 @@ class Felamimail_Model_Message extends Tinebase_Record_Abstract
             return $bodyParts;
         }
         
-        if (array_key_exists('parts', $structure)) {
+        if ((isset($structure['parts']) || array_key_exists('parts', $structure))) {
             $bodyParts = $bodyParts + $this->_parseMultipart($structure, $_preferedMimeType);
         } else {
             $bodyParts = $bodyParts + $this->_parseSinglePart($structure, in_array($_preferedMimeType, array(Zend_Mime::TYPE_HTML, Zend_Mime::TYPE_TEXT)));
@@ -474,7 +474,7 @@ class Felamimail_Model_Message extends Tinebase_Record_Abstract
     {
         $result = array();
         
-        if (! array_key_exists('type', $_structure) || $_structure['type'] != 'text') {
+        if (! (isset($_structure['type']) || array_key_exists('type', $_structure)) || $_structure['type'] != 'text') {
             if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' Structure has no type key or type != text: ' . print_r($_structure, TRUE));
             return $result;
         }
@@ -503,7 +503,7 @@ class Felamimail_Model_Message extends Tinebase_Record_Abstract
             isset($_structure['disposition']['type']) && 
                 ($_structure['disposition']['type'] == Zend_Mime::DISPOSITION_ATTACHMENT ||
                 // treat as attachment if structure contains parameters 
-                ($_structure['disposition']['type'] == Zend_Mime::DISPOSITION_INLINE && array_key_exists("parameters", $_structure['disposition'])
+                ($_structure['disposition']['type'] == Zend_Mime::DISPOSITION_INLINE && (isset($_structure['disposition']["parameters"]) || array_key_exists("parameters", $_structure['disposition']))
             )
         ));
     }
@@ -530,14 +530,14 @@ class Felamimail_Model_Message extends Tinebase_Record_Abstract
             if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__
                 . ' Found parts: ' . print_r($foundParts, TRUE));
             
-            if (array_key_exists($_preferedMimeType, $foundParts)) {
+            if ((isset($foundParts[$_preferedMimeType]) || array_key_exists($_preferedMimeType, $foundParts))) {
                 // found our desired body part
                 $result[$foundParts[$_preferedMimeType]] = $_structure['parts'][$foundParts[$_preferedMimeType]];
             }
             
             $multipartTypes = array(self::CONTENT_TYPE_MULTIPART, self::CONTENT_TYPE_MULTIPART_RELATED, self::CONTENT_TYPE_MULTIPART_MIXED);
             foreach ($multipartTypes as $multipartType) {
-                if (array_key_exists($multipartType, $foundParts)) {
+                if ((isset($foundParts[$multipartType]) || array_key_exists($multipartType, $foundParts))) {
                     // dig deeper into the structure to find the desired part(s)
                     $partStructure = $_structure['parts'][$foundParts[$multipartType]];
                     $result = $this->getBodyParts($partStructure, $_preferedMimeType);
@@ -547,7 +547,7 @@ class Felamimail_Model_Message extends Tinebase_Record_Abstract
             $alternativeType = ($_preferedMimeType == Zend_Mime::TYPE_HTML) 
                 ? Zend_Mime::TYPE_TEXT 
                 : (($_preferedMimeType == Zend_Mime::TYPE_TEXT) ? Zend_Mime::TYPE_HTML : '');
-            if (empty($result) && array_key_exists($alternativeType, $foundParts)) {
+            if (empty($result) && (isset($foundParts[$alternativeType]) || array_key_exists($alternativeType, $foundParts))) {
                 // found the alternative body part
                 $result[$foundParts[$alternativeType]] = $_structure['parts'][$foundParts[$alternativeType]];
             }
index edc1b81..26e1b68 100644 (file)
@@ -45,7 +45,7 @@ class Felamimail_Setup_Update_Release3 extends Setup_Update_Abstract
         // update account types for users with userEmailAccount preference
         $imapConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::IMAP, new Tinebase_Config_Struct())->toArray();
         
-        if (array_key_exists('host', $imapConfig)) {
+        if ((isset($imapConfig['host']) || array_key_exists('host', $imapConfig))) {
             $accounts = Felamimail_Controller_Account::getInstance()->getAll();
             $accountBackend = new Felamimail_Backend_Account();
             foreach ($accounts as $account) {
@@ -78,7 +78,7 @@ class Felamimail_Setup_Update_Release3 extends Setup_Update_Abstract
     public function update_2()
     {
         $imapConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::IMAP, new Tinebase_Config_Struct())->toArray();
-        if (array_key_exists('useAsDefault', $imapConfig)) {
+        if ((isset($imapConfig['useAsDefault']) || array_key_exists('useAsDefault', $imapConfig))) {
             $imapConfig['useSystemAccount'] = $imapConfig['useAsDefault'];
             unset($imapConfig['useAsDefault']);
             Tinebase_Config::getInstance()->set(Tinebase_Config::IMAP, $imapConfig);
index 7da6a29..d07aa4d 100644 (file)
@@ -160,7 +160,7 @@ class Filemanager_Frontend_Json extends Tinebase_Frontend_Json_Abstract
      */
     public function saveNode($recordData)
     {
-        if(array_key_exists('created_by', $recordData)) {
+        if((isset($recordData['created_by']) || array_key_exists('created_by', $recordData))) {
             return $this->_save($recordData, Filemanager_Controller_Node::getInstance(), 'Node');
         } else {    // on upload complete
             return $recordData;
index ddf2458..b7bb56a 100644 (file)
@@ -64,7 +64,7 @@ class HumanResources_Frontend_Cli extends Tinebase_Frontend_Cli_Abstract
     public function create_missing_accounts($_opts)
     {
         $args = $this->_parseArgs($_opts, array());
-        $year = array_key_exists('year', $args) ? intval($args['year']) : 0;
+        $year = (isset($args['year']) || array_key_exists('year', $args)) ? intval($args['year']) : 0;
         
         if ($year !==0 && $year < 2010 || $year > 2100) {
             echo 'Please use a valid year with 4 digits!' . PHP_EOL;
@@ -84,9 +84,9 @@ class HumanResources_Frontend_Cli extends Tinebase_Frontend_Cli_Abstract
     {
         $args = $this->_parseArgs($_opts, array());
         $deletePrivateInfo = in_array('delete_private', $args['other']);
-        $workingTimeModelId = array_key_exists('working_time_model_id', $args) ? $args['working_time_model_id'] : NULL;
-        $feastCalendarId = array_key_exists('feast_calendar_id', $args) ? $args['feast_calendar_id'] : NULL;
-        $vacationDays = array_key_exists('vacation_days', $args) ? $args['vacation_days'] : NULL;
+        $workingTimeModelId = (isset($args['working_time_model_id']) || array_key_exists('working_time_model_id', $args)) ? $args['working_time_model_id'] : NULL;
+        $feastCalendarId = (isset($args['feast_calendar_id']) || array_key_exists('feast_calendar_id', $args)) ? $args['feast_calendar_id'] : NULL;
+        $vacationDays = (isset($args['vacation_days']) || array_key_exists('vacation_days', $args)) ? $args['vacation_days'] : NULL;
         HumanResources_Controller_Employee::getInstance()->transferUserAccounts($deletePrivateInfo, $feastCalendarId, $workingTimeModelId, $vacationDays, TRUE);
         
         return 0;
index cede3aa..04fb108 100644 (file)
@@ -70,7 +70,7 @@ class HumanResources_Frontend_Json extends Tinebase_Frontend_Json_Abstract
     {
         $employee = $this->_get($id, HumanResources_Controller_Employee::getInstance());
 
-        if (array_key_exists('account_id', $employee) && ! empty($employee['account_id']['contact_id'])) {
+        if ((isset($employee['account_id']) || array_key_exists('account_id', $employee)) && ! empty($employee['account_id']['contact_id'])) {
             try {
                 $employee['account_id']['contact_id'] = Addressbook_Controller_Contact::getInstance()->get($employee['account_id']['contact_id']);
             } catch (Tinebase_Exception_NotFound $e) {
index ab4f5e0..4c8442f 100644 (file)
@@ -78,7 +78,7 @@ class Inventory_Import_Csv extends Tinebase_Import_Csv_Abstract
     {
         $result = parent::_doConversions($_data);
         
-        if (array_key_exists("name", $result)) {
+        if ((isset($result["name"]) || array_key_exists("name", $result))) {
             if ($result['name'] == "")
                 $result['name'] = "!Not defined!";
         }
index 37f5acf..d82c4e2 100644 (file)
@@ -59,7 +59,7 @@ abstract class Setup_Backend_Abstract implements Setup_Backend_Interface
      */
     public function getTypeMapping($_type)
     {
-        if (array_key_exists($_type, $this->_typeMappings)) {
+        if ((isset($this->_typeMappings[$_type]) || array_key_exists($_type, $this->_typeMappings))) {
             return $this->_typeMappings[$_type];
         }
         return null;
@@ -307,7 +307,7 @@ abstract class Setup_Backend_Abstract implements Setup_Backend_Interface
     public function columnExists($_columnName, $_tableName)
     {
         $columns = Tinebase_Db_Table::getTableDescriptionFromCache(SQL_TABLE_PREFIX . $_tableName, $this->_db); 
-        return array_key_exists($_columnName, $columns);
+        return (isset($columns[$_columnName]) || array_key_exists($_columnName, $columns));
     }
     
     /**
index 08b7ba4..cede0c5 100644 (file)
@@ -272,7 +272,7 @@ class Setup_Backend_Mysql extends Setup_Backend_Abstract
             if ($_key->length !== NULL) {
                 $key .= ' (' . $_key->length . ')';
             }
-            else if (array_key_exists((string)$keyfield, $_key->fieldLength)) {
+            else if ((isset($_key->fieldLength[(string)$keyfield]) || array_key_exists((string)$keyfield, $_key->fieldLength))) {
                 $key .= ' (' . $_key->fieldLength[(string)$keyfield] . ')';
             }
             $keys[] = $key;
index 51e9b36..5fb478a 100644 (file)
@@ -628,7 +628,7 @@ class Setup_Backend_Oracle extends Setup_Backend_Abstract
             if (!empty($keyfield->length)) {
                 $key .= ' (' . $keyfield->length . ')';
             }
-            else if (array_key_exists((string)$keyfield, $_key->fieldLength)) {
+            else if ((isset($_key->fieldLength[(string)$keyfield]) || array_key_exists((string)$keyfield, $_key->fieldLength))) {
             // TODO: need fix  Error: ORA-00904: "value": invalid identifier 00904. 00000 -  "%s: invalid identifier"
             //    $key .= ' (' . $_key->fieldLength[(string)$keyfield] . ')';
             }
index 25cac81..ad5770e 100644 (file)
@@ -342,11 +342,11 @@ class Setup_Controller
     public function checkDir($_name, $_group = NULL, $allowEmptyPath = TRUE)
     {
         $config = $this->getConfigData();
-        if ($_group !== NULL && array_key_exists($_group, $config)) {
+        if ($_group !== NULL && (isset($config[$_group]) || array_key_exists($_group, $config))) {
             $config = $config[$_group];
         }
         
-        $path = array_key_exists($_name, $config) ? $config[$_name] : false;
+        $path = (isset($config[$_name]) || array_key_exists($_name, $config)) ? $config[$_name] : false;
         if (empty($path)) {
             return $allowEmptyPath;
         } else {
@@ -612,7 +612,7 @@ class Setup_Controller
                 $applications = array();
                 foreach ($installed as $application) {
                     
-                    if (! array_key_exists($application['name'], $installable)) {
+                    if (! (isset($installable[$application['name']]) || array_key_exists($application['name'], $installable))) {
                         Tinebase_Core::getLogger()->warn(__METHOD__ . '::' . __LINE__ . ' App ' . $application['name'] . ' does not exist any more.');
                         continue;
                     }
@@ -799,7 +799,7 @@ class Setup_Controller
         # (2) moved session config to subgroup 'session'
         if (empty($configArray['session']) || empty($configArray['session']['path'])) {
             foreach (array('session.save_path', 'sessiondir') as $deprecatedSessionDir) {
-                $sessionDir = array_key_exists($deprecatedSessionDir, $configArray) ? $configArray[$deprecatedSessionDir] : '';
+                $sessionDir = (isset($configArray[$deprecatedSessionDir]) || array_key_exists($deprecatedSessionDir, $configArray)) ? $configArray[$deprecatedSessionDir] : '';
                 if (! empty($sessionDir)) {
                     if (empty($configArray['session'])) {
                         $configArray['session'] = array();
@@ -979,7 +979,7 @@ class Setup_Controller
         
         $excludeKeys = array('adminLoginName', 'adminPassword', 'adminPasswordConfirmation');
         foreach ($excludeKeys as $key) {
-            if (array_key_exists($key, $config)) {
+            if ((isset($config[$key]) || array_key_exists($key, $config))) {
                 unset($config[$key]);
             }
         }
@@ -1074,7 +1074,7 @@ class Setup_Controller
         if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . print_r($_data, 1));
         $keys = array(Tinebase_Config::REDIRECTURL, Tinebase_Config::REDIRECTALWAYS, Tinebase_Config::REDIRECTTOREFERRER);
         foreach ($keys as $key) {
-            if (array_key_exists($key, $_data)) {
+            if ((isset($_data[$key]) || array_key_exists($key, $_data))) {
                 if (strlen($_data[$key]) === 0) {
                     Tinebase_Config::getInstance()->delete($key);
                 } else {
@@ -1241,7 +1241,7 @@ class Setup_Controller
         $this->_enableCaching();
         
         foreach ($this->_emailConfigKeys as $configName => $configKey) {
-            if (array_key_exists($configName, $_data)) {
+            if ((isset($_data[$configName]) || array_key_exists($configName, $_data))) {
                 // fetch current config first and preserve all values that aren't in $_data array
                 $currentConfig = Tinebase_Config::getInstance()->get($configKey, new Tinebase_Config_Struct(array()))->toArray();
                 $newConfig = array_merge($_data[$configName], array_diff_key($currentConfig, $_data[$configName]));
index 09df9c8..7e90fb8 100644 (file)
@@ -105,7 +105,7 @@ class Setup_Frontend_Cli
         
         $controller->installApplications($applications, $options);
         
-        if (array_key_exists('acceptedTermsVersion', $options)) {
+        if ((isset($options['acceptedTermsVersion']) || array_key_exists('acceptedTermsVersion', $options))) {
             Setup_Controller::getInstance()->saveAcceptedTerms($options['acceptedTermsVersion']);
         }
         
index b6e770d..61c8ced 100644 (file)
@@ -70,7 +70,7 @@ Class SimpleFAQ_Model_Config extends Tinebase_Record_Abstract
     {
         if ($this->has($_property) && isset($this->$_property) && is_array($this->$_property)) {
             foreach ($this->$_property as $sub) {
-                if (array_key_exists($_idProperty, $sub) && $sub[$_idProperty] == $_id) {
+                if ((isset($sub[$_idProperty]) || array_key_exists($_idProperty, $sub)) && $sub[$_idProperty] == $_id) {
                     return $sub;
                 }
             }
index 32ed297..ac4c933 100644 (file)
@@ -88,7 +88,7 @@ class Tasks_Frontend_CalDAV_Backend extends Sabre\CalDAV\Backend\AbstractBackend
         
         
         // NOTE: at the moment we only support a predefined set of colors
-//        if (array_key_exists('{http://apple.com/ns/ical/}calendar-color', $properties)) {
+//        if ((isset($properties['{http://apple.com/ns/ical/}calendar-color']) || array_key_exists('{http://apple.com/ns/ical/}calendar-color', $properties))) {
 //            $color = substr($properties['{http://apple.com/ns/ical/}calendar-color'], 0, 7);
 //            $container->color = $color;
 //        }
@@ -157,12 +157,12 @@ class Tasks_Frontend_CalDAV_Backend extends Sabre\CalDAV\Backend\AbstractBackend
         
         try {
             $transactionId = Tinebase_TransactionManager::getInstance()->startTransaction(Tinebase_Core::getDb());
-            if (array_key_exists('{DAV:}displayname', $properties)) {
+            if ((isset($properties['{DAV:}displayname']) || array_key_exists('{DAV:}displayname', $properties))) {
                 Tinebase_Container::getInstance()->setContainerName($calendarId, $properties['{DAV:}displayname']);
             }
             
             // NOTE: at the moment we only support a predefined set of colors
-//            if (array_key_exists('{http://apple.com/ns/ical/}calendar-color', $properties)) {
+//            if ((isset($properties['{http://apple.com/ns/ical/}calendar-color']) || array_key_exists('{http://apple.com/ns/ical/}calendar-color', $properties))) {
 //                $color = substr($properties['{http://apple.com/ns/ical/}calendar-color'], 0, 7);
 //                Tinebase_Container::getInstance()->setContainerColor($calendarId, $color);
 //            }
index a0b537e..593dbe0 100644 (file)
@@ -100,7 +100,7 @@ class Tasks_Setup_Update_Release5 extends Setup_Update_Abstract
         foreach($pfiltersDatas as $pfilterData) {
             $filtersData = Zend_Json::decode($pfilterData['filters']);
             foreach($filtersData as &$filterData) {
-                if (array_key_exists('field', $filterData) && $filterData['field'] == 'status_id') {
+                if ((isset($filterData['field']) || array_key_exists('field', $filterData)) && $filterData['field'] == 'status_id') {
                     $filterData['field'] = 'status';
                     $newStatusIds = array();
                     foreach((array) $filterData['value'] as $oldStatusId) {
index b2d9404..e68d2a4 100644 (file)
@@ -144,7 +144,7 @@ class Timetracker_Frontend_Cli extends Tinebase_Frontend_Cli_Abstract
                     if (in_array($groupId, $groupMemberships)) {
                         echo 'Transfering timesheet of user ' . $timesheet->account_id . ' to timeaccount ' . $timeaccountId . ".\n";
                         
-                        if (array_key_exists('dryrun', $params) && $params['dryrun'] == 0) {
+                        if ((isset($params['dryrun']) || array_key_exists('dryrun', $params)) && $params['dryrun'] == 0) {
                             $timesheet->timeaccount_id = $timeaccountId;
                             Timetracker_Controller_Timesheet::getInstance()->update($timesheet);
                             $transferCount++;
index 24a15ad..44ec314 100644 (file)
@@ -84,7 +84,7 @@ class Timetracker_Model_TimeaccountFilter extends Tinebase_Model_Filter_FilterGr
      */
     protected function _setOptions(array $_options)
     {
-        $_options['useTimesheetAcl']    = array_key_exists('useTimesheetAcl', $_options) ? $_options['useTimesheetAcl'] : FALSE;
+        $_options['useTimesheetAcl']    = (isset($_options['useTimesheetAcl']) || array_key_exists('useTimesheetAcl', $_options)) ? $_options['useTimesheetAcl'] : FALSE;
         parent::_setOptions($_options);
     }
     
index 8679a57..4d9b1b1 100644 (file)
@@ -90,7 +90,7 @@ class Timetracker_Model_TimeaccountIdFilter extends Tinebase_Model_Filter_Abstra
      */
     protected function _setOptions(array $_options)
     {
-        $_options['useTimesheetAcl'] = array_key_exists('useTimesheetAcl', $_options) ? $_options['useTimesheetAcl'] : FALSE;
+        $_options['useTimesheetAcl'] = (isset($_options['useTimesheetAcl']) || array_key_exists('useTimesheetAcl', $_options)) ? $_options['useTimesheetAcl'] : FALSE;
         parent::_setOptions($_options);
     }
     
index e50c365..e73f56f 100644 (file)
@@ -78,7 +78,7 @@
         if (isset(Tinebase_Core::getConfig()->actionqueue) && Tinebase_Core::getConfig()->actionqueue->active) {
             $options = Tinebase_Core::getConfig()->actionqueue->toArray();
             
-            $backend = array_key_exists('backend', $options) ? ucfirst(strtolower($options['backend'])) : $backend;
+            $backend = (isset($options['backend']) || array_key_exists('backend', $options)) ? ucfirst(strtolower($options['backend'])) : $backend;
             unset($options['backend']);
         }
         
      */
     public function executeAction($message)
     {
-        if (! is_array($message) || ! array_key_exists('action', $message) || strpos($message['action'], '.') === FALSE) {
+        if (! is_array($message) || ! (isset($message['action']) || array_key_exists('action', $message)) || strpos($message['action'], '.') === FALSE) {
             throw new Tinebase_Exception_NotFound('Could not execute action, invalid message/action param');
         }
 
index 1bbeb4d..090f9a7 100644 (file)
@@ -545,7 +545,7 @@ class Tinebase_Application
                       $count = Tinebase_CustomField::getInstance()->deleteCustomFieldsForApplication($_application->getId());
                       break;
                 default:
-                    if (array_key_exists('tablename', $info) && ! empty($info['tablename'])) {
+                    if ((isset($info['tablename']) || array_key_exists('tablename', $info)) && ! empty($info['tablename'])) {
                         $count = $this->_db->delete(SQL_TABLE_PREFIX . $info['tablename'], $where);
                     } else {
                         Tinebase_Core::getLogger()->warn(__METHOD__ . '::' . __LINE__ . ' No tablename defined for ' . $dataType);
index 59f860a..4336eea 100755 (executable)
@@ -316,7 +316,7 @@ class Tinebase_Auth
                 self::setBackendConfiguration($value, $key);
             }
         } else {
-            if ( ! array_key_exists($_key, $defaultValues)) {
+            if ( ! (isset($defaultValues[$_key]) || array_key_exists($_key, $defaultValues))) {
                 if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ .
                     "Cannot set backend configuration option '$_key' for accounts storage " . self::getConfiguredBackend());
                 return;
@@ -335,7 +335,7 @@ class Tinebase_Auth
     {
         if (is_null($_key)) {
             self::$_backendConfiguration = array();
-        } elseif (array_key_exists($_key, self::$_backendConfiguration)) {
+        } elseif ((isset(self::$_backendConfiguration[$_key]) || array_key_exists($_key, self::$_backendConfiguration))) {
             unset(self::$_backendConfiguration[$_key]);
         } else {
             Tinebase_Core::getLogger()->warn(__METHOD__ . '::' . __LINE__ . ' configuration option does not exist: ' . $_key);
@@ -373,7 +373,7 @@ class Tinebase_Auth
         }
 
         if (isset($_key)) {
-            return array_key_exists($_key, self::$_backendConfiguration) ? self::$_backendConfiguration[$_key] : $_default;
+            return (isset(self::$_backendConfiguration[$_key]) || array_key_exists($_key, self::$_backendConfiguration)) ? self::$_backendConfiguration[$_key] : $_default;
         } else {
             return self::$_backendConfiguration;
         }
@@ -396,7 +396,7 @@ class Tinebase_Auth
                 foreach ($backendConfig as $key => $value) {
                     // 2010-05-20 cweiss Zend_Ldap changed and does not longer throw exceptions
                     // on unsupported values, we might skip this cleanup here.
-                    if (! array_key_exists($key, $config[$backendType])) {
+                    if (! (isset($config[$backendType][$key]) || array_key_exists($key, $config[$backendType]))) {
                         $config[$backendType][$key] = $value;
                     }
                 }
@@ -414,7 +414,7 @@ class Tinebase_Auth
      */
     public static function getBackendConfigurationDefaults($_backendType = null) {
         if ($_backendType) {
-            if (!array_key_exists($_backendType, self::$_backendConfigurationDefaults)) {
+            if (!(isset(self::$_backendConfigurationDefaults[$_backendType]) || array_key_exists($_backendType, self::$_backendConfigurationDefaults))) {
                 throw new Tinebase_Exception_InvalidArgument("Unknown backend type '$_backendType'");
             }
             return self::$_backendConfigurationDefaults[$_backendType];
index 16a807d..2193409 100644 (file)
@@ -50,11 +50,11 @@ class Tinebase_Auth_ModSsl_Certificate_ICPBrasil extends Tinebase_Auth_ModSsl_Ce
     public function __construct($certificate, $icpBrasilData)
     {
         // parse $oid and get specific info from
-        if (array_key_exists(self::OID_PF, $icpBrasilData)) {
+        if ((isset($icpBrasilData[self::OID_PF]) || array_key_exists(self::OID_PF, $icpBrasilData))) {
             $this->pf = true;
-        } else if (array_key_exists(self::OID_PJ_CEI, $icpBrasilData)) {
+        } else if ((isset($icpBrasilData[self::OID_PJ_CEI]) || array_key_exists(self::OID_PJ_CEI, $icpBrasilData))) {
             $this->pj = true;
-        } else if (array_key_exists(self::OID_APP_NOMEEMPRESARIAL, $icpBrasilData)) {
+        } else if ((isset($icpBrasilData[self::OID_APP_NOMEEMPRESARIAL]) || array_key_exists(self::OID_APP_NOMEEMPRESARIAL, $icpBrasilData))) {
             $this->app = true;
         }
         
index abbee3e..9d49a86 100644 (file)
@@ -148,11 +148,11 @@ abstract class Tinebase_Backend_Sql_Abstract extends Tinebase_Backend_Abstract i
         $this->_db        = ($_dbAdapter instanceof Zend_Db_Adapter_Abstract) ? $_dbAdapter : Tinebase_Core::getDb();
         $this->_dbCommand = Tinebase_Backend_Sql_Command::factory($this->_db);
         
-        $this->_modelName            = array_key_exists('modelName', $_options)            ? $_options['modelName']    : $this->_modelName;
-        $this->_tableName            = array_key_exists('tableName', $_options)            ? $_options['tableName']    : $this->_tableName;
-        $this->_tablePrefix          = array_key_exists('tablePrefix', $_options)          ? $_options['tablePrefix']  : $this->_db->table_prefix;
-        $this->_modlogActive         = array_key_exists('modlogActive', $_options)         ? $_options['modlogActive'] : $this->_modlogActive;
-        $this->_useSubselectForCount = array_key_exists('useSubselectForCount', $_options) ? $_options['useSubselectForCount'] : $this->_useSubselectForCount;
+        $this->_modelName            = (isset($_options['modelName']) || array_key_exists('modelName', $_options))            ? $_options['modelName']    : $this->_modelName;
+        $this->_tableName            = (isset($_options['tableName']) || array_key_exists('tableName', $_options))            ? $_options['tableName']    : $this->_tableName;
+        $this->_tablePrefix          = (isset($_options['tablePrefix']) || array_key_exists('tablePrefix', $_options))          ? $_options['tablePrefix']  : $this->_db->table_prefix;
+        $this->_modlogActive         = (isset($_options['modlogActive']) || array_key_exists('modlogActive', $_options))         ? $_options['modlogActive'] : $this->_modlogActive;
+        $this->_useSubselectForCount = (isset($_options['useSubselectForCount']) || array_key_exists('useSubselectForCount', $_options)) ? $_options['useSubselectForCount'] : $this->_useSubselectForCount;
         
         if (! ($this->_tableName && $this->_modelName)) {
             throw new Tinebase_Exception_Backend_Database('modelName and tableName must be configured or given.');
@@ -324,7 +324,7 @@ abstract class Tinebase_Backend_Sql_Abstract extends Tinebase_Backend_Abstract i
     protected function _explodeForeignValues(Tinebase_Record_Interface $_record)
     {
         foreach (array_keys($this->_foreignTables) as $field) {
-            $isSingleValue = (array_key_exists('singleValue', $this->_foreignTables[$field]) && $this->_foreignTables[$field]['singleValue']);
+            $isSingleValue = ((isset($this->_foreignTables[$field]['singleValue']) || array_key_exists('singleValue', $this->_foreignTables[$field])) && $this->_foreignTables[$field]['singleValue']);
             if (! $isSingleValue) {
                 $_record->{$field} = (! empty($_record->{$field})) ? explode(',', $_record->{$field}) : array();
             }
@@ -613,7 +613,7 @@ abstract class Tinebase_Backend_Sql_Abstract extends Tinebase_Backend_Abstract i
         }
         
         foreach((array) $_pagination->sort as $sort) {
-            if (! array_key_exists($sort, $colsToFetch)) {
+            if (! (isset($colsToFetch[$sort]) || array_key_exists($sort, $colsToFetch))) {
                 $colsToFetch[$sort] = (substr_count($sort, $this->_tableName) === 0) ? $this->_tableName . '.' . $sort : $sort;
             }
         }
@@ -633,7 +633,7 @@ abstract class Tinebase_Backend_Sql_Abstract extends Tinebase_Backend_Abstract i
         // need to ask filter if it needs additional columns
         $filterCols = $_filter->getRequiredColumnsForSelect();
         foreach ($filterCols as $key => $filterCol) {
-            if (! array_key_exists($key, $_colsToFetch)) {
+            if (! (isset($_colsToFetch[$key]) || array_key_exists($key, $_colsToFetch))) {
                 $_colsToFetch[$key] = $filterCol;
             }
         }
@@ -781,15 +781,15 @@ abstract class Tinebase_Backend_Sql_Abstract extends Tinebase_Backend_Abstract i
             $cols = (array) $_cols;
             foreach ($this->_foreignTables as $foreignColumn => $join) {
                 // only join if field is in cols
-                if (in_array('*', $cols) || array_key_exists($foreignColumn, $cols)) {
+                if (in_array('*', $cols) || (isset($cols[$foreignColumn]) || array_key_exists($foreignColumn, $cols))) {
                     if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' foreign column: ' . $foreignColumn);
                     
-                    $selectArray = (array_key_exists('select', $join))
+                    $selectArray = ((isset($join['select']) || array_key_exists('select', $join)))
                         ? $join['select'] 
-                        : ((array_key_exists('field', $join) && (! array_key_exists('singleValue', $join) || ! $join['singleValue']))
+                        : (((isset($join['field']) || array_key_exists('field', $join)) && (! (isset($join['singleValue']) || array_key_exists('singleValue', $join)) || ! $join['singleValue']))
                             ? array($foreignColumn => $this->_dbCommand->getAggregate($join['table'] . '.' . $join['field']))
                             : array($foreignColumn => $join['table'] . '.id'));
-                    $joinId = (array_key_exists('joinId', $join)) ? $join['joinId'] : $this->_identifier;
+                    $joinId = ((isset($join['joinId']) || array_key_exists('joinId', $join))) ? $join['joinId'] : $this->_identifier;
                     
                     $this->_removeColFromSelect($_select, $cols, $foreignColumn);
                     
@@ -800,7 +800,7 @@ abstract class Tinebase_Backend_Sql_Abstract extends Tinebase_Backend_Abstract i
                             /* select */ $selectArray
                         );
                         // need to add it to cols to prevent _removeColFromSelect from removing it
-                        if (array_key_exists('preserve', $join) && $join['preserve'] && array_key_exists($foreignColumn, $selectArray)) {
+                        if ((isset($join['preserve']) || array_key_exists('preserve', $join)) && $join['preserve'] && (isset($selectArray[$foreignColumn]) || array_key_exists($foreignColumn, $selectArray))) {
                             $cols[$foreignColumn] = $selectArray[$foreignColumn];
                         }
                     } catch (Zend_Db_Select_Exception $zdse) {
@@ -976,7 +976,7 @@ abstract class Tinebase_Backend_Sql_Abstract extends Tinebase_Backend_Abstract i
             
             foreach ($this->_foreignTables as $modelName => $join) {
                 
-                if (! array_key_exists('field', $join)) {
+                if (! (isset($join['field']) || array_key_exists('field', $join))) {
                     continue;
                 }
                 
@@ -1196,7 +1196,7 @@ abstract class Tinebase_Backend_Sql_Abstract extends Tinebase_Backend_Abstract i
      */
     public function deleteByProperty($_value, $_property, $_operator = 'equals')
     {
-        if (! array_key_exists($_property, $this->_schema)) {
+        if (! (isset($this->_schema[$_property]) || array_key_exists($_property, $this->_schema))) {
             throw new Tinebase_Exception_InvalidArgument('Property ' . $_property . ' does not exist in table ' . $this->_tableName);
         }
         
index 79e42fe..835c1d4 100755 (executable)
@@ -145,7 +145,7 @@ class Tinebase_Backend_Sql_Command_Pgsql implements Tinebase_Backend_Sql_Command
     protected function _hasUnaccentExtension()
     {
         $session = Tinebase_Core::getSession();
-        if ($session instanceof Zend_Session_Namespace && isset($session->dbcapabilities) && array_key_exists('unaccent', $session->dbcapabilities)) {
+        if ($session instanceof Zend_Session_Namespace && isset($session->dbcapabilities) && (isset($session->dbcapabilities['unaccent']) || array_key_exists('unaccent', $session->dbcapabilities))) {
             $result = $session->dbcapabilities['unaccent'];
         } else {
             $result = 0;
index 6522317..67c87e9 100644 (file)
@@ -669,7 +669,7 @@ class Tinebase_Config extends Tinebase_Config_Abstract
                     if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ 
                         . ' ' . print_r($definition, TRUE));
                     
-                    if (array_key_exists('clientRegistryInclude', $definition) && $definition['clientRegistryInclude'] === TRUE) {
+                    if ((isset($definition['clientRegistryInclude']) || array_key_exists('clientRegistryInclude', $definition)) && $definition['clientRegistryInclude'] === TRUE) {
                         // add definition here till we have a better place
                         $configRegistryItem = new Tinebase_Config_Struct(array(
                             'value'         => $config->{$name},
index 5f96a12..5538a7d 100644 (file)
@@ -160,7 +160,7 @@ abstract class Tinebase_Config_Abstract
        // get default from definition if needed
        if ($default === NULL) {
            $definition = self::getDefinition($name);
-           if ($definition && array_key_exists('default', $definition)) {
+           if ($definition && (isset($definition['default']) || array_key_exists('default', $definition))) {
                return $definition['default'];
            }
        }
@@ -286,8 +286,8 @@ abstract class Tinebase_Config_Abstract
         $configFileData = $this->_getConfigFileData();
         
         // appName section overwrites global section in config file
-        return array_key_exists($this->_appName, $configFileData) && array_key_exists($_name, $configFileData[$this->_appName]) ? $configFileData[$this->_appName] :
-              (array_key_exists($_name, $configFileData) ? $configFileData : NULL);
+        return (isset($configFileData[$this->_appName]) || array_key_exists($this->_appName, $configFileData)) && (isset($configFileData[$this->_appName][$_name]) || array_key_exists($_name, $configFileData[$this->_appName])) ? $configFileData[$this->_appName] :
+              ((isset($configFileData[$_name]) || array_key_exists($_name, $configFileData)) ? $configFileData : NULL);
     }
     
     /**
@@ -452,7 +452,7 @@ abstract class Tinebase_Config_Abstract
             case self::TYPE_STRING:     return (string) $_rawData;
             case self::TYPE_FLOAT:      return (float) $_rawData;
             case self::TYPE_DATETIME:   return new DateTime($_rawData);
-            case self::TYPE_KEYFIELD:   return Tinebase_Config_KeyField::create($_rawData, array_key_exists('options', $definition) ? (array) $definition['options'] : array());
+            case self::TYPE_KEYFIELD:   return Tinebase_Config_KeyField::create($_rawData, (isset($definition['options']) || array_key_exists('options', $definition)) ? (array) $definition['options'] : array());
             default:                    return is_array($_rawData) ? new Tinebase_Config_Struct($_rawData) : $_rawData;
         }
     }
@@ -468,7 +468,7 @@ abstract class Tinebase_Config_Abstract
         // NOTE we can't call statecally here (static late binding again)
         $properties = $this->getProperties();
         
-        return array_key_exists($_name, $properties) ? $properties[$_name] : NULL;
+        return (isset($properties[$_name]) || array_key_exists($_name, $properties)) ? $properties[$_name] : NULL;
     }
     
     /**
index f394193..c22ec2d 100644 (file)
@@ -25,7 +25,7 @@ class Tinebase_Config_Struct extends ArrayObject
      */
     public function get($_name, $_default = null)
     {
-        return array_key_exists($_name, $this
+        return (isset($this[$_name]) || array_key_exists($_name, $this)
             ? (is_array($this[$_name]) ? new Tinebase_Config_Struct($this[$_name]) : $this[$_name]) 
             : $_default;
     }
index 4b759e3..e9a8045 100644 (file)
@@ -1021,7 +1021,7 @@ abstract class Tinebase_Controller_Record_Abstract
 
         $constrainsConfig = false;
         foreach($relConfig as $config) {
-            if($config['relatedApp'] == $a[3] && $config['relatedModel'] == $a[4] && array_key_exists('config', $config) && is_array($config['config'])) {
+            if($config['relatedApp'] == $a[3] && $config['relatedModel'] == $a[4] && (isset($config['config']) || array_key_exists('config', $config)) && is_array($config['config'])) {
                 foreach($config['config'] as $constrain) {
                     if($constrain['type'] == $a[1]) {
                         $constrainsConfig = $constrain;
@@ -1038,11 +1038,11 @@ abstract class Tinebase_Controller_Record_Abstract
         $rel = array(
             'own_model' => $this->_modelName,
             'own_backend' => 'Sql',
-            'own_degree' =>array_key_exists('sibling', $constrainsConfig) ? $constrainsConfig['sibling'] : 'sibling',
+            'own_degree' =>(isset($constrainsConfig['sibling']) || array_key_exists('sibling', $constrainsConfig)) ? $constrainsConfig['sibling'] : 'sibling',
             'related_model' => $a[2],
             'related_backend' => 'Sql',
-            'type' => array_key_exists('type', $constrainsConfig) ? $constrainsConfig['type'] : '-',
-            'remark' => array_key_exists('defaultRemark', $constrainsConfig) ? $constrainsConfig['defaultRemark'] : ' '
+            'type' => (isset($constrainsConfig['type']) || array_key_exists('type', $constrainsConfig)) ? $constrainsConfig['type'] : '-',
+            'remark' => (isset($constrainsConfig['defaultRemark']) || array_key_exists('defaultRemark', $constrainsConfig)) ? $constrainsConfig['defaultRemark'] : ' '
         );
         
         if(empty($value)) { // delete relations in iterator
@@ -1699,7 +1699,7 @@ abstract class Tinebase_Controller_Record_Abstract
      */
     protected function _createDependentRecords(Tinebase_Record_Interface $_createdRecord, Tinebase_Record_Interface $_record, $_property, $_fieldConfig)
     {
-        if (! array_key_exists('dependentRecords', $_fieldConfig) || ! $_fieldConfig['dependentRecords']) {
+        if (! (isset($_fieldConfig['dependentRecords']) || array_key_exists('dependentRecords', $_fieldConfig)) || ! $_fieldConfig['dependentRecords']) {
             return;
         }
         
@@ -1740,7 +1740,7 @@ abstract class Tinebase_Controller_Record_Abstract
      */
     protected function _updateDependentRecords(Tinebase_Record_Interface $_record, Tinebase_Record_Interface $_oldRecord, $_property, $_fieldConfig)
     {
-        if (! array_key_exists('dependentRecords', $_fieldConfig) || ! $_fieldConfig['dependentRecords']) {
+        if (! (isset($_fieldConfig['dependentRecords']) || array_key_exists('dependentRecords', $_fieldConfig)) || ! $_fieldConfig['dependentRecords']) {
             return;
         }
     
index 0b77f8d..81c7bc5 100644 (file)
@@ -101,7 +101,7 @@ class Tinebase_Convert_Json implements Tinebase_Convert_Interface
                 // TODO: resolve recursive records of records better in controller
                 // TODO: resolve containers
                 } else {
-                    $controller = array_key_exists('controllerClassName', $cfg['config']) ? $cfg['config']['controllerClassName']::getInstance() : Tinebase_Core::getApplicationInstance($foreignRecordClassName);
+                    $controller = (isset($cfg['config']['controllerClassName']) || array_key_exists('controllerClassName', $cfg['config'])) ? $cfg['config']['controllerClassName']::getInstance() : Tinebase_Core::getApplicationInstance($foreignRecordClassName);
                     $foreignRecords = $controller->getMultiple($foreignIds);
                 }
                 
@@ -170,8 +170,8 @@ class Tinebase_Convert_Json implements Tinebase_Convert_Interface
      */
     protected static function _resolveForeignIdFields($records, $foreignRecordClassName, $fields)
     {
-        $options = array_key_exists('options', $fields) ? $fields['options'] : array();
-        $fields = array_key_exists('fields', $fields) ? $fields['fields'] : $fields;
+        $options = (isset($fields['options']) || array_key_exists('options', $fields)) ? $fields['options'] : array();
+        $fields = (isset($fields['fields']) || array_key_exists('fields', $fields)) ? $fields['fields'] : $fields;
         
         $foreignIds = array();
         foreach ($fields as $field) {
@@ -199,7 +199,7 @@ class Tinebase_Convert_Json implements Tinebase_Convert_Interface
         if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ 
             . ' Fetching ' . $foreignRecordClassName . ' by id: ' . print_r($foreignIds, TRUE));
         
-        if (array_key_exists('ignoreAcl', $options) && $options['ignoreAcl']) {
+        if ((isset($options['ignoreAcl']) || array_key_exists('ignoreAcl', $options)) && $options['ignoreAcl']) {
             // @todo make sure that second param of getMultiple() is $ignoreAcl
             $foreignRecords = $controller->getMultiple($foreignIds, TRUE);
         } else {
@@ -256,13 +256,13 @@ class Tinebase_Convert_Json implements Tinebase_Convert_Interface
         foreach ($resolveFields as $fieldKey => $c) {
             $config = $c['config'];
             // fetch the fields by the refIfField
-            $controller = array_key_exists('controllerClassName', $config) ? $config['controllerClassName']::getInstance() : Tinebase_Core::getApplicationInstance($foreignRecordClassName);
+            $controller = (isset($config['controllerClassName']) || array_key_exists('controllerClassName', $config)) ? $config['controllerClassName']::getInstance() : Tinebase_Core::getApplicationInstance($foreignRecordClassName);
             $filterName = $config['filterClassName'];
             
             $filterArray = array();
             
             // addFilters can be added and must be added if the same model resides in more than one records fields
-            if (array_key_exists('addFilters', $config) && is_array($config['addFilters'])) {
+            if ((isset($config['addFilters']) || array_key_exists('addFilters', $config)) && is_array($config['addFilters'])) {
                 $useaddFilters = true;
                 $filterArray = $config['addFilters'];
             }
@@ -271,7 +271,7 @@ class Tinebase_Convert_Json implements Tinebase_Convert_Interface
             $filter->addFilter(new Tinebase_Model_Filter_Id(array('field' => $config['refIdField'], 'operator' => 'in', 'value' => $ownIds)));
             
             $paging = NULL;
-            if (array_key_exists('paging', $config) && is_array($config['paging'])) {
+            if ((isset($config['paging']) || array_key_exists('paging', $config)) && is_array($config['paging'])) {
                 $paging = new Tinebase_Model_Pagination($config['paging']);
             }
             
@@ -315,7 +315,7 @@ class Tinebase_Convert_Json implements Tinebase_Convert_Interface
         }
         
         foreach($virtualFields as $field) {
-            if (array_key_exists('function', $field)) {
+            if ((isset($field['function']) || array_key_exists('function', $field))) {
                 if (is_array($field['function'])) {
                     if (count($field['function']) > 1) { // static method call
                         $class  = $field['function'][0];
index b132020..87b93e4 100644 (file)
@@ -236,7 +236,7 @@ class Tinebase_CustomField implements Tinebase_Controller_SearchInterface
         $cfAcl = $this->_backendConfig->getAclForIds($user->getId(), $_cfConfigs->getArrayOfIds());
         
         foreach ($_cfConfigs as $config) {
-            $config->account_grants = (array_key_exists($config->getId(), $cfAcl)) ? explode(',', $cfAcl[$config->getId()]) : array();
+            $config->account_grants = ((isset($cfAcl[$config->getId()]) || array_key_exists($config->getId(), $cfAcl))) ? explode(',', $cfAcl[$config->getId()]) : array();
         }
     }
     
@@ -372,7 +372,7 @@ class Tinebase_CustomField implements Tinebase_Controller_SearchInterface
             . ' App cf names: ' . print_r($appCustomFields->name, TRUE));
         
         foreach ($appCustomFields as $customField) {
-            if (is_array($_record->customfields) && array_key_exists($customField->name, $_record->customfields)) {
+            if (is_array($_record->customfields) && (isset($_record->customfields[$customField->name]) || array_key_exists($customField->name, $_record->customfields))) {
                 $value = $_record->customfields[$customField->name];
                 $filtered = $existingCustomFields->filter('customfield_id', $customField->id);
                 
index 3115ea1..1b4d9a8 100644 (file)
@@ -96,7 +96,7 @@ class Tinebase_EmailUser_Imap_Cyrus extends Tinebase_User_Plugin_Abstract
         if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . " search for {$mailboxString} in " . print_r($mailboxes, true));
         
         // does mailbox exist at all?
-        if (array_key_exists($mailboxString, $mailboxes)) {
+        if ((isset($mailboxes[$mailboxString]) || array_key_exists($mailboxString, $mailboxes))) {
             if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' must delete mailbox ');
             if ($imap->setACL($mailboxString, $this->_config['admin'], 'lrswipcda') === true) {
                 $imap->delete($mailboxString);
@@ -174,7 +174,7 @@ class Tinebase_EmailUser_Imap_Cyrus extends Tinebase_User_Plugin_Abstract
         
         if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . " search for {$mailboxString} in " . print_r($mailboxes, true));
         
-        if (!array_key_exists($mailboxString, $mailboxes)) {
+        if (!(isset($mailboxes[$mailboxString]) || array_key_exists($mailboxString, $mailboxes))) {
             if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' must create mailbox: '. $mailboxString);
             if ($imap->create($mailboxString) == true) {
                 if ($imap->setACL($mailboxString, $this->_appendDomain($_addedUser->accountLoginName), 'lrswipcda') !== true) {
@@ -284,7 +284,7 @@ class Tinebase_EmailUser_Imap_Cyrus extends Tinebase_User_Plugin_Abstract
         if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . " search for {$mailboxString} in " . print_r($mailboxes, true));
         
         // does mailbox exist at all?
-        if (!array_key_exists($mailboxString, $mailboxes)) {
+        if (!(isset($mailboxes[$mailboxString]) || array_key_exists($mailboxString, $mailboxes))) {
             return false;
         }
         
index dd6c72a..c03c5d5 100644 (file)
@@ -114,7 +114,7 @@ class Tinebase_EmailUser_Imap_Dbmail extends Tinebase_User_Plugin_Abstract
         $this->_getDb($this->_config);
         
         $columns = Tinebase_Db_Table::getTableDescriptionFromCache('dbmail_users', $this->_db);
-        if(array_key_exists('tine20_userid', $columns) && array_key_exists('tine20_clientid', $columns)) {
+        if((isset($columns['tine20_userid']) || array_key_exists('tine20_userid', $columns)) && (isset($columns['tine20_clientid']) || array_key_exists('tine20_clientid', $columns))) {
             $this->_hasTine20Userid = true;
             $this->_propertyMapping['emailUserId'] = 'tine20_userid';
             $this->_propertyMapping['emailGID']    = 'tine20_clientid';
@@ -429,7 +429,7 @@ class Tinebase_EmailUser_Imap_Dbmail extends Tinebase_User_Plugin_Abstract
         $rawData = array();
         
         foreach ($_newUserProperties->imapUser as $key => $value) {
-            $property = array_key_exists($key, $this->_propertyMapping) ? $this->_propertyMapping[$key] : false;
+            $property = (isset($this->_propertyMapping[$key]) || array_key_exists($key, $this->_propertyMapping)) ? $this->_propertyMapping[$key] : false;
             if ($property && ! in_array($key, $this->_readOnlyFields)) {
                 switch ($key) {
                     case 'emailPassword':
index 3f41fab..a8a117a 100644 (file)
@@ -292,7 +292,7 @@ class Tinebase_EmailUser_Imap_Dovecot extends Tinebase_EmailUser_Sql
             ->limit(1);
         
         // append domain if set or domain IS NULL
-        if (array_key_exists('domain', $this->_config) && ! empty($this->_config['domain'])) {
+        if ((isset($this->_config['domain']) || array_key_exists('domain', $this->_config)) && ! empty($this->_config['domain'])) {
             $select->where($this->_db->quoteIdentifier($this->_userTable . '.' . 'domain') . ' = ?',   $this->_config['domain']);
         } else {
             $select->where($this->_db->quoteIdentifier($this->_userTable . '.' . 'domain') . " = ''");
@@ -355,7 +355,7 @@ class Tinebase_EmailUser_Imap_Dovecot extends Tinebase_EmailUser_Sql
             if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' ' . print_r($_newUserProperties->imapUser->toArray(), true));
             
             foreach ($_newUserProperties->imapUser as $key => $value) {
-                $property = array_key_exists($key, $this->_propertyMapping) ? $this->_propertyMapping[$key] : false;
+                $property = (isset($this->_propertyMapping[$key]) || array_key_exists($key, $this->_propertyMapping)) ? $this->_propertyMapping[$key] : false;
                 if ($property && ! in_array($key, $this->_readOnlyFields)) {
                     switch ($key) {
                         case 'emailUserId':
@@ -387,7 +387,7 @@ class Tinebase_EmailUser_Imap_Dovecot extends Tinebase_EmailUser_Sql
         }
         
         foreach (array('uid', 'gid') as $key) {
-            if (! array_key_exists($key, $rawData)) {
+            if (! (isset($rawData[$key]) || array_key_exists($key, $rawData))) {
                 $rawData[$key] = $this->_config[$key];
             }
         }
index ba0f9e8..075f340 100644 (file)
@@ -64,7 +64,7 @@ class Tinebase_EmailUser_Ldap extends Tinebase_User_Plugin_LdapAbstract
      */
     protected function _appendDomain($_userName)
     {
-        if (array_key_exists('domain', $this->_config) && ! empty($this->_config['domain'])) {
+        if ((isset($this->_config['domain']) || array_key_exists('domain', $this->_config)) && ! empty($this->_config['domain'])) {
             $_userName .= '@' . $this->_config['domain'];
         }
         
@@ -187,7 +187,7 @@ class Tinebase_EmailUser_Ldap extends Tinebase_User_Plugin_LdapAbstract
             }
         }
         
-        if (array_key_exists('emailForwards', $this->_propertyMapping) && empty($_ldapData[$this->_propertyMapping['emailForwards']])) {
+        if ((isset($this->_propertyMapping['emailForwards']) || array_key_exists('emailForwards', $this->_propertyMapping)) && empty($_ldapData[$this->_propertyMapping['emailForwards']])) {
             $_ldapData[$this->_propertyMapping['emailForwardOnly']] = array();
         }
         
index 8475fc7..24740f5 100644 (file)
@@ -306,7 +306,7 @@ class Tinebase_EmailUser_Smtp_Postfix extends Tinebase_EmailUser_Sql
      */
     protected function _createAliasDestinations($_smtpSettings)
     {
-        if (! (array_key_exists($this->_propertyMapping['emailAliases'], $_smtpSettings) && is_array($_smtpSettings[$this->_propertyMapping['emailAliases']]))) {
+        if (! ((isset($_smtpSettings[$this->_propertyMapping['emailAliases']]) || array_key_exists($this->_propertyMapping['emailAliases'], $_smtpSettings)) && is_array($_smtpSettings[$this->_propertyMapping['emailAliases']]))) {
             return;
         }
         
@@ -341,7 +341,7 @@ class Tinebase_EmailUser_Smtp_Postfix extends Tinebase_EmailUser_Sql
      */
     protected function _hasForwards($_smtpSettings)
     {
-        return (array_key_exists($this->_propertyMapping['emailForwards'], $_smtpSettings) && is_array($_smtpSettings[$this->_propertyMapping['emailForwards']]));
+        return ((isset($_smtpSettings[$this->_propertyMapping['emailForwards']]) || array_key_exists($this->_propertyMapping['emailForwards'], $_smtpSettings)) && is_array($_smtpSettings[$this->_propertyMapping['emailForwards']]));
     }
 
     /**
@@ -490,7 +490,7 @@ class Tinebase_EmailUser_Smtp_Postfix extends Tinebase_EmailUser_Sql
         
         if (isset($_newUserProperties->smtpUser)) {
             foreach ($_newUserProperties->smtpUser as $key => $value) {
-                $property = array_key_exists($key, $this->_propertyMapping) ? $this->_propertyMapping[$key] : false;
+                $property = (isset($this->_propertyMapping[$key]) || array_key_exists($key, $this->_propertyMapping)) ? $this->_propertyMapping[$key] : false;
                 if ($property) {
                     switch ($key) {
                         case 'emailPassword':
index 9d550ec..5671020 100644 (file)
@@ -146,7 +146,7 @@ abstract class Tinebase_EmailUser_Sql extends Tinebase_User_Plugin_Abstract
         if ($this->_clientId !== NULL) {
             $cond = $this->_db->quoteInto($this->_db->quoteIdentifier($this->_userTable . '.' . 'client_idnr') . ' = ?', $this->_clientId);
         } else {
-            if (array_key_exists('domain', $this->_config) && ! empty($this->_config['domain'])) {
+            if ((isset($this->_config['domain']) || array_key_exists('domain', $this->_config)) && ! empty($this->_config['domain'])) {
                 $cond = $this->_db->quoteInto($this->_db->quoteIdentifier($this->_userTable . '.' . 'domain') . ' = ?',   $this->_config['domain']);
             } else {
                 $cond = $this->_db->quoteIdentifier($this->_userTable . '.' . 'domain') . " =''";
@@ -217,7 +217,7 @@ abstract class Tinebase_EmailUser_Sql extends Tinebase_User_Plugin_Abstract
     public function inspectSetPassword($_userId, $_password, $_encrypt = TRUE)
     {
         $imapConfig = Tinebase_Config::getInstance()->get(Tinebase_Config::IMAP, new Tinebase_Config_Struct())->toArray();
-        if (array_key_exists('pwsuffix', $imapConfig)) {
+        if ((isset($imapConfig['pwsuffix']) || array_key_exists('pwsuffix', $imapConfig))) {
             if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ .
                 ' Appending configured pwsuffix to new email account password.');
             $password = $_password . $imapConfig['pwsuffix'];
index 65be432..9bef313 100644 (file)
@@ -64,7 +64,7 @@ class Tinebase_Exception extends Exception
         $traceArray = array();
         
         foreach($trace as $part) {
-            if (array_key_exists('file', $part)) {
+            if ((isset($part['file']) || array_key_exists('file', $part))) {
                 // don't send full paths to the client
                 $part['file'] = self::_replaceBasePath($part['file']);
             }
index a2402a3..5590df2 100644 (file)
@@ -38,13 +38,13 @@ class Tinebase_Export
             );
         }
         
-        if (array_key_exists('definitionId', $_options)) {
+        if ((isset($_options['definitionId']) || array_key_exists('definitionId', $_options))) {
             $definition = Tinebase_ImportExportDefinition::getInstance()->get($_options['definitionId']);
             $exportClass = $definition->plugin;
             // export plugin needs the definition id
             $_additionalOptions = array_merge($_additionalOptions, $_options);
             
-        } else if (array_key_exists('format', $_options) && ! empty($_options['format'])) {
+        } else if ((isset($_options['format']) || array_key_exists('format', $_options)) && ! empty($_options['format'])) {
             $appName = $_filter->getApplicationName();
             $model = $_filter->getModelName();
             
index 4d267a5..b67e4e3 100644 (file)
@@ -304,14 +304,14 @@ abstract class Tinebase_Export_Abstract
      */
     protected function _getExportConfig($_additionalOptions = array())
     {
-        if (array_key_exists('definitionFilename', $_additionalOptions)) {
+        if ((isset($_additionalOptions['definitionFilename']) || array_key_exists('definitionFilename', $_additionalOptions))) {
             // get definition from file
             $definition = Tinebase_ImportExportDefinition::getInstance()->getFromFile(
                 $_additionalOptions['definitionFilename'],
                 Tinebase_Application::getInstance()->getApplicationByName($this->_applicationName)->getId() 
             );
             
-        } else if (array_key_exists('definitionId', $_additionalOptions)) {
+        } else if ((isset($_additionalOptions['definitionId']) || array_key_exists('definitionId', $_additionalOptions))) {
             $definition = Tinebase_ImportExportDefinition::getInstance()->get($_additionalOptions['definitionId']);
             
         } else {
index a3687df..6961905 100644 (file)
@@ -720,7 +720,7 @@ class Tinebase_FileSystem implements Tinebase_Controller_Interface
         $cacheId = $this->_getCacheId($pathParts);
         
         // let's see if the path is cached in statCache
-        if (array_key_exists($cacheId, $this->_statCache)) {
+        if ((isset($this->_statCache[$cacheId]) || array_key_exists($cacheId, $this->_statCache))) {
             try {
                 // let's try to get the node from backend, to make sure it still exists
                 return $this->_treeNodeBackend->get($this->_statCache[$cacheId]);
@@ -737,7 +737,7 @@ class Tinebase_FileSystem implements Tinebase_Controller_Interface
         while ($pathPart = array_pop($pathParts)) {
             $cacheId = $this->_getCacheId($pathParts);
             
-            if (array_key_exists($cacheId, $this->_statCache)) {
+            if ((isset($this->_statCache[$cacheId]) || array_key_exists($cacheId, $this->_statCache))) {
                 $parentNode = $this->_statCache[$cacheId];
                 break;
             }
index 1db4297..baf6304 100644 (file)
@@ -225,7 +225,7 @@ class Tinebase_Frontend_Cli extends Tinebase_Frontend_Cli_Abstract
         }
         
         $args = $this->_parseArgs($_opts, array('tables'), 'tables');
-        $dateString = array_key_exists('date', $args) ? $args['date'] : NULL;
+        $dateString = (isset($args['date']) || array_key_exists('date', $args)) ? $args['date'] : NULL;
 
         $db = Tinebase_Core::getDb();
         foreach ($args['tables'] as $table) {
@@ -277,14 +277,14 @@ class Tinebase_Frontend_Cli extends Tinebase_Frontend_Cli_Abstract
 
         $args = $this->_parseArgs($_opts, array(), 'tables');
 
-        if (! array_key_exists('tables', $args) || empty($args['tables'])) {
+        if (! (isset($args['tables']) || array_key_exists('tables', $args)) || empty($args['tables'])) {
             echo "No tables given.\nPurging records from all tables!\n";
             $args['tables'] = $this->_getAllApplicationTables();
         }
         
         $db = Tinebase_Core::getDb();
         
-        if (array_key_exists('date', $args)) {
+        if ((isset($args['date']) || array_key_exists('date', $args))) {
             echo "\nRemoving all deleted entries before {$args['date']} ...";
             $where = array(
                 $db->quoteInto($db->quoteIdentifier('deleted_time') . ' < ?', $args['date'])
@@ -302,7 +302,7 @@ class Tinebase_Frontend_Cli extends Tinebase_Frontend_Cli_Abstract
                 echo "\nCould not get schema (" . $zdse->getMessage() ."). Skipping table $table";
                 continue;
             }
-            if (! array_key_exists('is_deleted', $schema) || ! array_key_exists('deleted_time', $schema)) {
+            if (! (isset($schema['is_deleted']) || array_key_exists('is_deleted', $schema)) || ! (isset($schema['deleted_time']) || array_key_exists('deleted_time', $schema))) {
                 continue;
             }
             
index 080a9c8..2923b8b 100644 (file)
@@ -100,8 +100,8 @@ class Tinebase_Frontend_Cli_Abstract
                 $containers, 
                 $data['grants'],
                 $data['accountId'], 
-                (array_key_exists('accountType', $data)) ? $data['accountType'] : Tinebase_Acl_Rights::ACCOUNT_TYPE_USER,
-                (array_key_exists('overwrite', $data) && $data['overwrite'] == '1')
+                ((isset($data['accountType']) || array_key_exists('accountType', $data))) ? $data['accountType'] : Tinebase_Acl_Rights::ACCOUNT_TYPE_USER,
+                ((isset($data['overwrite']) || array_key_exists('overwrite', $data)) && $data['overwrite'] == '1')
             );
             
             echo "Updated " . count($containers) . " container(s).\n";
@@ -154,7 +154,7 @@ class Tinebase_Frontend_Cli_Abstract
             if ($_opts) {
                 $args = $this->_parseArgs($_opts, array());
                 
-                if (array_key_exists('other', $args)) {
+                if ((isset($args['other']) || array_key_exists('other', $args))) {
                     $options['createUsers']  = in_array('sharedonly', $args['other']) ? FALSE : TRUE;
                     $options['createShared'] = in_array('noshared',   $args['other']) ? FALSE : TRUE;
                     $options['full']         = in_array('full',       $args['other']) ? FALSE : TRUE;
@@ -206,9 +206,9 @@ class Tinebase_Frontend_Cli_Abstract
             array('field' => 'application_id', 'operator' => 'equals', 'value' => $application->getId()),
         );
         
-        if (array_key_exists('containerId', $_params)) {
+        if ((isset($_params['containerId']) || array_key_exists('containerId', $_params))) {
             $containerFilterData[] = array('field' => 'id', 'operator' => 'equals', 'value' => $_params['containerId']);
-        } else if (array_key_exists('namefilter', $_params)) {
+        } else if ((isset($_params['namefilter']) || array_key_exists('namefilter', $_params))) {
             $containerFilterData[] = array('field' => 'name', 'operator' => 'contains', 'value' => $_params['namefilter']);
         } else {
             throw new Timetracker_Exception_UnexpectedValue('Parameter containerId or namefilter missing!');
@@ -248,7 +248,7 @@ class Tinebase_Frontend_Cli_Abstract
         
         if (! empty($_requiredKeys)) {
             foreach ($_requiredKeys as $requiredKey) {
-                if (! array_key_exists($requiredKey, $result)) {
+                if (! (isset($result[$requiredKey]) || array_key_exists($requiredKey, $result))) {
                     throw new Tinebase_Exception_InvalidArgument('Required parameter not found: ' . $requiredKey);
                 }
             }
@@ -290,7 +290,7 @@ class Tinebase_Frontend_Cli_Abstract
             }
         }
         
-        if (array_key_exists('definition', $args))  {
+        if ((isset($args['definition']) || array_key_exists('definition', $args)))  {
             if (preg_match("/\.xml/", $args['definition'])) {
                 $definition = Tinebase_ImportExportDefinition::getInstance()->getFromFile(
                     $args['definition'],
@@ -301,7 +301,7 @@ class Tinebase_Frontend_Cli_Abstract
             }
         
             $importer = call_user_func($definition->plugin . '::createFromDefinition', $definition, $args);
-        } else if (array_key_exists('plugin', $args)) {
+        } else if ((isset($args['plugin']) || array_key_exists('plugin', $args))) {
             $importer =  new $args['plugin']($args);
         } else {
             echo "You need to define a plugin OR a definition at least! \n";
index 1aaaf98..38c723e 100644 (file)
@@ -348,7 +348,7 @@ class Tinebase_Frontend_Http extends Tinebase_Frontend_Http_Abstract
             Zend_Session::destroy();
             
             // redirect back to loginurl if needed
-            $defaultUrl = (array_key_exists('HTTP_REFERER', $_SERVER)) ? $_SERVER['HTTP_REFERER'] : '';
+            $defaultUrl = ((isset($_SERVER['HTTP_REFERER']) || array_key_exists('HTTP_REFERER', $_SERVER))) ? $_SERVER['HTTP_REFERER'] : '';
             $redirectUrl = Tinebase_Config::getInstance()->get(Tinebase_Config::REDIRECTURL, $defaultUrl);
             if (! empty($redirectUrl)) {
                 header('Location: ' . $redirectUrl);
index 6edde5d..6ad9b91 100644 (file)
@@ -695,7 +695,7 @@ class Tinebase_Frontend_Json extends Tinebase_Frontend_Json_Abstract
                     
                     try {
                         $applicationJson = new $jsonAppName();
-                        $registryData[$application->name] = (array_key_exists($application->name, $registryData))
+                        $registryData[$application->name] = ((isset($registryData[$application->name]) || array_key_exists($application->name, $registryData)))
                             ? array_merge_recursive($registryData[$application->name], $applicationJson->getRegistryData()) 
                             : $applicationJson->getRegistryData();
                     
@@ -746,7 +746,7 @@ class Tinebase_Frontend_Json extends Tinebase_Frontend_Json_Abstract
             
             $registryData['Tinebase']['genericRelatableModels'] = $genericRelatableModels;
             
-            if (! array_key_exists('Tinebase', $registryData)) {
+            if (! (isset($registryData['Tinebase']) || array_key_exists('Tinebase', $registryData))) {
                 Tinebase_Core::getLogger()->err(__METHOD__ . '::' . __LINE__ . ' User has no permissions to run Tinebase or unable to get Tinebase preferences. Aborting ...');
                 $this->logout();
             }
index f8af12e..e7bc664 100644 (file)
@@ -84,7 +84,7 @@ abstract class Tinebase_Frontend_Json_Abstract extends Tinebase_Frontend_Abstrac
                 if (is_array($cItems)) {
                     foreach($cItems as $cItem) {
                         
-                        if (! array_key_exists('config', $cItem)) {
+                        if (! (isset($cItem['config']) || array_key_exists('config', $cItem))) {
                             continue;
                         }
                         
@@ -99,11 +99,11 @@ abstract class Tinebase_Frontend_Json_Abstract extends Tinebase_Frontend_Abstrac
                             'ownModel'     => $cItem['relatedModel'], 
                             'relatedModel' => $ownModel,
                             'relatedApp'   => $this->_applicationName,
-                            'default'      => array_key_exists('default', $cItem) ? $cItem['default'] : NULL
+                            'default'      => (isset($cItem['default']) || array_key_exists('default', $cItem)) ? $cItem['default'] : NULL
                         );
                         
                         // KeyfieldConfigs
-                        if (array_key_exists('keyfieldConfig', $cItem)) {
+                        if ((isset($cItem['keyfieldConfig']) || array_key_exists('keyfieldConfig', $cItem))) {
                             $foreignConfigItem['keyfieldConfig'] = $cItem['keyfieldConfig'];
                             if ($cItem['keyfieldConfig']['from']){
                                 $foreignConfigItem['keyfieldConfig']['from'] = $cItem['keyfieldConfig']['from'] == 'foreign' ? 'own' : 'foreign';
index 1a1b118..60ef612 100644 (file)
@@ -115,10 +115,10 @@ class Tinebase_Group_Ldap extends Tinebase_Group_Sql implements Tinebase_Group_I
         if (isset($_options['requiredObjectClass'])) {
             $this->_requiredObjectClass = (array)$_options['requiredObjectClass'];
         }
-        if (array_key_exists('readonly', $_options)) {
+        if ((isset($_options['readonly']) || array_key_exists('readonly', $_options))) {
             $this->_isReadOnlyBackend = (bool)$_options['readonly'];
         }
-        if (array_key_exists('ldap', $_options)) {
+        if ((isset($_options['ldap']) || array_key_exists('ldap', $_options))) {
             $this->_ldap = $_options['ldap'];
         }
         
index 09415be..e6e2675 100644 (file)
@@ -113,7 +113,7 @@ class Tinebase_Group_Samba4 extends Tinebase_Group_Ldap
         if (isset($_options['requiredObjectClass'])) {
             $this->_requiredObjectClass = (array)$_options['requiredObjectClass'];
         }
-        if (array_key_exists('readonly', $_options)) {
+        if ((isset($_options['readonly']) || array_key_exists('readonly', $_options))) {
             $this->_isReadOnlyBackend = (bool)$_options['readonly'];
         }
         
index 450fd96..3aa301c 100644 (file)
@@ -173,7 +173,7 @@ class Tinebase_Group_Typo3 extends Tinebase_Group_Sql
             $t3userGroups = explode(',', $t3user['usergroup']);
                         
             foreach((array) $t3userGroups as $groupId) {
-                if (! array_key_exists($groupId, $groupMap)) {
+                if (! (isset($groupMap[$groupId]) || array_key_exists($groupId, $groupMap))) {
                     $groupMap[$groupId] = array();
                 }
                 
index dd0380c..c445a86 100644 (file)
@@ -19,7 +19,7 @@
  */
 function array_value($_key, array $_array)
 {
-    return array_key_exists($_key, $_array) ? $_array[$_key] : NULL;
+    return (isset($_array[$_key]) || array_key_exists($_key, $_array)) ? $_array[$_key] : NULL;
 }
 
 /**
index 9ca4d8f..5194d4b 100644 (file)
@@ -60,7 +60,7 @@ class Tinebase_ImageHelper
         if (! in_array($imgInfo['mime'], array('image/png', 'image/jpeg', 'image/gif'))) {
             throw new Tinebase_Exception_UnexpectedValue('given blob does not contain valid image data.');
         }
-        if (! array_key_exists('channels', $imgInfo)) {
+        if (! (isset($imgInfo['channels']) || array_key_exists('channels', $imgInfo))) {
             Tinebase_Core::getLogger()->notice(__METHOD__ . '::' . __LINE__ . ' Uploaded ' . $imgInfo['mime'] . ' image had no channel information. Setting channels to 3.');
             $imgInfo['channels'] = 3;
         }
index 5975dbc..ef36597 100644 (file)
@@ -75,7 +75,7 @@ abstract class Tinebase_Import_Abstract implements Tinebase_Import_Interface
         $this->_options = array_merge($this->_options, $this->_additionalOptions);
         
         foreach($_options as $key => $cfg) {
-            if (array_key_exists($key, $this->_options)) {
+            if ((isset($this->_options[$key]) || array_key_exists($key, $this->_options))) {
                 $this->_options[$key] = $cfg;
             }
         }
@@ -222,7 +222,7 @@ abstract class Tinebase_Import_Abstract implements Tinebase_Import_Interface
             $recordToImport = NULL;
             try {
                 // client record overwrites record in import data (only if set)
-                $clientRecordData = array_key_exists($recordIndex, $clientRecordDatas) ? $clientRecordDatas[$recordIndex]['recordData'] : NULL;
+                $clientRecordData = (isset($clientRecordDatas[$recordIndex]) || array_key_exists($recordIndex, $clientRecordDatas)) ? $clientRecordDatas[$recordIndex]['recordData'] : NULL;
                 if ($clientRecordData && Tinebase_Core::isLogLevel(Zend_Log::TRACE)) {
                     Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' Client record: ' . print_r($clientRecordData, TRUE));
                 }
@@ -291,7 +291,7 @@ abstract class Tinebase_Import_Abstract implements Tinebase_Import_Interface
         
         $mappedData = $this->_doMapping($_data);
         
-        if (array_key_exists("postMappingHook", $this->_options)) {
+        if ((isset($this->_options["postMappingHook"]) || array_key_exists("postMappingHook", $this->_options))) {
             if (isset($this->_options['postMappingHook']['path'])) {
                $mappedData = $this->_postMappingHook($mappedData);
             }
@@ -464,7 +464,7 @@ abstract class Tinebase_Import_Abstract implements Tinebase_Import_Interface
     {
         $data = $_data;
         foreach ($this->_options['mapping']['field'] as $index => $field) {
-            if (! array_key_exists('destination', $field) || $field['destination'] == '' || ! isset($_data[$field['destination']])) {
+            if (! (isset($field['destination']) || array_key_exists('destination', $field)) || $field['destination'] == '' || ! isset($_data[$field['destination']])) {
                 continue;
             }
         
@@ -788,12 +788,12 @@ abstract class Tinebase_Import_Abstract implements Tinebase_Import_Interface
      */
     protected function _sanitizeAutotagsOption()
     {
-        $autotags = (array_key_exists('tag', $this->_options['autotags']) && count($this->_options['autotags']) == 1) 
+        $autotags = ((isset($this->_options['autotags']['tag']) || array_key_exists('tag', $this->_options['autotags'])) && count($this->_options['autotags']) == 1) 
             ? $this->_options['autotags']['tag'] : $this->_options['autotags'];
 
-        $autotags = (array_key_exists('name', $autotags)) ? array($autotags) : $autotags;
+        $autotags = ((isset($autotags['name']) || array_key_exists('name', $autotags))) ? array($autotags) : $autotags;
         
-        if (array_key_exists('tag', $autotags)) {
+        if ((isset($autotags['tag']) || array_key_exists('tag', $autotags))) {
             unset($autotags['tag']);
         }
         
index 731afa4..ce6f42f 100644 (file)
@@ -86,7 +86,7 @@ abstract class Tinebase_Import_Csv_Abstract extends Tinebase_Import_Abstract
      */
     protected function _getRawData($_resource)
     {
-        $delimiter = (array_key_exists($this->_options['delimiter'], $this->_specialDelimiter)) ? $this->_specialDelimiter[$this->_options['delimiter']] : $this->_options['delimiter'];
+        $delimiter = ((isset($this->_specialDelimiter[$this->_options['delimiter']]) || array_key_exists($this->_options['delimiter'], $this->_specialDelimiter))) ? $this->_specialDelimiter[$this->_options['delimiter']] : $this->_options['delimiter'];
         
         $lineData = fgetcsv(
             $_resource,
@@ -148,7 +148,7 @@ abstract class Tinebase_Import_Csv_Abstract extends Tinebase_Import_Abstract
         foreach ($this->_options['mapping']['field'] as $index => $field) {
             if (empty($_data_indexed)) {
                 // use import definition order
-                if (! array_key_exists('destination', $field) || $field['destination'] == '' || ! isset($_data[$index])) {
+                if (! (isset($field['destination']) || array_key_exists('destination', $field)) || $field['destination'] == '' || ! isset($_data[$index])) {
                     continue;
                 }
                 $data[$field['destination']] = $_data[$index];
@@ -164,7 +164,7 @@ abstract class Tinebase_Import_Csv_Abstract extends Tinebase_Import_Abstract
         if ($this->_options['mapUndefinedFieldsEnable'] == 1) {
             $undefinedFieldsText = $this->_createInfoTextForUnmappedFields($_data_indexed);
             if (! $undefinedFieldsText === false) {
-                if (array_key_exists($this->_options['mapUndefinedFieldsTo'], $data)) {
+                if ((isset($data[$this->_options['mapUndefinedFieldsTo']]) || array_key_exists($this->_options['mapUndefinedFieldsTo'], $data))) {
                     $data[$this->_options['mapUndefinedFieldsTo']] .= $this->_createInfoTextForUnmappedFields($_data_indexed);
                 } else {
                     $data[$this->_options['mapUndefinedFieldsTo']] = $this->_createInfoTextForUnmappedFields($_data_indexed);
index e9d66b4..3eaef4b 100644 (file)
@@ -129,7 +129,7 @@ class Tinebase_Ldap extends Zend_Ldap
             'objectguid', 'usnchanged', 'usncreated', 'whenchanged', 'whencreated');
         $stripAttributes = array_merge(array_keys($rdnParts), $adAttributes);
         foreach ($stripAttributes as $attr) {
-            if (array_key_exists($attr, $entry)) {
+            if ((isset($entry[$attr]) || array_key_exists($attr, $entry))) {
                 unset($entry[$attr]);
             }
         }
@@ -168,7 +168,7 @@ class Tinebase_Ldap extends Zend_Ldap
             'objectguid', 'usnchanged', 'usncreated', 'whenchanged', 'whencreated');
         $stripAttributes = array_merge(array_keys($rdnParts), $adAttributes);
         foreach ($stripAttributes as $attr) {
-            if (array_key_exists($attr, $entry)) {
+            if ((isset($entry[$attr]) || array_key_exists($attr, $entry))) {
                 unset($entry[$attr]);
             }
         }
index c0c6554..ae59951 100644 (file)
@@ -158,6 +158,6 @@ class Tinebase_Model_Alarm extends Tinebase_Record_Abstract
     public function getOption($_key)
     {
         $options = $this->options ? Zend_Json::decode($this->options) : array();
-        return array_key_exists($_key, $options) ? $options[$_key] : NULL;
+        return (isset($options[$_key]) || array_key_exists($_key, $options)) ? $options[$_key] : NULL;
     }
 }
index 5bcee87..36f1853 100644 (file)
@@ -230,7 +230,7 @@ class Tinebase_Model_Container extends Tinebase_Record_Abstract
     public static function pathIsContainer($_path)
     {
         if (preg_match("/^\/personal\/[0-9a-z_\-]+\/([a-f0-9]+)|^\/shared\/([a-f0-9]+)/i", $_path, $matches)) {
-            return array_key_exists(2, $matches) ? $matches[2] : $matches[1];
+            return (isset($matches[2]) || array_key_exists(2, $matches)) ? $matches[2] : $matches[1];
         }
         
         return false;
index 5e76fee..ded0497 100644 (file)
@@ -63,7 +63,7 @@ class Tinebase_Model_CustomField_Config extends Tinebase_Record_Abstract
      */
     public function setFromArray(array $_data)
     {
-        if (array_key_exists('definition', $_data)) {
+        if ((isset($_data['definition']) || array_key_exists('definition', $_data))) {
             if (is_string($_data['definition'])) {
                 $_data['definition'] = Zend_Json::decode($_data['definition']);
             }
index 9d22e8a..fa69865 100644 (file)
@@ -99,7 +99,7 @@ abstract class Tinebase_Model_Filter_Abstract
         }
 
         foreach (array('field', 'operator', 'value') as $requiredKey) {
-            if (! array_key_exists($requiredKey, $data)) {
+            if (! (isset($data[$requiredKey]) || array_key_exists($requiredKey, $data))) {
                 throw new Tinebase_Exception_InvalidArgument('Filter object needs ' . $requiredKey);
             }
         }
@@ -210,7 +210,7 @@ abstract class Tinebase_Model_Filter_Abstract
     public function setValue($_value)
     {
         // cope with resolved records
-        if (is_array($_value) && array_key_exists('id', $_value)) {
+        if (is_array($_value) && (isset($_value['id']) || array_key_exists('id', $_value))) {
             $_value = $_value['id'];
         }
         
index 00751d4..ebdf540 100644 (file)
@@ -202,9 +202,9 @@ class Tinebase_Model_Filter_Container extends Tinebase_Model_Filter_Abstract imp
      */
     protected function _flatten(&$_value) {
         if (is_array($_value)) {
-            if(array_key_exists('path', $_value)) {
+            if((isset($_value['path']) || array_key_exists('path', $_value))) {
                 $_value = $_value['path'];
-            } else if(array_key_exists('id', $_value)) {
+            } else if((isset($_value['id']) || array_key_exists('id', $_value))) {
                 $_value = $_value['id'];
             }
         }
index 68d1298..99fd73c 100644 (file)
@@ -80,7 +80,7 @@ class Tinebase_Model_Filter_Date extends Tinebase_Model_Filter_Abstract
          
         // append query to select object
         foreach ((array)$this->_opSqlMap[$operator]['sqlop'] as $num => $operator) {
-            if (array_key_exists($num, $value)) {
+            if ((isset($value[$num]) || array_key_exists($num, $value))) {
                 if (get_parent_class($this) === 'Tinebase_Model_Filter_Date' || in_array($operator, array('isnull', 'notnull'))) {
                     $_select->where($field . $operator, $value[$num]);
                 } else {
index 7763a48..4ec5cac 100644 (file)
@@ -66,7 +66,7 @@ class Tinebase_Model_Filter_DateTime extends Tinebase_Model_Filter_Date
     {
         if ($_operator === 'within') {
             // get beginning / end date and add 00:00:00 / 23:59:59
-            date_default_timezone_set(array_key_exists('timezone', $this->_options) && ! empty($this->_options['timezone']) ? $this->_options['timezone'] : Tinebase_Core::get(Tinebase_Core::USERTIMEZONE));
+            date_default_timezone_set((isset($this->_options['timezone']) || array_key_exists('timezone', $this->_options)) && ! empty($this->_options['timezone']) ? $this->_options['timezone'] : Tinebase_Core::get(Tinebase_Core::USERTIMEZONE));
             $value = parent::_getDateValues(
                 $_operator, 
                 $_value
index e7753b4..55489d4 100644 (file)
@@ -310,7 +310,7 @@ class Tinebase_Model_Filter_FilterGroup implements Iterator
                 
                 // @todo maybe it will be possible to add a generic/implicite foreign id filter 
                 // .... but we have to solve the problem of the foreign id field first
-//                if (! array_key_exists('filterName', $_filterData['value'])) {
+//                if (! (isset($_filterData['value']['filterName']) || array_key_exists('filterName', $_filterData['value']))) {
 //                    $modelName = $this->_getModelNameFromLinkInfo($_filterData['value'], 'modelName');
 //                    $filter = new Tinebase_Model_Filter_ForeignId($_filterData['field'], $_filterData['operator'], $_filterData['value'], array(
 //                        'filtergroup'       => $modelName . 'Filter', 
@@ -339,8 +339,8 @@ class Tinebase_Model_Filter_FilterGroup implements Iterator
     protected function _getModelNameFromLinkInfo($_linkInfo, $_modelKey)
     {
         if (   ! in_array($_modelKey, array('modelName', 'filterName')) 
-            || ! array_key_exists('appName', $_linkInfo
-            || ! array_key_exists($_modelKey, $_linkInfo)
+            || ! (isset($_linkInfo['appName']) || array_key_exists('appName', $_linkInfo)
+            || ! (isset($_linkInfo[$_modelKey]) || array_key_exists($_modelKey, $_linkInfo))
         ) {
             throw new Tinebase_Exception_InvalidArgument('Foreign record filter needs appName and modelName or filterName');
         }
@@ -376,12 +376,12 @@ class Tinebase_Model_Filter_FilterGroup implements Iterator
             if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ 
                 . '[' . $this->_className . '] Skipping filter (no filter model defined) ' . print_r($_filterData, true));
         
-        } elseif (array_key_exists('filter', $fieldModel) && array_key_exists('value', $_filterData)) {
+        } elseif ((isset($fieldModel['filter']) || array_key_exists('filter', $fieldModel)) && (isset($_filterData['value']) || array_key_exists('value', $_filterData))) {
             // create a 'single' filter
             $filter = $this->createFilter($_filterData);
             $this->addFilter($filter, TRUE);
         
-        } elseif (array_key_exists('custom', $fieldModel) && $fieldModel['custom'] == true) {
+        } elseif ((isset($fieldModel['custom']) || array_key_exists('custom', $fieldModel)) && $fieldModel['custom'] == true) {
             // silently skip data, as they will be evaluated by the concrete filtergroup
             $this->_customData[] = $_filterData;
         
@@ -476,7 +476,7 @@ class Tinebase_Model_Filter_FilterGroup implements Iterator
         }
 
         foreach (array('field', 'operator', 'value') as $requiredKey) {
-            if (! array_key_exists($requiredKey, $data)) {
+            if (! (isset($data[$requiredKey]) || array_key_exists($requiredKey, $data))) {
                 throw new Tinebase_Exception_InvalidArgument('Filter object needs ' . $requiredKey);
             }
         }
@@ -769,9 +769,9 @@ class Tinebase_Model_Filter_FilterGroup implements Iterator
             if ($filter instanceof Tinebase_Model_Filter_Abstract) {
                 $field = $filter->getField();
                 if (   is_string($field) 
-                    && array_key_exists($field, $this->_filterModel
-                    && array_key_exists('options', $this->_filterModel[$field]
-                    && array_key_exists('requiredCols', $this->_filterModel[$field]['options'])
+                    && (isset($this->_filterModel[$field]) || array_key_exists($field, $this->_filterModel)
+                    && (isset($this->_filterModel[$field]['options']) || array_key_exists('options', $this->_filterModel[$field])
+                    && (isset($this->_filterModel[$field]['options']['requiredCols']) || array_key_exists('requiredCols', $this->_filterModel[$field]['options']))
                 ) {
                     $result = array_merge($result, $this->_filterModel[$field]['options']['requiredCols']);
                 }
@@ -782,7 +782,7 @@ class Tinebase_Model_Filter_FilterGroup implements Iterator
         
         foreach ($this->_customData as $custom) {
             // check custom filter for requirements
-            if (array_key_exists('requiredCols', $this->_filterModel[$custom['field']])) {
+            if ((isset($this->_filterModel[$custom['field']]['requiredCols']) || array_key_exists('requiredCols', $this->_filterModel[$custom['field']]))) {
                 $result = array_merge($result, $this->_filterModel[$custom['field']]['requiredCols']);
             }
         }
index d518ad5..191bde9 100644 (file)
@@ -52,7 +52,7 @@ class Tinebase_Model_Filter_ForeignId extends Tinebase_Model_Filter_ForeignRecor
      */
     protected function _setOptions(array $_options)
     {
-        if (! array_key_exists('controller', $_options) || ! array_key_exists('filtergroup', $_options)) {
+        if (! (isset($_options['controller']) || array_key_exists('controller', $_options)) || ! (isset($_options['filtergroup']) || array_key_exists('filtergroup', $_options))) {
             throw new Tinebase_Exception_InvalidArgument('a controller and a filtergroup must be specified in the options');
         }
         parent::_setOptions($_options);
index 8cfd68b..896d808 100644 (file)
@@ -104,7 +104,7 @@ abstract class Tinebase_Model_Filter_ForeignRecord extends Tinebase_Model_Filter
      */
     protected function _setOptions(array $_options)
     {
-        if (! array_key_exists('isGeneric', $_options)) {
+        if (! (isset($_options['isGeneric']) || array_key_exists('isGeneric', $_options))) {
             $_options['isGeneric'] = FALSE;
         }
         
index c7e240a..3b1506a 100644 (file)
@@ -88,7 +88,7 @@ class Tinebase_Model_Filter_Id extends Tinebase_Model_Filter_Abstract
          if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ 
              . ' schema: ' . print_r($schema, TRUE));
          
-         $type = (array_key_exists($this->_field, $schema)) ? $schema[$this->_field]['DATA_TYPE'] : NULL;
+         $type = ((isset($schema[$this->_field]) || array_key_exists($this->_field, $schema))) ? $schema[$this->_field]['DATA_TYPE'] : NULL;
          return $type;
      }
      
index 773e240..b525a94 100644 (file)
@@ -65,11 +65,11 @@ class Tinebase_Model_Filter_Relation extends Tinebase_Model_Filter_ForeignRecord
      */
     protected function _setOptions(array $_options)
     {
-        if (! array_key_exists('related_model', $_options)) {
+        if (! (isset($_options['related_model']) || array_key_exists('related_model', $_options))) {
             throw new Tinebase_Exception_UnexpectedValue('related model is needed in options');
         }
 
-        if (! array_key_exists('filtergroup', $_options)) {
+        if (! (isset($_options['filtergroup']) || array_key_exists('filtergroup', $_options))) {
             $_options['filtergroup'] = $_options['related_model'] . 'Filter';
         }
         
@@ -90,7 +90,7 @@ class Tinebase_Model_Filter_Relation extends Tinebase_Model_Filter_ForeignRecord
         $this->_resolveForeignIds();
         $ownIds = $this->_getOwnIds($_backend->getModelName());
         
-        $idField = array_key_exists('idProperty', $this->_options) ? $this->_options['idProperty'] : 'id';
+        $idField = (isset($this->_options['idProperty']) || array_key_exists('idProperty', $this->_options)) ? $this->_options['idProperty'] : 'id';
         $db = $_backend->getAdapter();
         $qField = $db->quoteIdentifier($_backend->getTableName() . '.' . $idField);
         if (empty($ownIds)) {
index 9a266ba..ca5cb0e 100644 (file)
@@ -94,7 +94,7 @@ class Tinebase_Model_Filter_Text extends Tinebase_Model_Filter_Abstract
         // quote field identifier, set action and replace wildcards
         $field = $this->_getQuotedFieldName($_backend);
         
-        if (! array_key_exists($this->_operator, $this->_opSqlMap)) {
+        if (! (isset($this->_opSqlMap[$this->_operator]) || array_key_exists($this->_operator, $this->_opSqlMap))) {
             throw new Tinebase_Exception_InvalidArgument('Operator "' . $this->_operator . '" not defined in sql map of ' . get_class($this));
         }
         $action = $this->_opSqlMap[$this->_operator];
index e3be97c..1ed29fb 100644 (file)
@@ -47,7 +47,7 @@ class Tinebase_Model_Filter_User extends Tinebase_Model_Filter_Text
     public function setValue($_value)
     {
         // cope with resolved records
-        if (is_array($_value) && array_key_exists('accountId', $_value)) {
+        if (is_array($_value) && (isset($_value['accountId']) || array_key_exists('accountId', $_value))) {
             $_value = $_value['accountId'];
         }
         
index 52321c6..ea9151d 100644 (file)
@@ -174,7 +174,7 @@ class Tinebase_Model_Tree_Node_Path extends Tinebase_Record_Abstract
     {
         parent::setFromArray($_data);
         
-        if (array_key_exists('flatpath', $_data)) {
+        if ((isset($_data['flatpath']) || array_key_exists('flatpath', $_data))) {
             $this->_parsePath($_data['flatpath']);
         }
     }
index d82c65b..b500490 100644 (file)
@@ -126,7 +126,7 @@ class Tinebase_Model_User extends Tinebase_Record_Abstract
                 $_data['accountDisplayName'] .= ', ' . $_data['accountFirstName'];
             }
             
-            if (! array_key_exists('accountFullName', $_data)) {
+            if (! (isset($_data['accountFullName']) || array_key_exists('accountFullName', $_data))) {
                 $_data['accountFullName'] = $_data['accountLastName'];
                 if (!empty($_data['accountFirstName'])) {
                     $_data['accountFullName'] = $_data['accountFirstName'] . ' ' . $_data['accountLastName'];
index f80e1f6..3c725b1 100644 (file)
@@ -615,7 +615,7 @@ class Tinebase_ModelConfiguration {
         self::$_availableApplications[$this->_appName] = TRUE;
         
         $this->_modelName   = $modelClassConfiguration['modelName'];
-        $this->_idProperty  = $this->_identifier = array_key_exists('idProperty', $modelClassConfiguration) ? $modelClassConfiguration['idProperty'] : 'id';
+        $this->_idProperty  = $this->_identifier = (isset($modelClassConfiguration['idProperty']) || array_key_exists('idProperty', $modelClassConfiguration)) ? $modelClassConfiguration['idProperty'] : 'id';
 
         // some cruid validating
         foreach ($modelClassConfiguration as $propertyName => $propertyValue) {
@@ -697,12 +697,12 @@ class Tinebase_ModelConfiguration {
         
         foreach ($this->_fields as $fieldKey => &$fieldDef) {
             // set default type to string, if no type is given
-            if (! array_key_exists('type', $fieldDef)) {
+            if (! (isset($fieldDef['type']) || array_key_exists('type', $fieldDef))) {
                 $fieldDef['type'] = 'string';
             }
             
             // don't handle field if app is not available
-            if (array_key_exists('config', $fieldDef) && ($fieldDef['type'] == 'record' || $fieldDef['type'] == 'records') && (! $this->_isAvailable($fieldDef['config']))) {
+            if ((isset($fieldDef['config']) || array_key_exists('config', $fieldDef)) && ($fieldDef['type'] == 'record' || $fieldDef['type'] == 'records') && (! $this->_isAvailable($fieldDef['config']))) {
                 $fieldDef['type'] = 'string';
                 $fieldDef['label'] = NULL;
                 continue;
@@ -711,7 +711,7 @@ class Tinebase_ModelConfiguration {
             $fieldDef['key'] = $fieldKey;
 
             // if any field has a group set, enable grouping globally
-            if (! $this->_useGroups && array_key_exists('group', $fieldDef)) {
+            if (! $this->_useGroups && (isset($fieldDef['group']) || array_key_exists('group', $fieldDef))) {
                 $this->_useGroups = TRUE;
             }
 
@@ -724,7 +724,7 @@ class Tinebase_ModelConfiguration {
             
             // set default value
             // TODO: implement complex default values
-            if (array_key_exists('default', $fieldDef)) {
+            if ((isset($fieldDef['default']) || array_key_exists('default', $fieldDef))) {
 //                 // allows dynamic default values
 //                 if (is_array($fieldDef['default'])) {
 //                     switch ($fieldDef['type']) {
@@ -745,14 +745,14 @@ class Tinebase_ModelConfiguration {
             // also see ticket 8944 (https://forge.tine20.org/mantisbt/view.php?id=8944)
             
             // set filter model
-            if (array_key_exists('filterDefinition', $fieldDef)) {
+            if ((isset($fieldDef['filterDefinition']) || array_key_exists('filterDefinition', $fieldDef))) {
                 // use filter from definition
                 $key = isset($fieldDef['filterDefinition']['key']) ? $fieldDef['filterDefinition']['key'] : $fieldKey;
                 $this->_filterModel[$key] = $fieldDef['filterDefinition'];
-            } else if (array_key_exists($fieldDef['type'], $this->_filterModelMapping)) {
+            } else if ((isset($this->_filterModelMapping[$fieldDef['type']]) || array_key_exists($fieldDef['type'], $this->_filterModelMapping))) {
                 // if no filterDefinition is given, try to use the default one
                 $this->_filterModel[$fieldKey] = array('filter' => $this->_filterModelMapping[$fieldDef['type']]);
-                if (array_key_exists('config', $fieldDef)) {
+                if ((isset($fieldDef['config']) || array_key_exists('config', $fieldDef))) {
                     $this->_filterModel[$fieldKey]['options'] = $fieldDef['config'];
                     
                     // set id filter controller
@@ -764,15 +764,15 @@ class Tinebase_ModelConfiguration {
                 }
             }
             
-            if (array_key_exists('queryFilter', $fieldDef)) {
+            if ((isset($fieldDef['queryFilter']) || array_key_exists('queryFilter', $fieldDef))) {
                 $queryFilters[] = $fieldKey;
             }
 
             // set validators
-            if (array_key_exists('validators', $fieldDef)) {
+            if ((isset($fieldDef['validators']) || array_key_exists('validators', $fieldDef))) {
                 // use _validators from definition
                 $this->_validators[$fieldKey] = $fieldDef['validators'];
-            } else if (array_key_exists($fieldDef['type'], $this->_validatorMapping)) {
+            } else if ((isset($this->_validatorMapping[$fieldDef['type']]) || array_key_exists($fieldDef['type'], $this->_validatorMapping))) {
                 // if no validatorsDefinition is given, try to use the default one
                 $fieldDef['validators'] = $this->_validators[$fieldKey] = $this->_validatorMapping[$fieldDef['type']];
             } else {
@@ -780,18 +780,18 @@ class Tinebase_ModelConfiguration {
             }
 
             // set input filters, append defined if any or use defaults from _inputFilterDefaultMapping 
-            if (array_key_exists('inputFilters', $fieldDef)) {
+            if ((isset($fieldDef['inputFilters']) || array_key_exists('inputFilters', $fieldDef))) {
                 foreach ($fieldDef['inputFilters'] as $if => $val) { 
                     $this->_filters[$fieldKey][] = $if ? new $if($val) : new $val();
                 }
-            } else if (array_key_exists($fieldDef['type'], $this->_inputFilterDefaultMapping)) {
+            } else if ((isset($this->_inputFilterDefaultMapping[$fieldDef['type']]) || array_key_exists($fieldDef['type'], $this->_inputFilterDefaultMapping))) {
                 foreach ($this->_inputFilterDefaultMapping[$fieldDef['type']] as $if => $val) {
                     $this->_filters[$fieldKey][] = $if ? new $if($val) : new $val();
                 }
             }
             
             // add field to modlog omit, if configured and modlog is used
-            if ($this->_modlogActive && array_key_exists('modlogOmit', $fieldDef)) {
+            if ($this->_modlogActive && (isset($fieldDef['modlogOmit']) || array_key_exists('modlogOmit', $fieldDef))) {
                 $this->_modlogOmitFields[] = $fieldKey;
             }
             
@@ -826,7 +826,7 @@ class Tinebase_ModelConfiguration {
             case 'date':
             case 'datetime':
                 // add to alarm fields
-                if (array_key_exists('alarm', $fieldDef)) {
+                if ((isset($fieldDef['alarm']) || array_key_exists('alarm', $fieldDef))) {
                     $this->_alarmDateTimeField = $fieldKey;
                 }
                 // add to datetime fields
@@ -854,13 +854,13 @@ class Tinebase_ModelConfiguration {
                 $this->_filterModel[$fieldKey]['options']['controller']  = $this->_getPhpClassName($this->_filterModel[$fieldKey]['options'], 'Controller');
                 $this->_filterModel[$fieldKey]['options']['filtergroup'] = $this->_getPhpClassName($this->_filterModel[$fieldKey]['options'], 'Model') . 'Filter';
             case 'records':
-                $fieldDef['config']['recordClassName']     = array_key_exists('recordClassName', $fieldDef['config'])     ? $fieldDef['config']['recordClassName']     : $this->_getPhpClassName($fieldDef['config']);
-                $fieldDef['config']['controllerClassName'] = array_key_exists('controllerClassName', $fieldDef['config']) ? $fieldDef['config']['controllerClassName'] : $this->_getPhpClassName($fieldDef['config'], 'Controller');
-                $fieldDef['config']['filterClassName']     = array_key_exists('filterClassName', $fieldDef['config'])     ? $fieldDef['config']['filterClassName']     : $this->_getPhpClassName($fieldDef['config']) . 'Filter';
+                $fieldDef['config']['recordClassName']     = (isset($fieldDef['config']['recordClassName']) || array_key_exists('recordClassName', $fieldDef['config']))     ? $fieldDef['config']['recordClassName']     : $this->_getPhpClassName($fieldDef['config']);
+                $fieldDef['config']['controllerClassName'] = (isset($fieldDef['config']['controllerClassName']) || array_key_exists('controllerClassName', $fieldDef['config'])) ? $fieldDef['config']['controllerClassName'] : $this->_getPhpClassName($fieldDef['config'], 'Controller');
+                $fieldDef['config']['filterClassName']     = (isset($fieldDef['config']['filterClassName']) || array_key_exists('filterClassName', $fieldDef['config']))     ? $fieldDef['config']['filterClassName']     : $this->_getPhpClassName($fieldDef['config']) . 'Filter';
                 if ($fieldDef['type'] == 'record') {
                     $this->_recordFields[$fieldKey] = $fieldDef;
                 } else {
-                    $fieldDef['config']['dependentRecords'] = array_key_exists('dependentRecords', $fieldDef['config']) ? $fieldDef['config']['dependentRecords'] : FALSE;
+                    $fieldDef['config']['dependentRecords'] = (isset($fieldDef['config']['dependentRecords']) || array_key_exists('dependentRecords', $fieldDef['config'])) ? $fieldDef['config']['dependentRecords'] : FALSE;
                     $this->_recordsFields[$fieldKey] = $fieldDef;
                 }
                 break;
@@ -906,7 +906,7 @@ class Tinebase_ModelConfiguration {
      */
     protected function _isAvailable($_fieldConfig)
     {
-        if (! array_key_exists($_fieldConfig['appName'], self::$_availableApplications)) {
+        if (! (isset(self::$_availableApplications[$_fieldConfig['appName']]) || array_key_exists($_fieldConfig['appName'], self::$_availableApplications))) {
             self::$_availableApplications[$_fieldConfig['appName']] = Tinebase_Application::getInstance()->isInstalled($_fieldConfig['appName'], TRUE);
         }
         return self::$_availableApplications[$_fieldConfig['appName']];
index 193e66b..65487ff 100644 (file)
@@ -425,7 +425,7 @@ class Tinebase_Notes implements Tinebase_Backend_Sql_Interface
         // @see 0008546: When edit event, history show "code" ...
         if (is_json($modification->new_value)) {
             $newValueArray = Zend_Json::decode($modification->new_value);
-            if (array_key_exists('model', $newValueArray) && array_key_exists('added', $newValueArray)) {
+            if ((isset($newValueArray['model']) || array_key_exists('model', $newValueArray)) && (isset($newValueArray['added']) || array_key_exists('added', $newValueArray))) {
                 $diff = new Tinebase_Record_RecordSetDiff($newValueArray);
                 
                 if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ 
index 89c9729..dcb896b 100644 (file)
@@ -593,7 +593,7 @@ abstract class Tinebase_Preference_Abstract extends Tinebase_Backend_Sql_Abstrac
         
         // create prefs that don't exist in the db
         foreach ($_data as $id => $prefData) {
-            if (preg_match('/^default/', $id) && array_key_exists('name', $prefData) && (string)$prefData['value'] != Tinebase_Model_Preference::DEFAULT_VALUE) {
+            if (preg_match('/^default/', $id) && (isset($prefData['name']) || array_key_exists('name', $prefData)) && (string)$prefData['value'] != Tinebase_Model_Preference::DEFAULT_VALUE) {
                 if (Tinebase_Core::isLogLevel(Zend_Log::DEBUG)) Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__
                     . ' Create admin pref: ' . $prefData['name'] . ' = ' . $prefData['value']);
                 $newPref = $this->getApplicationPreferenceDefaults($prefData['name']);
index 991fd32..f43c7df 100644 (file)
@@ -238,7 +238,7 @@ abstract class Tinebase_Record_Abstract implements Tinebase_Record_Interface
             $this->dateConversionFormat = $_convertDates;
         }
 
-        if ($this->has('description') && (! array_key_exists('description', $this->_filters))) {
+        if ($this->has('description') && (! (isset($this->_filters['description']) || array_key_exists('description', $this->_filters)))) {
             $this->_filters['description'] = new Tinebase_Model_InputFilter_CrlfConvert();
         }
 
@@ -386,7 +386,7 @@ abstract class Tinebase_Record_Abstract implements Tinebase_Record_Interface
         $bypassFilter = $this->bypassFilters;
         $this->bypassFilters = true;
         foreach ($_data as $key => $value) {
-            if (array_key_exists ($key, $this->_validators)) {
+            if ((isset($this->_validators[$key]) || array_key_exists ($key, $this->_validators))) {
                 $this->$key = $value;
             } else if (in_array($key, $customFields)) {
                 $recordCustomFields[$key] = $value;
@@ -596,7 +596,7 @@ abstract class Tinebase_Record_Abstract implements Tinebase_Record_Interface
      */
     public function __set($_name, $_value)
     {
-        if (! array_key_exists ($_name, $this->_validators)) {
+        if (! (isset($this->_validators[$_name]) || array_key_exists ($_name, $this->_validators))) {
             throw new Tinebase_Exception_UnexpectedValue($_name . ' is no property of $this->_properties');
         }
         
@@ -646,7 +646,7 @@ abstract class Tinebase_Record_Abstract implements Tinebase_Record_Interface
      */
     public function __unset($_name)
     {
-        if (!array_key_exists ($_name, $this->_validators)) {
+        if (!(isset($this->_validators[$_name]) || array_key_exists ($_name, $this->_validators))) {
             throw new Tinebase_Exception_UnexpectedValue($_name . ' is no property of $this->_properties');
         }
 
@@ -679,11 +679,11 @@ abstract class Tinebase_Record_Abstract implements Tinebase_Record_Interface
      */
     public function __get($_name)
     {
-        if (!array_key_exists ($_name, $this->_validators)) {
+        if (!(isset($this->_validators[$_name]) || array_key_exists ($_name, $this->_validators))) {
             throw new Tinebase_Exception_UnexpectedValue($_name . ' is no property of $this->_properties');
         }
         
-        return array_key_exists($_name, $this->_properties) ? $this->_properties[$_name] : NULL;
+        return (isset($this->_properties[$_name]) || array_key_exists($_name, $this->_properties)) ? $this->_properties[$_name] : NULL;
     }
     
    /** convert this to string
@@ -705,9 +705,9 @@ abstract class Tinebase_Record_Abstract implements Tinebase_Record_Interface
     {
         $keyName = get_class($this) . $field;
         
-        if (! array_key_exists($keyName, self::$_inputFilters)) {
+        if (! (isset(self::$_inputFilters[$keyName]) || array_key_exists($keyName, self::$_inputFilters))) {
             if ($field !== null) {
-                $filters    = array_key_exists($field, $this->_filters) ? array($field => $this->_filters[$field]) : array();
+                $filters    = (isset($this->_filters[$field]) || array_key_exists($field, $this->_filters)) ? array($field => $this->_filters[$field]) : array();
                 $validators = array($field => $this->_validators[$field]); 
                 
                 self::$_inputFilters[$keyName] = new Zend_Filter_Input($filters, $validators);
@@ -1118,7 +1118,7 @@ abstract class Tinebase_Record_Abstract implements Tinebase_Record_Interface
      */
     public function has($_field) 
     {
-        return (array_key_exists ($_field, $this->_validators));
+        return ((isset($this->_validators[$_field]) || array_key_exists ($_field, $this->_validators)));
     }   
 
     /**
index 96bf95c..6d69e52 100644 (file)
@@ -113,7 +113,7 @@ class Tinebase_Record_Iterator
             $this->_options = array_merge($this->_options, $_params['options']);
         }
         
-        if (! array_key_exists('idProperty', $this->_options)) {
+        if (! (isset($this->_options['idProperty']) || array_key_exists('idProperty', $this->_options))) {
             // TODO:resolve this by modelconfiguration when mc has been applied to all models
             $mn = $this->_filter->getModelName();
             $model = new $mn();
@@ -187,7 +187,7 @@ class Tinebase_Record_Iterator
         $filterClassname = get_class($this->_filter);
         $recordIdsForIteration = array_splice($this->_recordIds, 0, $this->_options['limit']);
         $idFilter = new $filterClassname(array(
-            array('field' => array_key_exists('idProperty', $this->_options) ? $this->_options['idProperty'] : 'id', 'operator' => 'in', 'value' => $recordIdsForIteration)
+            array('field' => (isset($this->_options['idProperty']) || array_key_exists('idProperty', $this->_options)) ? $this->_options['idProperty'] : 'id', 'operator' => 'in', 'value' => $recordIdsForIteration)
         ));
         if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ 
             . ' Getting records using filter: ' . print_r($idFilter->toArray(), TRUE));
index 006303a..78e2023 100644 (file)
@@ -227,7 +227,7 @@ class Tinebase_Record_RecordSet implements IteratorAggregate, Countable, ArrayAc
      */
     public function getIndexById($_id)
     {
-        return array_key_exists($_id, $this->_idMap) ? $this->_idMap[$_id] : false;
+        return (isset($this->_idMap[$_id]) || array_key_exists($_id, $this->_idMap)) ? $this->_idMap[$_id] : false;
     }
     
     /**
@@ -294,7 +294,7 @@ class Tinebase_Record_RecordSet implements IteratorAggregate, Countable, ArrayAc
     public function setByIndices($_name, array $_values)
     {
         foreach ($_values as $index => $value) {
-            if (! array_key_exists($index, $this->_listOfRecords)) {
+            if (! (isset($this->_listOfRecords[$index]) || array_key_exists($index, $this->_listOfRecords))) {
                 throw new Tinebase_Exception_Record_NotDefined('Could not find record with index ' . $index);
             }
             $this->_listOfRecords[$index]->$_name = $value;
@@ -332,7 +332,7 @@ class Tinebase_Record_RecordSet implements IteratorAggregate, Countable, ArrayAc
         foreach ($this->_listOfRecords as $record) {
             $record->$_name = $_value;
         }
-        if (array_key_exists($_name, $this->_indices)) {
+        if ((isset($this->_indices[$_name]) || array_key_exists($_name, $this->_indices))) {
             foreach ($this->_indices[$_name] as $key => $oldvalue) {
                 $this->_indices[$_name][$key] = $_value;
             }
@@ -350,7 +350,7 @@ class Tinebase_Record_RecordSet implements IteratorAggregate, Countable, ArrayAc
     public function __get($_name)
     {
         // NOTE: indices may lead to wrong results if a record is changed after build of indices
-        if (FALSE && array_key_exists($_name, $this->_indices)) {
+        if (FALSE && (isset($this->_indices[$_name]) || array_key_exists($_name, $this->_indices))) {
             $propertiesArray = $this->_indices[$_name];
         } else {
             $propertiesArray = array();
@@ -424,7 +424,7 @@ class Tinebase_Record_RecordSet implements IteratorAggregate, Countable, ArrayAc
         if (! is_int($_offset)) {
             throw new Tinebase_Exception_UnexpectedValue("index must be of type integer (". gettype($_offset) .") " . $_offset .  ' given');
         }
-        if (! array_key_exists($_offset, $this->_listOfRecords)) {
+        if (! (isset($this->_listOfRecords[$_offset]) || array_key_exists($_offset, $this->_listOfRecords))) {
             throw new Tinebase_Exception_NotFound("No such entry with index $_offset in this record set");
         }
         
@@ -443,13 +443,13 @@ class Tinebase_Record_RecordSet implements IteratorAggregate, Countable, ArrayAc
         if (!is_int($_offset)) {
             $this->addRecord($_value);
         } else {
-            if (!array_key_exists($_offset, $this->_listOfRecords)) {
+            if (!(isset($this->_listOfRecords[$_offset]) || array_key_exists($_offset, $this->_listOfRecords))) {
                 throw new Tinebase_Exception_Record_NotAllowed('adding a record is only allowd via the addRecord method');
             }
             $this->_listOfRecords[$_offset] = $_value;
             $id = $_value->getId();
             if ($id) {
-                if(! array_key_exists($id, $this->_idMap)) {
+                if(! (isset($this->_idMap[$id]) || array_key_exists($id, $this->_idMap))) {
                     $this->_idMap[$id] = $_offset;
                     $idLessIdx = array_search($_offset, $this->_idLess);
                     unset($this->_idLess[$idLessIdx]);
@@ -512,7 +512,7 @@ class Tinebase_Record_RecordSet implements IteratorAggregate, Countable, ArrayAc
     {
         if (! empty($_properties)) {
             foreach ($_properties as $property) {
-                if (! array_key_exists($property, $this->_indices)) {
+                if (! (isset($this->_indices[$property]) || array_key_exists($property, $this->_indices))) {
                     $this->_indices[$property] = array();
                 }
             }
@@ -577,7 +577,7 @@ class Tinebase_Record_RecordSet implements IteratorAggregate, Countable, ArrayAc
     protected function _getMatchingRecords($_field, $_value, $_valueIsRegExp = FALSE)
     {
         // NOTE: indices may lead to wrong results if a record is changed after build of indices
-        if (FALSE && array_key_exists($_field, $this->_indices)) {
+        if (FALSE && (isset($this->_indices[$_field]) || array_key_exists($_field, $this->_indices))) {
             if (Tinebase_Core::isLogLevel(Zend_Log::TRACE)) Tinebase_Core::getLogger()->trace(__METHOD__ . '::' . __LINE__ . ' Filtering with indices, expecting fast results ;-)');
             $valueMap = $this->_indices[$_field];
         } else {
index d307775..ca92db1 100644 (file)
@@ -288,7 +288,7 @@ class Tinebase_Relations
         // seperate relations by model
         $modelMap = array();
         foreach ($_relations as $relation) {
-            if (!array_key_exists($relation->related_model, $modelMap)) {
+            if (!(isset($modelMap[$relation->related_model]) || array_key_exists($relation->related_model, $modelMap))) {
                 $modelMap[$relation->related_model] = new Tinebase_Record_RecordSet('Tinebase_Model_Relation');
             }
             $modelMap[$relation->related_model]->addRecord($relation);
index dc5faee..e3599f0 100644 (file)
@@ -51,7 +51,7 @@ class Tinebase_Scheduler_Task extends Zend_Scheduler_Task
         $request = new Zend_Controller_Request_Simple();
         $request->setControllerName($_requestOptions['controller']);
         $request->setActionName($_requestOptions['action']);
-        if (array_key_exists('params', $_requestOptions)) {
+        if ((isset($_requestOptions['params']) || array_key_exists('params', $_requestOptions))) {
             foreach ($_requestOptions['params'] as $key => $value) {
                 $request->setParam($key, $value);
             }
index 6e1ecef..d18f300 100644 (file)
@@ -519,22 +519,22 @@ abstract class Tinebase_Setup_DemoData_Abstract
      */
     public function createDemoData(array $options)
     {
-        static::$_createFullData = array_key_exists('full', $options) ? TRUE : FALSE;
+        static::$_createFullData = (isset($options['full']) || array_key_exists('full', $options)) ? TRUE : FALSE;
         
-        $this->_createShared = array_key_exists('createShared', $options) ? $options['createShared'] : TRUE;
-        $this->_createUsers  = array_key_exists('createUsers', $options)  ? $options['createUsers']  : TRUE;
+        $this->_createShared = (isset($options['createShared']) || array_key_exists('createShared', $options)) ? $options['createShared'] : TRUE;
+        $this->_createUsers  = (isset($options['createUsers']) || array_key_exists('createUsers', $options))  ? $options['createUsers']  : TRUE;
 
-        if (array_key_exists('locale', $options)) {
+        if ((isset($options['locale']) || array_key_exists('locale', $options))) {
             static::$_locale = $options['locale'];
         }
         // just shortcuts
         static::$_de = (static::$_locale == 'de') ? true : false;
         static::$_en = ! static::$_de;
-        static::$_defaultPassword = array_key_exists('password', $options) ? $options['password'] : '';
+        static::$_defaultPassword = (isset($options['password']) || array_key_exists('password', $options)) ? $options['password'] : '';
         $this->_beforeCreate();
 
         // look for defined models
-        if (array_key_exists('models', $options) && is_array($options['models'])) {
+        if ((isset($options['models']) || array_key_exists('models', $options)) && is_array($options['models'])) {
             foreach ($options['models'] as $model) {
                 if (! in_array($model, $this->_models)) {
                     echo 'Model ' . $model . ' is not defined for demo data creation!' . chr(10);
@@ -545,9 +545,9 @@ abstract class Tinebase_Setup_DemoData_Abstract
         }
 
         // get User Accounts
-        if (array_key_exists('users', $options) && is_array($options['users'])) {
+        if ((isset($options['users']) || array_key_exists('users', $options)) && is_array($options['users'])) {
             foreach ($options['users'] as $user) {
-                if (! array_key_exists($user, $this->_personas)) {
+                if (! (isset($this->_personas[$user]) || array_key_exists($user, $this->_personas))) {
                     echo 'User ' . $user . ' is not defined for demo data creation!' . chr(10);
                     return false;
                 } else {
@@ -707,7 +707,7 @@ abstract class Tinebase_Setup_DemoData_Abstract
     protected function _getContact($_data)
     {
         // handle user
-        if (array_key_exists('user', $_data)) {
+        if ((isset($_data['user']) || array_key_exists('user', $_data))) {
             $account = $this->_personas[$_data['user']];
             $contact = Addressbook_Controller_Contact::getInstance()->get($account->contact_id);
         } else { // handle contact
index f4768ba..459a107 100644 (file)
@@ -328,7 +328,7 @@ abstract class Tinebase_Setup_Import_Egw14_Abstract
      */
     public function getPersonalContainer($userId)
     {
-        if (! array_key_exists($userId, $this->_personalContainerCache)) {
+        if (! (isset($this->_personalContainerCache[$userId]) || array_key_exists($userId, $this->_personalContainerCache))) {
             // get container by preference to ensure its the default personal
             $defaultContainerId = Tinebase_Core::getPreference($this->getApplication()->name)->getValueForUser($this->_defaultContainerConfigProperty, $userId, Tinebase_Acl_Rights::ACCOUNT_TYPE_USER);
             $container = Tinebase_Container::getInstance()->getContainerById($defaultContainerId);
@@ -361,7 +361,7 @@ abstract class Tinebase_Setup_Import_Egw14_Abstract
     {
         $privateString = 'Private';
         
-        if (! array_key_exists($userId, $this->_privateContainerCache)) {
+        if (! (isset($this->_privateContainerCache[$userId]) || array_key_exists($userId, $this->_privateContainerCache))) {
             $personalContainers = Tinebase_Container::getInstance()->getPersonalContainer($userId, $this->getApplication()->name, $userId, Tinebase_Model_Grants::GRANT_ADMIN, TRUE);
             $privateContainer = $personalContainers->filter('name', $privateString);
             
@@ -444,7 +444,7 @@ abstract class Tinebase_Setup_Import_Egw14_Abstract
             $grantsDestination = $egwGrantData['acl_location'];
             $grantsGiven       = $egwGrantData['acl_rights'];
             
-            if (! array_key_exists($grantsDestination, $effectiveGrants)) {
+            if (! (isset($effectiveGrants[$grantsDestination]) || array_key_exists($grantsDestination, $effectiveGrants))) {
                 $effectiveGrants[$grantsDestination] = 0;
             }
             $effectiveGrants[$grantsDestination] |= $grantsGiven;
@@ -524,7 +524,7 @@ abstract class Tinebase_Setup_Import_Egw14_Abstract
      */
     public function getTag($catId)
     {
-        if (! array_key_exists($catId, $this->_tagMapCache)) {
+        if (! (isset($this->_tagMapCache[$catId]) || array_key_exists($catId, $this->_tagMapCache))) {
             $select = $this->_egwDb->select()
                 ->from(array('cats' => 'egw_categories'))
                 ->where($this->_egwDb->quoteInto($this->_egwDb->quoteIdentifier('cat_id') . ' = ?', $catId));
index 9451c00..f347c2a 100644 (file)
@@ -2287,7 +2287,7 @@ class Tinebase_Setup_Update_Release0 extends Setup_Update_Abstract
                             $field = $match[1];
                             Setup_Core::getLogger()->warn(__METHOD__ . '::' . __LINE__ 
                                 . ' Converting field ' . $field 
-                                . ((array_key_exists('id', $row)) ? ' of record ' . $row['id'] : '') 
+                                . (((isset($row['id']) || array_key_exists('id', $row))) ? ' of record ' . $row['id'] : '') 
                                 //. ' value: ' . $row[$field]
                             );
                             $row[$field] = utf8_encode($row[$field]);
index 9bca266..b20f2ba 100644 (file)
@@ -52,7 +52,7 @@ class Tinebase_Setup_Update_Release5 extends Setup_Update_Abstract
         foreach ($cfConfigs as $cfConfig) {
             $definition = array(
                 'label'          => $cfConfig['label'],
-                'type'           => array_key_exists($cfConfig['type'], $typeMap) ? $typeMap[$cfConfig['type']] : 'string',
+                'type'           => (isset($typeMap[$cfConfig['type']]) || array_key_exists($cfConfig['type'], $typeMap)) ? $typeMap[$cfConfig['type']] : 'string',
                 'length'         => $cfConfig['length'], // validation like definiton
                 'value_search'   => $cfConfig['value_search'],
                 'uiconfig' => array(
index 8b690b4..06f1842 100644 (file)
@@ -220,7 +220,7 @@ class Tinebase_Setup_Update_Release7 extends Setup_Update_Abstract
         $db = Tinebase_Core::getDb();
         $modlogTable = SQL_TABLE_PREFIX . 'timemachine_modlog';
         $modlogTableColumns = Tinebase_Db_Table::getTableDescriptionFromCache($modlogTable, $db);
-        if (!  array_key_exists('seq', $modlogTableColumns)) {
+        if (!  (isset($modlogTableColumns['seq']) || array_key_exists('seq', $modlogTableColumns))) {
             throw new Tinebase_Exception_SystemGeneric('You need to update Tinebase before updating any other application');
         }
         
index 6a3fed2..08ac3d2 100644 (file)
@@ -136,7 +136,7 @@ class Tinebase_Tags
         $tagData = array();
         
         foreach ($_tags as $tag) {
-            if (array_key_exists($tag['id'], $tagData)) {
+            if ((isset($tagData[$tag['id']]) || array_key_exists($tag['id'], $tagData))) {
                 $tagData[$tag['id']]['selection_occurrence']++;
             } else {
                 $tag['selection_occurrence'] = 1;
index 3a523c2..ab317aa 100644 (file)
@@ -217,7 +217,7 @@ class Tinebase_Timemachine_ModificationLog
     {
         $diff = array();
         foreach ($modifications as $modification) {
-            if (array_key_exists($modification->modified_attribute, $diff)) {
+            if ((isset($diff[$modification->modified_attribute]) || array_key_exists($modification->modified_attribute, $diff))) {
                 $modification->old_value = $diff[$modification->modified_attribute]->old_value;
             }
             $diff[$modification->modified_attribute] = $modification;
@@ -701,7 +701,7 @@ class Tinebase_Timemachine_ModificationLog
         
         foreach ($_ids as $id) {
             $commonModLog->record_id = $id;
-            if (isset($updateMetaData['recordSeqs']) && array_key_exists($id, $updateMetaData['recordSeqs'])) {
+            if (isset($updateMetaData['recordSeqs']) && (isset($updateMetaData['recordSeqs'][$id]) || array_key_exists($id, $updateMetaData['recordSeqs']))) {
                 $commonModLog->seq = (! empty($updateMetaData['recordSeqs'][$id])) ? $updateMetaData['recordSeqs'][$id] + 1 : 1;
             }
             $this->_loopModifications($_newData, $commonModLog, $modifications, $_currentData);
index 69ece58..46d258d 100644 (file)
@@ -231,13 +231,13 @@ class Tinebase_Translation
         $cacheId = (string)$locale . $_applicationName;
         
         // get translation from internal class member?
-        if (array_key_exists($cacheId, self::$_applicationTranslations)) {
+        if ((isset(self::$_applicationTranslations[$cacheId]) || array_key_exists($cacheId, self::$_applicationTranslations))) {
             return self::$_applicationTranslations[$cacheId];
         }
         
         // get translation from filesystem
         $availableTranslations = self::getAvailableTranslations(ucfirst($_applicationName));
-        $info = array_key_exists((string) $locale, $availableTranslations
+        $info = (isset($availableTranslations[(string) $locale]) || array_key_exists((string) $locale, $availableTranslations)
             ? $availableTranslations[(string) $locale] 
             : $availableTranslations['en'];
         
@@ -283,8 +283,8 @@ class Tinebase_Translation
         $localeString = (string) $_locale;
         
         $availableTranslations = self::getAvailableTranslations();
-        $info = array_key_exists($localeString, $availableTranslations) ? $availableTranslations[$localeString] : array('locale' => $localeString);
-        $baseDir = (array_key_exists('path', $info) ? dirname($info['path']) . '/..' : dirname(__FILE__)) . '/..';
+        $info = (isset($availableTranslations[$localeString]) || array_key_exists($localeString, $availableTranslations)) ? $availableTranslations[$localeString] : array('locale' => $localeString);
+        $baseDir = ((isset($info['path']) || array_key_exists('path', $info)) ? dirname($info['path']) . '/..' : dirname(__FILE__)) . '/..';
         
         $defaultDir = dirname(__FILE__) . "/..";
         
index dd9d38b..cffdee9 100644 (file)
@@ -302,7 +302,7 @@ class Tinebase_User
                 self::setBackendConfiguration($value, $key);
             }
         } else {
-            if ( ! array_key_exists($_key, $defaultValues)) {
+            if ( ! (isset($defaultValues[$_key]) || array_key_exists($_key, $defaultValues))) {
                 if (Tinebase_Core::isLogLevel(Zend_Log::INFO)) Tinebase_Core::getLogger()->info(__METHOD__ . '::' . __LINE__ .
                     " Cannot set backend configuration option '$_key' for accounts storage " . self::getConfiguredBackend());
                 return;
@@ -324,7 +324,7 @@ class Tinebase_User
     {
         if (is_null($_key)) {
             self::$_backendConfiguration = array();
-        } elseif (array_key_exists($_key, self::$_backendConfiguration)) {
+        } elseif ((isset(self::$_backendConfiguration[$_key]) || array_key_exists($_key, self::$_backendConfiguration))) {
             unset(self::$_backendConfiguration[$_key]);
         } else {
             Tinebase_Core::getLogger()->warn(__METHOD__ . '::' . __LINE__ . ' configuration option does not exist: ' . $_key);
@@ -362,7 +362,7 @@ class Tinebase_User
         }
 
         if (isset($_key)) {
-            return array_key_exists($_key, self::$_backendConfiguration) ? self::$_backendConfiguration[$_key] : $_default;
+            return (isset(self::$_backendConfiguration[$_key]) || array_key_exists($_key, self::$_backendConfiguration)) ? self::$_backendConfiguration[$_key] : $_default;
         } else {
             return self::$_backendConfiguration;
         }
@@ -383,7 +383,7 @@ class Tinebase_User
             $config[$backendType] = ($_getConfiguredBackend && $backendType == self::getConfiguredBackend() ? self::getBackendConfiguration() : array());
             if (is_array($config[$backendType])) {
                 foreach ($backendConfig as $key => $value) {
-                    if (! array_key_exists($key, $config[$backendType])) {
+                    if (! (isset($config[$backendType][$key]) || array_key_exists($key, $config[$backendType]))) {
                         $config[$backendType][$key] = $value;
                     }
                 }
@@ -401,7 +401,7 @@ class Tinebase_User
      */
     public static function getBackendConfigurationDefaults($_backendType = null) {
         if ($_backendType) {
-            if (!array_key_exists($_backendType, self::$_backendConfigurationDefaults)) {
+            if (!(isset(self::$_backendConfigurationDefaults[$_backendType]) || array_key_exists($_backendType, self::$_backendConfigurationDefaults))) {
                 throw new Tinebase_Exception_InvalidArgument("Unknown backend type '$_backendType'");
             }
             return self::$_backendConfigurationDefaults[$_backendType];
@@ -635,7 +635,7 @@ class Tinebase_User
         $adminPassword      = $_options['adminPassword'];
         $adminFirstName     = isset($_options['adminFirstName'])    ? $_options['adminFirstName'] : 'Tine 2.0';
         $adminLastName      = isset($_options['adminLastName'])     ? $_options['adminLastName']  : 'Admin Account';
-        $adminEmailAddress  = (array_key_exists('adminEmailAddress', $_options)) ? $_options['adminEmailAddress'] : NULL;
+        $adminEmailAddress  = ((isset($_options['adminEmailAddress']) || array_key_exists('adminEmailAddress', $_options))) ? $_options['adminEmailAddress'] : NULL;
 
         // get admin & user groups
         $userBackend   = Tinebase_User::factory(Tinebase_User::SQL);
index 2b7bf72..9585475 100644 (file)
@@ -95,7 +95,7 @@ abstract class Tinebase_User_Abstract implements Tinebase_User_Interface
      */
     public function __construct(array $_options = array())
     {
-        if (array_key_exists('plugins', $_options)) {
+        if ((isset($_options['plugins']) || array_key_exists('plugins', $_options))) {
             $this->registerPlugins($_options['plugins']);
         }
     }
index 279a8d9..1939757 100644 (file)
@@ -479,7 +479,7 @@ class Tinebase_User_ActiveDirectory extends Tinebase_User_Ldap
         );
         
         foreach ($_user as $key => $value) {
-            $ldapProperty = array_key_exists($key, $this->_rowNameMapping) ? $this->_rowNameMapping[$key] : false;
+            $ldapProperty = (isset($this->_rowNameMapping[$key]) || array_key_exists($key, $this->_rowNameMapping)) ? $this->_rowNameMapping[$key] : false;
 
             if ($ldapProperty === false) {
                 continue;
index a82f0d0..20a89bb 100644 (file)
@@ -137,10 +137,10 @@ class Tinebase_User_Ldap extends Tinebase_User_Sql implements Tinebase_User_Inte
         if (isset($_options['requiredObjectClass'])) {
             $this->_requiredObjectClass = (array)$_options['requiredObjectClass'];
         }
-        if (array_key_exists('readonly', $_options)) {
+        if ((isset($_options['readonly']) || array_key_exists('readonly', $_options))) {
             $this->_isReadOnlyBackend = (bool)$_options['readonly'];
         }
-        if (array_key_exists('ldap', $_options)) {
+        if ((isset($_options['ldap']) || array_key_exists('ldap', $_options))) {
             $this->_ldap = $_options['ldap'];
         }
         
@@ -316,7 +316,7 @@ class Tinebase_User_Ldap extends Tinebase_User_Sql implements Tinebase_User_Inte
      */
     public function getUserByPropertyFromSyncBackend($_property, $_accountId, $_accountClass = 'Tinebase_Model_User')
     {
-        if (!array_key_exists($_property, $this->_rowNameMapping)) {
+        if (!(isset($this->_rowNameMapping[$_property]) || array_key_exists($_property, $this->_rowNameMapping))) {
             throw new Tinebase_Exception_NotFound("can't get user by property $_property. property not supported by ldap backend.");
         }
 
@@ -807,8 +807,8 @@ class Tinebase_User_Ldap extends Tinebase_User_Sql implements Tinebase_User_Inte
                         break;
                         
                     case 'accountStatus':
-                        if (array_key_exists('shadowmax', $_userData) && array_key_exists('shadowinactive', $_userData)) {
-                            $lastChange = array_key_exists('shadowlastchange', $_userData) ? $_userData['shadowlastchange'] : 0;
+                        if ((isset($_userData['shadowmax']) || array_key_exists('shadowmax', $_userData)) && (isset($_userData['shadowinactive']) || array_key_exists('shadowinactive', $_userData))) {
+                            $lastChange = (isset($_userData['shadowlastchange']) || array_key_exists('shadowlastchange', $_userData)) ? $_userData['shadowlastchange'] : 0;
                             if (($lastChange + $_userData['shadowmax'] + $_userData['shadowinactive']) * 86400 <= Tinebase_DateTime::now()->getTimestamp()) {
                                 $accountArray[$keyMapping] = 'enabled';
                             } else {
@@ -914,7 +914,7 @@ class Tinebase_User_Ldap extends Tinebase_User_Sql implements Tinebase_User_Inte
         $ldapData = array();
 
         foreach ($_user as $key => $value) {
-            $ldapProperty = array_key_exists($key, $this->_rowNameMapping) ? $this->_rowNameMapping[$key] : false;
+            $ldapProperty = (isset($this->_rowNameMapping[$key]) || array_key_exists($key, $this->_rowNameMapping)) ? $this->_rowNameMapping[$key] : false;
 
             if ($ldapProperty) {
                 switch ($key) {
index e605f96..aad9402 100644 (file)
@@ -74,7 +74,7 @@ abstract class Tinebase_User_Plugin_Abstract implements Tinebase_User_Plugin_Sql
      */
     protected function _appendDomain($_userName)
     {
-        if (array_key_exists('domain', $this->_config) && ! empty($this->_config['domain'])) {
+        if ((isset($this->_config['domain']) || array_key_exists('domain', $this->_config)) && ! empty($this->_config['domain'])) {
             $domain = '@' . $this->_config['domain'];
             if (strpos($_userName, $domain) === FALSE) {
                 $_userName .= $domain;
index 2c9a184..4e969d1 100644 (file)
@@ -214,7 +214,7 @@ class Tinebase_User_Plugin_Samba  extends Tinebase_User_Plugin_LdapAbstract
         
         if ($_user->sambaSAM instanceof Tinebase_Model_SAMUser) {
             foreach ($_user->sambaSAM as $key => $value) {
-                if (array_key_exists($key, $this->_propertyMapping)) {
+                if ((isset($this->_propertyMapping[$key]) || array_key_exists($key, $this->_propertyMapping))) {
                     switch ($key) {
                         case 'pwdLastSet':
                         case 'logonTime':
index 97e6d0c..77d9f80 100644 (file)
@@ -97,7 +97,7 @@ class Tinebase_User_Samba4 extends Tinebase_User_Ldap
         if (isset($_options['requiredObjectClass'])) {
             $this->_requiredObjectClass = (array)$_options['requiredObjectClass'];
         }
-        if (array_key_exists('readonly', $_options)) {
+        if ((isset($_options['readonly']) || array_key_exists('readonly', $_options))) {
             $this->_isReadOnlyBackend = (bool)$_options['readonly'];
         }
         
index daeaecc..f98cbeb 100644 (file)
@@ -227,7 +227,7 @@ class Tinebase_User_Sql extends Tinebase_User_Abstract
      */
     public function getUserByPropertyFromSqlBackend($_property, $_value, $_accountClass = 'Tinebase_Model_User')
     {
-        if(!array_key_exists($_property, $this->rowNameMapping)) {
+        if(!(isset($this->rowNameMapping[$_property]) || array_key_exists($_property, $this->rowNameMapping))) {
             throw new Tinebase_Exception_InvalidArgument("invalid property $_property requested");
         }
         
index ad2c253..0edbb1e 100644 (file)
@@ -240,29 +240,29 @@ class Zend_Auth_Adapter_Http_Ntlm extends Zend_Auth_Adapter_Http_Abstract
      */
     public function __construct(array $config = array())
     {
-        if (array_key_exists('log', $config) && $config['log'] instanceof Zend_Log) {
+        if ((isset($config['log']) || array_key_exists('log', $config)) && $config['log'] instanceof Zend_Log) {
             $this->_log = $config['log'];
         } else {
             $this->_log = new Zend_Log(new Zend_Log_Writer_Null());
         }
         
-        if (array_key_exists('resolver', $config) /*&& $config['resolver'] instanceof Zend_Auth_Adapter_Http_Resolver_Interface*/) {
+        if ((isset($config['resolver']) || array_key_exists('resolver', $config)) /*&& $config['resolver'] instanceof Zend_Auth_Adapter_Http_Resolver_Interface*/) {
             $this->setResolver($config['resolver']);
         }
         
-        if (array_key_exists('session', $config) && $config['session'] instanceof Zend_Session_Namespace) {
+        if ((isset($config['session']) || array_key_exists('session', $config)) && $config['session'] instanceof Zend_Session_Namespace) {
             $this->setSession($config['session']);
         }
         
-        if (array_key_exists('challenge', $config)) {
+        if ((isset($config['challenge']) || array_key_exists('challenge', $config))) {
             $this->_challenge = $config['challenge'];
         }
         
-        if (array_key_exists('targetInfo', $config)) {
+        if ((isset($config['targetInfo']) || array_key_exists('targetInfo', $config))) {
             $this->_targetInfo = $config['targetInfo'];
         }
         
-        if (! array_key_exists('serverFlags', $config)) {
+        if (! (isset($config['serverFlags']) || array_key_exists('serverFlags', $config))) {
             $config['serverFlags'] = dechex(
                 (0x00000000 | self::FLAG_NEGOTIATE_UNICODE | self::FLAG_NEGOTIATE_NTLM)
             );
@@ -601,7 +601,7 @@ class Zend_Auth_Adapter_Http_Ntlm extends Zend_Auth_Adapter_Http_Abstract
     {
         $buffer = '';
         foreach ($this->_targetInfoBufferTypMap as $type => $typeIdentifier) {
-            $data = array_key_exists($type, $targetInfo) ? $targetInfo[$type] : '';
+            $data = (isset($targetInfo[$type]) || array_key_exists($type, $targetInfo)) ? $targetInfo[$type] : '';
             $buffer .= $this->_getTargetInfoSubBuffer($type, $data);
         }
         
index 108b26f..a11c3bb 100644 (file)
@@ -11,11 +11,11 @@ class Zend_Auth_Adapter_Http_Ntlm_Identity
     
     public function __construct(array $idData = array())
     {
-        if (array_key_exists('flags', $idData)) {
+        if ((isset($idData['flags']) || array_key_exists('flags', $idData))) {
             $this->_flags = $idData['flags'];
         }
         
-    if (array_key_exists('ntlmData', $idData)) {
+    if ((isset($idData['ntlmData']) || array_key_exists('ntlmData', $idData))) {
         
             $which = array('domain', 'workstation');
             foreach( (array) $idData['ntlmData'] as $key => $value) {
index b7cc199..b2c8f5f 100644 (file)
@@ -135,25 +135,25 @@ class Zend_Cache_Backend_Memcached extends Zend_Cache_Backend implements Zend_Ca
         }
         $this->_memcache = new Memcache;
         foreach ($this->_options['servers'] as $server) {
-            if (!array_key_exists('port', $server)) {
+            if (!(isset($server['port']) || array_key_exists('port', $server))) {
                 $server['port'] = self::DEFAULT_PORT;
             }
-            if (!array_key_exists('persistent', $server)) {
+            if (!(isset($server['persistent']) || array_key_exists('persistent', $server))) {
                 $server['persistent'] = self::DEFAULT_PERSISTENT;
             }
-            if (!array_key_exists('weight', $server)) {
+            if (!(isset($server['weight']) || array_key_exists('weight', $server))) {
                 $server['weight'] = self::DEFAULT_WEIGHT;
             }
-            if (!array_key_exists('timeout', $server)) {
+            if (!(isset($server['timeout']) || array_key_exists('timeout', $server))) {
                 $server['timeout'] = self::DEFAULT_TIMEOUT;
             }
-            if (!array_key_exists('retry_interval', $server)) {
+            if (!(isset($server['retry_interval']) || array_key_exists('retry_interval', $server))) {
                 $server['retry_interval'] = self::DEFAULT_RETRY_INTERVAL;
             }
-            if (!array_key_exists('status', $server)) {
+            if (!(isset($server['status']) || array_key_exists('status', $server))) {
                 $server['status'] = self::DEFAULT_STATUS;
             }
-            if (!array_key_exists('failure_callback', $server)) {
+            if (!(isset($server['failure_callback']) || array_key_exists('failure_callback', $server))) {
                 $server['failure_callback'] = self::DEFAULT_FAILURE_CALLBACK;
             }
             if ($this->_options['compatibility']) {
index 1ab6161..458fb86 100644 (file)
@@ -111,19 +111,19 @@ class Zend_Cache_Backend_Redis extends Zend_Cache_Backend implements Zend_Cache_
         $this->_redis = new Redis;
         
         foreach ($this->_options['servers'] as $server) {
-            if (!array_key_exists('port', $server)) {
+            if (!(isset($server['port']) || array_key_exists('port', $server))) {
                 $server['port'] = self::DEFAULT_PORT;
             }
-            if (!array_key_exists('persistent', $server)) {
+            if (!(isset($server['persistent']) || array_key_exists('persistent', $server))) {
                 $server['persistent'] = self::DEFAULT_PERSISTENT;
             }
-            #if (!array_key_exists('weight', $server)) {
+            #if (!(isset($server['weight']) || array_key_exists('weight', $server))) {
             #    $server['weight'] = self::DEFAULT_WEIGHT;
             #}
-            if (!array_key_exists('timeout', $server)) {
+            if (!(isset($server['timeout']) || array_key_exists('timeout', $server))) {
                 $server['timeout'] = self::DEFAULT_TIMEOUT;
             }
-            if (!array_key_exists('prefix', $server)) {
+            if (!(isset($server['prefix']) || array_key_exists('prefix', $server))) {
                 $server['prefix'] = self::DEFAULT_PREFIX;
             }
             
index 46106f5..cfa9f03 100644 (file)
@@ -538,7 +538,7 @@ abstract class Zend_Db_Table_Abstract
     public function setDefaultValues(Array $defaultValues)
     {
         foreach ($defaultValues as $defaultName => $defaultValue) {
-            if (array_key_exists($defaultName, $this->_metadata)) {
+            if ((isset($this->_metadata[$defaultName]) || array_key_exists($defaultName, $this->_metadata))) {
                 $this->_defaultValues[$defaultName] = $defaultValue;
             }
         }
@@ -988,7 +988,7 @@ abstract class Zend_Db_Table_Abstract
             return $info;
         }
 
-        if (!array_key_exists($key, $info)) {
+        if (!(isset($info[$key]) || array_key_exists($key, $info))) {
             require_once 'Zend/Db/Table/Exception.php';
             throw new Zend_Db_Table_Exception('There is no table information for the key "' . $key . '"');
         }
@@ -1044,7 +1044,7 @@ abstract class Zend_Db_Table_Abstract
          * If the primary key can be generated automatically, and no value was
          * specified in the user-supplied data, then omit it from the tuple.