private function make_directory_writable($path) { // provides fileop class. require_once AWPCP_DIR . '/fileop.class.php'; $previous_umask = umask(0); $fileop = new fileop(); if (!$fileop->set_permission($path, $this->get_default_directory_mode())) { $message = __('There was a problem trying to make directory <directory-name> writable.', 'AWPCP'); $message = str_replace('<directory-name>', awpcp_utf8_basename($path), $message); throw new AWPCP_Exception($message); } umask($previous_umask); return $path; }
/** * Verifies the upload directories exists and have proper permissions, then * returns the path to the directories to store raw files and image thumbnails. * * @since 3.0.2 * @deprecated 3.4 */ function awpcp_get_uploads_directories() { static $uploads_directories = null; if (is_null($uploads_directories)) { global $wpcontentdir; $permissions = awpcp_directory_permissions(); $upload_dir_name = get_awpcp_option('uploadfoldername', 'uploads'); $upload_dir = $wpcontentdir . '/' . $upload_dir_name . '/'; // Required to set permission on main upload directory require_once AWPCP_DIR . '/fileop.class.php'; $fileop = new fileop(); $owner = fileowner($wpcontentdir); if (!is_dir($upload_dir) && is_writable($wpcontentdir)) { umask(0); mkdir($upload_dir, $permissions); chown($upload_dir, $owner); } $fileop->set_permission($upload_dir, $permissions); $files_dir = $upload_dir . 'awpcp/'; $thumbs_dir = $upload_dir . 'awpcp/thumbs/'; if (!is_dir($files_dir) && is_writable($upload_dir)) { umask(0); @mkdir($files_dir, $permissions); @chown($files_dir, $owner); } if (!is_dir($thumbs_dir) && is_writable($upload_dir)) { umask(0); @mkdir($thumbs_dir, $permissions); @chown($thumbs_dir, $owner); } $fileop->set_permission($files_dir, $permissions); $fileop->set_permission($thumbs_dir, $permissions); $uploads_directories = array('files_dir' => $files_dir, 'thumbnails_dir' => $thumbs_dir); } return $uploads_directories; }