roundcubemail/plugins/archive/archive.php
private function subfolder_worker($folder)
    {
        $storage   = rcmail::get_instance()->get_storage();
        $delimiter = $storage->get_hierarchy_delimiter();

        if ($this->folders === null) {
            $this->folders = $storage->list_folders('', $archive_folder . '*', 'mail', null, true);
        }

        if (!in_array($folder, $this->folders)) {
            $path = explode($delimiter, $folder);

            // we'll create all folders in the path
            for ($i=0; $i<count($path); $i++) {
                $_folder = implode($delimiter, array_slice($path, 0, $i+1));
                if (!in_array($_folder, $this->folders)) {
                    if ($storage->create_folder($_folder, true)) {
                        $this->result['reload'] = true;
                        $this->folders[] = $_folder;
                    }
                }
            }
        }
    }
private function subfolder_worker($folder)
    {
        $storage   = rcmail::get_instance()->get_storage();
        $delimiter = $storage->get_hierarchy_delimiter();

        if ($this->folders === null) {
            $this->folders = $storage->list_folders('', $archive_folder . '*', 'mail', null, true);
        }

        if (!in_array($folder, $this->folders)) {
            $path = explode($delimiter, $folder);

            // we'll create all folders in the path
            for ($i=0; $i<count($path); $i++) {
                $_folder = implode($delimiter, array_slice($path, 0, $i+1));
                if (!in_array($_folder, $this->folders)) {
                    if ($storage->create_folder($_folder, true)) {
                        $this->result['reload'] = true;
                        $this->folders[] = $_folder;
                    }
                }
            }
        }
    }
private function subfolder_worker ( $ folder ) { $ storage = rcmail :: get_instance ( ) -> get_storage ( ) ; $ delimiter = $ storage -> get_hierarchy_delimiter ( ) ; if ( $ this -> folders === null ) { $ this -> folders = $ storage -> list_folders ( '' , $ archive_folder . '*' , 'mail' , null , true ) ; } if ( ! in_array ( $ folder , $ this -> folders ) ) { $ path = explode ( $ delimiter , $ folder ) ; // we'll create all folders in the path for ( $ i = 0 ; $ i < count ( $ path ) ; $ i ++ ) { $ _folder = implode ( $ delimiter , array_slice ( $ path , 0 , $ i + 1 ) ) ; if ( ! in_array ( $ _folder , $ this -> folders ) ) { if ( $ storage -> create_folder ( $ _folder , true ) ) { $ this -> result [ 'reload' ] = true ; $ this -> folders [ ] = $ _folder ; } } } } }
Create archive subfolder if it doesn't yet exist
Create archive subfolder if it doesn t yet exist