? modules/cvslog/cvs.txt ? modules/cvslog/dif cvs diff: Diffing modules/cvslog Index: modules/cvslog/cvs.module =================================================================== RCS file: /cvs/drupal-contrib/contributions/modules/cvslog/cvs.module,v retrieving revision 1.138 diff -u -p -r1.138 cvs.module --- modules/cvslog/cvs.module 10 Jan 2007 09:48:22 -0000 1.138 +++ modules/cvslog/cvs.module 10 Jan 2007 09:58:39 -0000 @@ -453,11 +453,12 @@ function cvs_nodeapi(&$node, $op, $arg = break; case 'validate': if ($node->title) { + $admin = user_access('administer projects'); $project = !empty($node->nid) ? node_load($node->nid) : NULL; if (!empty($node->cvs_repository) && !db_num_rows(db_query('SELECT * FROM {cvs_repositories} WHERE rid=%d', $node->cvs_repository))) { form_set_error('cvs_repository', t('You must select a valid CVS repository.')); } - if (!user_access('administer projects') && $project && $node->cvs_repository != $project->cvs_repository) { + if (!$admin && $project && $node->cvs_repository != $project->cvs_repository) { form_set_error('cvs_repository', t('You do not have permission to modify the CVS repository for this project.')); } if (empty($node->cvs_repository)) { @@ -478,7 +479,6 @@ function cvs_nodeapi(&$node, $op, $arg = else if (preg_match('/\/\//', $node->cvs_directory)) { form_set_error('cvs_directory', t("The path of the CVS directory cannot contain two slashes next to each other '//'.")); } - else if (substr($node->cvs_directory, 0, 1) != '/') { form_set_error('cvs_directory', t('The path of the CVS directory should start with a slash.')); } @@ -488,7 +488,7 @@ function cvs_nodeapi(&$node, $op, $arg = else if (db_result(db_query("SELECT nid FROM {cvs_projects} WHERE nid != %d AND rid = %d AND directory = '%s'", $node->nid, $node->cvs_repository, $node->cvs_directory))) { form_set_error('cvs_directory', t('The specified CVS directory conflicts with that of an existing project.')); } - else { + else if (!$admin) { $path_elems = explode('/', $node->cvs_directory); // Remove empty elements caused by the trailing and leading '/'. $path_elems = array_filter($path_elems); cvs diff: Diffing modules/cvslog/xcvs