######################################################################## # Method: delete_element # Use: Deletes an element from an existing package # Created: 07/27/1998 MLN ######################################################################## sub delete_element { local ($element_name) = $in{"element_name"}; local ($pkg_name) = $in{"pkg_name"}; &rm_element($pkg_name, $element_name); &shorten_bibfile($BIBFILE,"ELEMENT",$element_name); &http_header("text/plain"); print "delete_element: element $pkg_name/$element_name deleted\n"; &log("delete_element","OK","element $pkg_name/$element_name deleted"); } ######################################################################## # Method: rm_element # Use: "rm"s an element from a package # Created: 08/19/1998 MLN ######################################################################## sub rm_element { local($package,$element) = @_; if (-d "$package/$element") { # element is a directory. do the equivalent of "rm -rf" opendir(D,"$package/$element"); unlink(grep(!/^\.\.?$/,readdir(D))); close (D); rmdir("$package/$element"); } elsif (-f "$package/$element") { # element is a regular file unlink("$package/$element"); } else { # other types of elements? } } 1;