$dao = new MediawikiDao(); $update = $dao->addDatabase($schema, $this->project_id); if (!$update) { $err = 'Error: Mediawiki Database list update failed: (' . $schema . ':' . $this->project_id . ')' . mysql_error(); cron_debug($err); cron_entry(23, $err); db_rollback(); exit; } if (!db_commit()) { $err = "Error: DB Commit Failed: " . db_error(); cron_debug($err); cron_entry(23, $err); exit; } cron_debug(" Creating project dir {$project_dir}."); mkdir($project_dir, 0775, true); $f = fopen("{$project_dir}/ProjectSettings.php", "w"); fwrite($f, '<?php // Insert your project-local configuration here '); fclose($f); chmod("{$project_dir}/ProjectSettings.php", 0775); $mwwrapper = forge_get_config('source_path') . "/plugins/mediawiki/bin/mw-wrapper.php"; $dumpfile = forge_get_config('config_path') . "/mediawiki/initial-content.xml"; if (file_exists($dumpfile)) { system("{$mwwrapper} {$project} importDump.php {$dumpfile}"); system("{$mwwrapper} {$project} rebuildrecentchanges.php"); } } }
$project_res = db_query_params("SELECT g.unix_group_name,g.group_id from groups g, group_plugin gp, plugins p where g.group_id = gp.group_id and gp.plugin_id = p.plugin_id and p.plugin_name = \$1;", array("mediawiki")); if (!$project_res) { $err = "Error: Database Query Failed: " . db_error(); cron_debug($err); cron_entry(23, $err); exit; } // Loop over all projects that use the plugin while ($row = db_fetch_array($project_res)) { $project = $row['unix_group_name']; $project_id = $row['group_id']; $dump_file = forge_get_config('data_path') . "/plugins/mediawiki/dumps/{$project}.xml"; $ra = RoleAnonymous::getInstance(); if ($ra->hasPermission('plugin_mediawiki_read', $project_id)) { cron_debug("Dumping {$project}..."); $mwwrapper = forge_get_config('source_path') . "/plugins/mediawiki/bin/mw-wrapper.php"; $tmp = tempnam(forge_get_config('data_path') . "/plugins/mediawiki/dumps/", "tmp"); system("{$mwwrapper} {$project} dumpBackup.php --current --quiet > {$tmp}"); chmod($tmp, 0644); rename($tmp, $dump_file); } else { cron_debug("Not dumping {$project} (private)..."); if (file_exists($dump_file)) { unlink($dump_file); } } } // Local Variables: // mode: php // c-file-style: "bsd" // End:
if (!$project_res) { $err = "Error: Database Query Failed: " . db_error(); cron_debug($err); cron_entry(23, $err); exit; } # Loop over all projects that use the plugin while ($row = db_fetch_array($project_res)) { $project = $row['unix_group_name']; $project_dir = "{$projects_path}/{$project}"; cron_debug("Checking {$project}..."); // Create the image directory if necessary $upload_dir = "{$project_dir}/{$upload_dir_basename}"; if (!is_dir($upload_dir)) { cron_debug(" Creating upload dir {$upload_dir}."); mkdir($upload_dir, 0700); } else { cron_debug(" Upload dir {$upload_dir} exists."); } cron_debug(" Changing owner ({$dir_owner}), group ({$dir_group}) and permission (0775) of upload dir {$upload_dir}."); chown($upload_dir, $dir_owner); chgrp($upload_dir, $dir_group); chmod($upload_dir, 0775); } } else { cron_debug("Mediawiki uploads not enabled, quitting create-imagedirs.php!"); } // Local Variables: // mode: php // c-file-style: "bsd" // End: