Example #1
0
function CanvassAssignNonPledging($groupName, $iFYID)
{
    $rsCanvassers = CanvassGetCanvassers($groupName);
    // Get all the families which need canvassing
    $sSQL = "SELECT *, a.per_FirstName AS CanvasserFirstName, a.per_LastName AS CanvasserLastName FROM family_fam \n\t         LEFT JOIN person_per a ON fam_Canvasser = a.per_ID\n\t\t\t WHERE fam_OkToCanvass=\"TRUE\" ORDER BY RAND()";
    $rsFamilies = RunQuery($sSQL);
    $numFamilies = 0;
    while ($aFamily = mysql_fetch_array($rsFamilies)) {
        // Get pledges for this fiscal year, this family
        $sSQL = "SELECT plg_Amount FROM pledge_plg \n\t\t\t\t WHERE plg_FYID = " . $iFYID . " AND plg_PledgeOrPayment=\"Pledge\" AND plg_FamID = " . $aFamily["fam_ID"] . " ORDER BY plg_Amount DESC";
        $rsPledges = RunQuery($sSQL);
        $pledgeCount = mysql_num_rows($rsPledges);
        if ($pledgeCount == 0) {
            ++$numFamilies;
            if (!($aCanvasser = mysql_fetch_array($rsCanvassers))) {
                mysql_data_seek($rsCanvassers, 0);
                $aCanvasser = mysql_fetch_array($rsCanvassers);
            }
            $sSQL = "UPDATE family_fam SET fam_Canvasser=" . $aCanvasser["per_ID"] . " WHERE fam_ID= " . $aFamily["fam_ID"];
            RunQuery($sSQL);
        }
    }
    $ret = sprintf(gettext("Canvassers assigned at random to %d non-pledging families."), $numFamilies);
    return $ret;
}
Example #2
0
    }
    $sSQL = "SELECT fam_ID FROM family_fam WHERE fam_ID = " . $iFamilyID;
    if (mysql_num_rows(RunQuery($sSQL)) == 0) {
        Redirect("Menu.php");
        exit;
    }
} elseif (!$_SESSION['bAddRecords']) {
    Redirect("Menu.php");
    exit;
}
// Get the list of funds
$sSQL = "SELECT fun_ID,fun_Name,fun_Description,fun_Active FROM donationfund_fun WHERE fun_Active = 'true'";
$rsFunds = RunQuery($sSQL);
// Get the lists of canvassers
$rsCanvassers = CanvassGetCanvassers(gettext("Canvassers"));
$rsBraveCanvassers = CanvassGetCanvassers(gettext("BraveCanvassers"));
// Get the list of custom person fields
$sSQL = "SELECT family_custom_master.* FROM family_custom_master ORDER BY fam_custom_Order";
$rsCustomFields = RunQuery($sSQL);
$numCustomFields = mysql_num_rows($rsCustomFields);
// Get Field Security List Matrix
$sSQL = "SELECT * FROM list_lst WHERE lst_ID = 5 ORDER BY lst_OptionSequence";
$rsSecurityGrp = RunQuery($sSQL);
while ($aRow = mysql_fetch_array($rsSecurityGrp)) {
    extract($aRow);
    $aSecurityType[$lst_OptionID] = $lst_OptionName;
}
$bErrorFlag = false;
$sNameError = "";
$sEmailError = "";
$sWeddingDateError = "";
Example #3
0
function CanvassProgressReport($iFYID)
{
    // Instantiate the directory class and build the report.
    $pdf = new PDF_CanvassBriefingReport();
    // Read in report settings from database
    $rsConfig = mysql_query("SELECT cfg_name, IFNULL(cfg_value, cfg_default) AS value FROM config_cfg WHERE cfg_section='ChurchInfoReport'");
    if ($rsConfig) {
        while (list($cfg_name, $cfg_value) = mysql_fetch_row($rsConfig)) {
            $pdf->{$cfg_name} = $cfg_value;
        }
    }
    $curY = 10;
    $pdf->SetFont('Times', '', 24);
    $pdf->WriteAt($pdf->leftX, $curY, "Canvass Progress Report " . date("Y-m-d"));
    $pdf->SetFont('Times', '', 14);
    $curY += 10;
    $pdf->SetFont('Times', '', 12);
    $pdf->WriteAt($pdf->leftX, $curY, $pdf->sChurchName);
    $curY += $pdf->incrementY;
    $pdf->WriteAt($pdf->leftX, $curY, $pdf->sChurchAddress);
    $curY += $pdf->incrementY;
    $pdf->WriteAt($pdf->leftX, $curY, $pdf->sChurchCity . ", " . $pdf->sChurchState . "  " . $pdf->sChurchZip);
    $curY += $pdf->incrementY;
    $pdf->WriteAt($pdf->leftX, $curY, $pdf->sChurchPhone . "  " . $pdf->sChurchEmail);
    $curY += 10;
    $pdf->SetFont('Times', '', 14);
    $nameX = 20;
    $doneX = 70;
    $toDoX = 85;
    $percentX = 110;
    $pdf->SetFont('Times', 'B', 14);
    $pdf->WriteAt($nameX, $curY, "Name");
    $pdf->WriteAt($doneX, $curY, "Done");
    $pdf->WriteAt($toDoX, $curY, "Assigned");
    $pdf->WriteAt($percentX, $curY, "Percent");
    $pdf->SetFont('Times', '', 14);
    $curY += 6;
    $totalToDo = 0;
    $totalDone = 0;
    // Get all the canvassers
    $canvassGroups = array('Canvassers', 'BraveCanvassers');
    foreach ($canvassGroups as $cgName) {
        $rsCanvassers = CanvassGetCanvassers(gettext($cgName));
        if ($rsCanvassers == 0) {
            continue;
        }
        while ($aCanvasser = mysql_fetch_array($rsCanvassers)) {
            // Get all the families for this canvasser
            $sSQL = "SELECT fam_ID from family_fam WHERE fam_Canvasser = " . $aCanvasser["per_ID"];
            $rsCanvassees = RunQuery($sSQL);
            $thisCanvasserToDo = mysql_num_rows($rsCanvassees);
            $thisCanvasserDone = 0;
            while ($aCanvassee = mysql_fetch_array($rsCanvassees)) {
                // Get all the canvass input entered so far by this canvasser
                $sSQL = "SELECT can_ID from canvassdata_can WHERE can_famID=" . $aCanvassee["fam_ID"] . " AND can_FYID=" . $iFYID;
                $rsCanvassData = RunQuery($sSQL);
                if (mysql_num_rows($rsCanvassData) == 1) {
                    ++$thisCanvasserDone;
                }
            }
            $totalToDo += $thisCanvasserToDo;
            $totalDone += $thisCanvasserDone;
            // Write the status output line for this canvasser
            $pdf->WriteAt($nameX, $curY, $aCanvasser["per_FirstName"] . " " . $aCanvasser["per_LastName"]);
            $pdf->WriteAt($doneX, $curY, $thisCanvasserDone);
            $pdf->WriteAt($toDoX, $curY, $thisCanvasserToDo);
            if ($thisCanvasserToDo > 0) {
                $percentStr = sprintf("%.0f%%", $thisCanvasserDone / $thisCanvasserToDo * 100);
            } else {
                $percentStr = "N/A";
            }
            $pdf->WriteAt($percentX, $curY, $percentStr);
            $curY += 6;
        }
    }
    // Summary status
    $pdf->SetFont('Times', 'B', 14);
    $pdf->WriteAt($nameX, $curY, "Total");
    $pdf->WriteAt($doneX, $curY, $totalDone);
    $pdf->WriteAt($toDoX, $curY, $totalToDo);
    $percentStr = sprintf("%.0f%%", $totalDone / $totalToDo * 100);
    $pdf->WriteAt($percentX, $curY, $percentStr);
    $pdf->Output("CanvassProgress" . date("Ymd") . ".pdf", "D");
}