/**
  * appends sql to given select statement
  *
  * @param  Zend_Db_Select                    $_select
  * @param  Tinebase_Backend_Sql_Abstract     $_backend
  */
 public function appendFilterSql($_select, $_backend)
 {
     if (is_array($this->_value)) {
         foreach ($this->_value as $key => $value) {
             if ($value === Addressbook_Model_Contact::CURRENTCONTACT) {
                 $this->_value[$key] = Tinebase_Core::getUser()->contact_id;
             }
         }
     } else {
         if ($this->_value === Addressbook_Model_Contact::CURRENTCONTACT) {
             $this->_value = Tinebase_Core::getUser()->contact_id;
         }
     }
     parent::appendFilterSql($_select, $_backend);
 }
 /**
  * add path custom filter
  *
  * @param  Zend_Db_Select                       $_select
  * @param  Felamimail_Backend_Cache_Sql_Message $_backend
  * @param  array                                $_filterData
  * @return void
  */
 protected function _addPathSql($_select, $_backend, $_filterData)
 {
     $db = $_backend->getAdapter();
     $folderIds = array();
     foreach ((array) $_filterData['value'] as $filterValue) {
         if (empty($filterValue)) {
             $_select->where('1 = 0');
         } else {
             if ($filterValue === self::PATH_ALLINBOXES) {
                 $folderIds = array_merge($folderIds, $this->_getFolderIdsOfAllInboxes());
             } else {
                 if (strpos($filterValue, '/') !== FALSE) {
                     $pathParts = explode('/', $filterValue);
                     array_shift($pathParts);
                     if (count($pathParts) == 1) {
                         // we only have an account id
                         $this->_addAccountFilter($_select, $_backend, (array) $pathParts[0]);
                     } else {
                         if (count($pathParts) > 1) {
                             $folderIds[] = array_pop($pathParts);
                         }
                     }
                 }
             }
         }
     }
     if (count($folderIds) > 0) {
         $folderFilter = new Tinebase_Model_Filter_Id('folder_id', $_filterData['operator'], array_unique($folderIds));
         $folderFilter->appendFilterSql($_select, $_backend);
     }
 }