/** 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; }
/** 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; }
$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>"; }