mirror of https://github.com/BOINC/boinc.git
215 lines
6.3 KiB
PHP
215 lines
6.3 KiB
PHP
<?php
|
|
|
|
// This is a sample project file.
|
|
// Modify it to suit your project.
|
|
// Put your version in html/project/project.inc
|
|
// add tra() around visible strings to make them translatable
|
|
// see inc/translation.inc and http://boinc.berkeley.edu/trac/wiki/TranslateProject for Details
|
|
|
|
require_once("../inc/util.inc");
|
|
|
|
$master_url = parse_config(get_config(), "<master_url>");
|
|
define("PROJECT", "REPLACE WITH PROJECT NAME");
|
|
define("URL_BASE", $master_url);
|
|
define("IMAGE_PATH", "../user_profile/images/");
|
|
define("IMAGE_URL", "user_profile/images/");
|
|
define("PROFILE_PATH", "../user_profile/");
|
|
define("PROFILE_URL", "user_profile/");
|
|
define("LANGUAGE_FILE", "languages.txt");
|
|
define("STYLESHEET", "white.css");
|
|
//define("STYLESHEET2", "xxx.css");
|
|
define("FORUM_QA_MERGED_MODE", false); // Set to true to merge Message boards and Q&A section
|
|
define("COPYRIGHT_HOLDER", "REPLACE WITH COPYRIGHT HOLDER");
|
|
define("SYS_ADMIN_EMAIL", "admin@$master_url");
|
|
define("UOTD_ADMIN_EMAIL", "admin@$master_url");
|
|
// who gets user of the day pool running low e-mails?
|
|
//define("MEMCACHE_SERVERS", "127.0.0.1:11211");
|
|
|
|
// Email addresses separated by pipe ( | ) that will receive user reported
|
|
// offensive forum posts.
|
|
define("POST_REPORT_EMAILS", "moderator1@$master_url|moderator2@$master_url");
|
|
|
|
// If you use PHPMailer, uncomment the following
|
|
// and complete the function definition based on your SMTP server
|
|
// (not all fields may be needed)
|
|
//
|
|
if (0) {
|
|
function make_php_mailer() {
|
|
$mail = new PHPMailer();
|
|
$mail->IsSMTP();
|
|
//$mail->Mailer = 'smtp';
|
|
$mail->SMTPAuth = true;
|
|
$mail->SMTPSecure = "tls";
|
|
$mail->Host = "smtp.gmail.com";
|
|
$mail->Port = 587;
|
|
$mail->Username = "john.doe@gmail.com";
|
|
$mail->Password = "xxx";
|
|
// Google's application-specific password,
|
|
// if you are using the 2-Step Verification: 16 characters, no spaces.
|
|
// OR: Put here the regular Gmail password if you are not using the
|
|
// 2-Step Verification with your Gmail account.
|
|
// See https://support.google.com/accounts/answer/185833?hl=en";
|
|
$mail->SetFrom('admin@boincproject.com', 'John Doe');
|
|
$mail->AddReplyTo("admin@boincproject.com", "John Doe");
|
|
$mail->From = "admin@boincproject.com";
|
|
return $mail;
|
|
}
|
|
}
|
|
|
|
function project_banner($title, $prefix) {
|
|
// Put your project title and logo here
|
|
// If you include any links, prepend URL with $prefix
|
|
|
|
echo "<div class=\"page_title\">$title</div>";
|
|
}
|
|
|
|
function project_footer($show_return, $show_date, $prefix) {
|
|
// If you include any links, prepend URL with $prefix
|
|
echo "<br><hr noshade size=1><center>";
|
|
if ($show_return) {
|
|
echo "<a href=".$prefix."index.php>".tra("Main page")."</a> · <a href=".$prefix."home.php>".tra("Your account")."</a> · <a href=".$prefix."forum_index.php>".tra("Message boards")."</a><br>\n";
|
|
}
|
|
echo "<br><br>".tra("Copyright")." © ".gmdate("Y ").COPYRIGHT_HOLDER."</center>\n";
|
|
if ($show_date) {
|
|
$t = time_str(time());
|
|
echo "<p class=\"text-muted\">".tra("Generated")." $t</p>\n";
|
|
}
|
|
}
|
|
|
|
// Authorize access to administrative pages.
|
|
// You can check for login, IP address, or whatever you want.
|
|
//
|
|
function auth_ops_example() {
|
|
// if running from cmdline, skip checks
|
|
//
|
|
if (!$_SERVER['REMOTE_ADDR']) {
|
|
return;
|
|
}
|
|
|
|
// example: require login as a particular user (id 1 in this case)
|
|
//
|
|
if (0) {
|
|
auth_ops_userid(array(1));
|
|
return;
|
|
}
|
|
|
|
// example: require that logged-in user have ADMIN or DEV flags
|
|
// set in their forum_prefs.privilege
|
|
//
|
|
if (0) {
|
|
auth_ops_privilege();
|
|
return;
|
|
}
|
|
}
|
|
|
|
function show_profile_heading1() {
|
|
return tra("Your personal background.");
|
|
}
|
|
|
|
function show_profile_question1() {
|
|
return tra("Tell us about yourself. You could tell us where you're from, your age, occupation, hobbies, or anything else about yourself.");
|
|
}
|
|
|
|
function show_profile_heading2() {
|
|
return tra("Your opinions about %1", PROJECT);
|
|
}
|
|
|
|
function show_profile_question2() {
|
|
return tra("Tell us your thoughts about %1<ol>
|
|
<li>Why do you run %1?
|
|
<li>What are your views about the project?
|
|
<li>Any suggestions?
|
|
</ol>", PROJECT);
|
|
}
|
|
|
|
function project_workunit($wu){
|
|
// shown in the workunit page
|
|
}
|
|
|
|
function project_user_summary($user){
|
|
// shown in the user summary page
|
|
}
|
|
|
|
function project_user_page_private($user){
|
|
// shown in the private account page
|
|
}
|
|
|
|
if (0) {
|
|
|
|
// show project-specific credit on user/team pages
|
|
//
|
|
function show_app_credit_user($user, $app_name, $appids) {
|
|
$t = 0;
|
|
$a = 0;
|
|
$n = 0;
|
|
foreach ($appids as $appid) {
|
|
$cu = BoincCreditUser::lookup(
|
|
"userid=$user->id and appid=$appid and credit_type=0"
|
|
);
|
|
if ($cu) {
|
|
$t += $cu->total;
|
|
$a += $cu->expavg;
|
|
$n += $cu->njobs;
|
|
}
|
|
}
|
|
row2("$app_name credit",
|
|
format_credit_large($t)." total, ".
|
|
format_credit($a)." average".
|
|
" ($n tasks)"
|
|
);
|
|
}
|
|
function show_app_credit_team($team, $app_name, $appids) {
|
|
$t = 0;
|
|
$a = 0;
|
|
$n = 0;
|
|
foreach ($appids as $appid) {
|
|
$ct = BoincCreditTeam::lookup(
|
|
"teamid=$team->id and appid=$appid and credit_type=0"
|
|
);
|
|
if ($ct) {
|
|
$t += $ct->total;
|
|
$a += $ct->expavg;
|
|
$n += $ct->njobs;
|
|
}
|
|
}
|
|
row2("$app_name credit",
|
|
format_credit_large($t)." total, ".
|
|
format_credit($a)." average".
|
|
" ($n tasks)"
|
|
);
|
|
}
|
|
|
|
// a list of "sub-projects", used in the display of per-app credit and badges.
|
|
// A subproject is:
|
|
// - a set of 1 or more apps; an app can belong to at most 1 subproject.
|
|
// - a name, shown on the web site
|
|
// - a short name, used in badge names. Don't use "total".
|
|
//
|
|
$sub_projects = array(
|
|
array("name" => "Remote Test", "short_name" => "RT", "appids" => array(16)),
|
|
array("name" => "Uppercase", "short_name" => "UC", "appids" => array(1, 25)),
|
|
);
|
|
|
|
function project_user_credit($user){
|
|
global $sub_projects;
|
|
foreach ($sub_projects as $sp) {
|
|
show_app_credit_user($user, $sp["name"], $sp["appids"]);
|
|
}
|
|
}
|
|
|
|
function project_team_credit($team) {
|
|
global $sub_projects;
|
|
foreach ($sub_projects as $sp) {
|
|
show_app_credit_team($team, $sp["name"], $sp["appids"]);
|
|
}
|
|
}
|
|
|
|
} // if(0)
|
|
|
|
function project_forum_post_rules() {
|
|
// additional forum post rules
|
|
return "";
|
|
}
|
|
|
|
?>
|