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; }
} $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 = "";
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"); }