/** * Update "target_folder" to use settings from "source_folder". * If "creating" is set, the settings are being created and the target folder * should be updated to reflect the new setting. * @param FOLDER $target_folder * @param FOLDER $source_folder * @param boolean $creating * @access private */ protected function _update_folder($target_folder, $source_folder, $creating) { $field_name = $this->_field_name; if ($this->create_history_item_for_self || $target_folder->id != $this->_folder->id) { $history_item = $target_folder->new_history_item(); if ($target_folder->visible()) { $history_item->kind = History_item_updated; } else { $history_item->kind = History_item_hidden_update; } $history_item->title = $this->_history_item_title($creating); $history_item->record_difference($this->_history_item_description($creating, $source_folder)); $history_item->store(); } $target_folder->{$field_name} = $source_folder->id; $target_folder->store(); }