コード例 #1
0
ファイル: sendemail.php プロジェクト: rpshaw/CDash
/** Given a user check if we should send an email based on labels */
function checkEmailLabel($projectid, $userid, $buildid, $emailcategory = 62)
{
    include_once "models/labelemail.php";
    include_once "models/build.php";
    $LabelEmail = new LabelEmail();
    $LabelEmail->UserId = $userid;
    $LabelEmail->ProjectId = $projectid;
    $labels = $LabelEmail->GetLabels();
    if (count($labels) == 0) {
        return true;
    }
    $Build = new Build();
    $Build->Id = $buildid;
    $labelarray = array();
    if (check_email_category("update", $emailcategory)) {
        $labelarray['update']['errors'] = 1;
    }
    if (check_email_category("configure", $emailcategory)) {
        $labelarray['configure']['errors'] = 1;
    }
    if (check_email_category("warning", $emailcategory)) {
        $labelarray['build']['warnings'] = 1;
    }
    if (check_email_category("error", $emailcategory)) {
        $labelarray['build']['errors'] = 1;
    }
    if (check_email_category("test", $emailcategory)) {
        $labelarray['test']['errors'] = 1;
    }
    $buildlabels = $Build->GetLabels($labelarray);
    if (count(array_intersect($labels, $buildlabels)) > 0) {
        return true;
    }
    return false;
}
コード例 #2
0
ファイル: sendemail.php プロジェクト: kitware/cdash
/** Given a user check if we should send an email based on labels */
function checkEmailLabel($projectid, $userid, $buildid, $emailcategory = 62)
{
    include_once 'models/labelemail.php';
    include_once 'models/build.php';
    $LabelEmail = new LabelEmail();
    $LabelEmail->UserId = $userid;
    $LabelEmail->ProjectId = $projectid;
    $labels = $LabelEmail->GetLabels();
    if (count($labels) == 0) {
        // if the number of subscribed labels is zero we send the email
        return true;
    }
    $Build = new Build();
    $Build->Id = $buildid;
    $labelarray = array();
    if (check_email_category('update', $emailcategory)) {
        $labelarray['update']['errors'] = 1;
    }
    if (check_email_category('configure', $emailcategory)) {
        $labelarray['configure']['errors'] = 1;
    }
    if (check_email_category('warning', $emailcategory)) {
        $labelarray['build']['warnings'] = 1;
    }
    if (check_email_category('error', $emailcategory)) {
        $labelarray['build']['errors'] = 1;
    }
    if (check_email_category('test', $emailcategory)) {
        $labelarray['test']['errors'] = 1;
    }
    $buildlabels = $Build->GetLabels($labelarray);
    if (count(array_intersect($labels, $buildlabels)) > 0) {
        return true;
    }
    return false;
}
コード例 #3
0
ファイル: subscribeProject.php プロジェクト: rpshaw/CDash
 $query = pdo_query("SELECT credential,projectid FROM user2repository WHERE userid='" . $userid . "'\n                      AND (projectid='" . $projectid . "' OR projectid=0)");
 $credential_num = 0;
 while ($credential_array = pdo_fetch_array($query)) {
     if ($credential_array['projectid'] == 0) {
         $xml .= add_XML_value("global_credential", $credential_array['credential']);
     } else {
         $xml .= add_XML_value("credential_" . $credential_num++, $credential_array['credential']);
     }
 }
 $xml .= "<project>";
 $xml .= add_XML_value("id", $project_array['id']);
 $xml .= add_XML_value("name", $project_array['name']);
 $xml .= add_XML_value("emailbrokensubmission", $project_array['emailbrokensubmission']);
 $labelavailableids = $Project->GetLabels(7);
 // Get the labels for the last 7 days
 $labelids = $LabelEmail->GetLabels();
 $labelavailableids = array_diff($labelavailableids, $labelids);
 foreach ($labelavailableids as $labelid) {
     $xml .= "<label>";
     $xml .= add_XML_value("id", $labelid);
     $Label->Id = $labelid;
     $xml .= add_XML_value("text", $Label->GetText());
     $xml .= "</label>";
 }
 foreach ($labelids as $labelid) {
     $xml .= "<labelemail>";
     $xml .= add_XML_value("id", $labelid);
     $Label->Id = $labelid;
     $xml .= add_XML_value("text", $Label->GetText());
     $xml .= "</labelemail>";
 }