Beispiel #1
0
        $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");
        }
    }
}
Beispiel #2
0
$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: