roundcubemail/program/lib/Roundcube/rcube_imap.php
public function set_special_folders($specials)
    {
        if (!$this->get_capability('SPECIAL-USE') || !$this->get_capability('METADATA')) {
            return false;
        }

        if (!$this->check_connection()) {
            return false;
        }

        $folders = $this->get_special_folders(true);
        $old     = (array) $this->icache['special-use'];

        foreach ($specials as $type => $folder) {
            if (in_array($type, rcube_storage::$folder_types)) {
                $old_folder = $old[$type];
                if ($old_folder !== $folder) {
                    // unset old-folder metadata
                    if ($old_folder !== null) {
                        $this->delete_metadata($old_folder, array('/private/specialuse'));
                    }
                    // set new folder metadata
                    if ($folder) {
                        $this->set_metadata($folder, array('/private/specialuse' => "\\" . ucfirst($type)));
                    }
                }
            }
        }

        $this->icache['special-use'] = $specials;
        unset($this->icache['special-folders']);

        return true;
    }
public function set_special_folders($specials)
    {
        if (!$this->get_capability('SPECIAL-USE') || !$this->get_capability('METADATA')) {
            return false;
        }

        if (!$this->check_connection()) {
            return false;
        }

        $folders = $this->get_special_folders(true);
        $old     = (array) $this->icache['special-use'];

        foreach ($specials as $type => $folder) {
            if (in_array($type, rcube_storage::$folder_types)) {
                $old_folder = $old[$type];
                if ($old_folder !== $folder) {
                    // unset old-folder metadata
                    if ($old_folder !== null) {
                        $this->delete_metadata($old_folder, array('/private/specialuse'));
                    }
                    // set new folder metadata
                    if ($folder) {
                        $this->set_metadata($folder, array('/private/specialuse' => "\\" . ucfirst($type)));
                    }
                }
            }
        }

        $this->icache['special-use'] = $specials;
        unset($this->icache['special-folders']);

        return true;
    }
public function set_special_folders ( $ specials ) { if ( ! $ this -> get_capability ( 'SPECIAL-USE' ) || ! $ this -> get_capability ( 'METADATA' ) ) { return false ; } if ( ! $ this -> check_connection ( ) ) { return false ; } $ folders = $ this -> get_special_folders ( true ) ; $ old = ( array ) $ this -> icache [ 'special-use' ] ; foreach ( $ specials as $ type => $ folder ) { if ( in_array ( $ type , rcube_storage :: $ folder_types ) ) { $ old_folder = $ old [ $ type ] ; if ( $ old_folder !== $ folder ) { // unset old-folder metadata if ( $ old_folder !== null ) { $ this -> delete_metadata ( $ old_folder , array ( '/private/specialuse' ) ) ; } // set new folder metadata if ( $ folder ) { $ this -> set_metadata ( $ folder , array ( '/private/specialuse' => "\\" . ucfirst ( $ type ) ) ) ; } } } } $ this -> icache [ 'special-use' ] = $ specials ; unset ( $ this -> icache [ 'special-folders' ] ) ; return true ; }
Set special folder associations stored in storage backend
Set special folder associations stored in storage backend