示例#1
0
function ErrorMessage($errors, $code = 'error')
{
    if ($errors) {
        $return = "<TABLE border=0><TR><TD align=left>";
        if (count($errors) == 1) {
            if ($code == 'error' || $code == 'fatal') {
                $return .= '<b><font color=#CC0000>' . Localize('colon', _('Error')) . '</font></b> ';
            } else {
                $return .= '<b><font color=#00CC00>' . Localize('colon', _('Note')) . '</font></b> ';
            }
            $return .= $errors[0] ? $errors[0] : $errors[1];
        } else {
            if ($code == 'error' || $code == 'fatal') {
                $return .= "<b><font color=#CC0000>" . Localize('colon', _('Errors')) . "</font></b>";
            } else {
                $return .= '<b><font color=#00CC00>' . Localize('colon', _('Note')) . '</font></b>';
            }
            $return .= '<ul>';
            foreach ($errors as $value) {
                $return .= "<LI><font size=-1>{$value}</font></LI>\n";
            }
            $return .= '</ul>';
        }
        $return .= "</TD></TR></TABLE><br>";
        if ($code == 'fatal') {
            echo $return;
            if (!$_REQUEST['_CENTRE_PDF']) {
                Warehouse('footer');
            }
            exit;
        }
        return $return;
    }
}
示例#2
0
function MyWidgets($item)
{
    global $extra, $_CENTRE;
    switch ($item) {
        case 'birthmonth':
            $options = array('1' => _('January'), '2' => _('February'), '3' => _('March'), '4' => _('April'), '5' => _('May'), '6' => _('June'), '7' => _('July'), '8' => _('August'), '9' => _('September'), '10' => _('October'), '11' => _('November'), '12' => _('December'));
            if ($_REQUEST['birthmonth']) {
                $extra['SELECT'] .= ",to_char(s.CUSTOM_200000004,'Mon DD') AS BIRTHMONTH";
                $extra['WHERE'] .= " AND extract(month from s.CUSTOM_200000004)='{$_REQUEST['birthmonth']}'";
                $extra['columns_after']['BIRTHMONTH'] = _('Birth Month Day');
                if (!$extra['NoSearchTerms']) {
                    $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Birth Month')) . ' </b></font>' . $options[$_REQUEST['birthmonth']] . '<BR>';
                }
            }
            $extra['search'] .= '<TR><TD align=right width=120>' . _('Birth Month') . '</TD><TD><SELECT name=birthmonth><OPTION value="">' . _('N/A');
            foreach ($options as $key => $val) {
                $extra['search'] .= '<OPTION value="' . $key . '">' . $val;
            }
            $extra['search'] .= '</SELECT></TD></TR>';
            break;
    }
}
function MyWidgets($item)
{
    global $extra, $_ROSARIO;
    switch ($item) {
        case 'birthmonth':
            $options = array('1' => _('January'), '2' => _('February'), '3' => _('March'), '4' => _('April'), '5' => _('May'), '6' => _('June'), '7' => _('July'), '8' => _('August'), '9' => _('September'), '10' => _('October'), '11' => _('November'), '12' => _('December'));
            if ($_REQUEST['birthmonth']) {
                $extra['SELECT'] .= ",to_char(s.CUSTOM_200000004,'Mon DD') AS BIRTHMONTH";
                $extra['WHERE'] .= " AND extract(month from s.CUSTOM_200000004)='{$_REQUEST['birthmonth']}'";
                $extra['columns_after']['BIRTHMONTH'] = _('Birth Month');
                if (!$extra['NoSearchTerms']) {
                    $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', _('Birth Month')) . ' </b></span>' . $options[$_REQUEST['birthmonth']] . '<BR />';
                }
            }
            $extra['search'] .= '<TR><TD style="text-align:right; width:120px:"><label for="birthmonth">' . _('Birth Month') . '</label></TD><TD><SELECT name="birthmonth" id="birthmonth"><OPTION value="">' . _('N/A');
            foreach ($options as $key => $val) {
                $extra['search'] .= '<OPTION value="' . $key . '">' . $val;
            }
            $extra['search'] .= '</SELECT></TD></TR>';
            break;
        case 'birthday':
            $options = array('1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9', '10' => '10', '11' => '11', '12' => '12', '13' => '13', '14' => '14', '15' => '15', '16' => '16', '17' => '17', '18' => '18', '19' => '19', '20' => '20', '21' => '21', '22' => '22', '23' => '23', '24' => '24', '25' => '25', '26' => '26', '27' => '27', '28' => '28', '29' => '29', '30' => '30', '31' => '31');
            if ($_REQUEST['birthday']) {
                $extra['SELECT'] .= ",to_char(s.CUSTOM_200000004,'DD') AS BIRTHDAY";
                $extra['WHERE'] .= " AND extract(day from s.CUSTOM_200000004)='{$_REQUEST['birthday']}'";
                $extra['columns_after']['BIRTHDAY'] = _('Birth Day');
                if (!$extra['NoSearchTerms']) {
                    $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', _('Birth Day')) . ' </b></span>' . $options[$_REQUEST['birthday']] . '<BR />';
                }
            }
            $extra['search'] .= '<TR><TD style="text-align:right; width:120px:"><label for="birthday">' . _('Birth Day') . '</label></TD><TD><SELECT name="birthday" id="birthday"><OPTION value="">' . _('N/A');
            foreach ($options as $key => $val) {
                $extra['search'] .= '<OPTION value="' . $key . '">' . $val;
            }
            $extra['search'] .= '</SELECT></TD></TR>';
            break;
    }
}
示例#4
0
function _makeExtra($value, $title = '')
{
    global $THIS_RET;
    if ($THIS_RET['WITH_TEACHER_ID']) {
        $return .= Localize('colon', _('With')) . '&nbsp;' . GetTeacher($THIS_RET['WITH_TEACHER_ID']) . '<BR>';
    }
    if ($THIS_RET['NOT_TEACHER_ID']) {
        $return .= Localize('colon', _('Not With')) . '&nbsp;' . GetTeacher($THIS_RET['NOT_TEACHER_ID']) . '<BR>';
    }
    if ($THIS_RET['WITH_PERIOD_ID']) {
        $return .= Localize('colon', _('On')) . '&nbsp;' . GetPeriod($THIS_RET['WITH_PERIOD_ID']) . '<BR>';
    }
    if ($THIS_RET['NOT_PERIOD_ID']) {
        $return .= Localize('colon', _('Not On')) . '&nbsp;' . GetPeriod($THIS_RET['NOT_PERIOD_ID']) . '<BR>';
    }
    if ($THIS_RET['PRIORITY']) {
        $return .= Localize('colon', _('Priority')) . '&nbsp;' . $THIS_RET['PRIORITY'] . '<BR>';
    }
    if ($THIS_RET['MARKING_PERIOD_ID']) {
        $return .= Localize('colon', _('Marking Period')) . '&nbsp;' . GetMP($THIS_RET['MARKING_PERIOD_ID']) . '<BR>';
    }
    return $return;
}
function ErrorMessage($errors, $code = 'error')
{
    if ($errors) {
        //modif Francois: css WPadmin
        if (count($errors) == 1) {
            if ($code == 'error' || $code == 'fatal') {
                $return .= '<div class="error"><p><IMG SRC="assets/x.png" class="alignImg">&nbsp;<b>' . Localize('colon', _('Error')) . '</b> ';
            } else {
                $return .= '<div class="updated"><p><b>' . Localize('colon', _('Note')) . '</b> ';
            }
            $return .= ($errors[0] ? $errors[0] : $errors[1]) . '</p>';
        } else {
            if ($code == 'error' || $code == 'fatal') {
                $return .= '<div class="error"><p><IMG SRC="assets/x.png" class="alignImg">&nbsp;<b>' . Localize('colon', _('Errors')) . "</b></p>";
            } else {
                $return .= '<div class="updated"><p>&nbsp;<b>' . Localize('colon', _('Note')) . '</b></p>';
            }
            $return .= '<ul>';
            foreach ($errors as $value) {
                $return .= '<LI><span class="size-1">' . $value . '</span></LI>' . "\n";
            }
            $return .= '</ul>';
        }
        $return .= '</div><BR />';
        if ($code == 'fatal') {
            echo $return;
            if (!isset($_REQUEST['_ROSARIO_PDF'])) {
                Warehouse('footer');
            } else {
                global $print_data;
                PDFStop($print_data);
            }
            exit;
        }
        return $return;
    }
}
示例#6
0
function MyWidgets($item)
{
    global $extra, $_CENTRE;
    switch ($item) {
        case 'ly_course':
            if ($_REQUEST['w_ly_course_period_id']) {
                if ($_REQUEST['w_ly_course_period_id_which'] == 'course') {
                    $course = DBGet(DBQuery("SELECT c.TITLE AS COURSE_TITLE,cp.TITLE,cp.COURSE_ID FROM COURSE_PERIODS cp,COURSES c WHERE c.COURSE_ID=cp.COURSE_ID AND cp.COURSE_PERIOD_ID='" . $_REQUEST['w_ly_course_period_id'] . "'"));
                    $extra['WHERE'] .= " AND exists(SELECT '' FROM SCHEDULE WHERE STUDENT_ID=ssm.STUDENT_ID AND COURSE_ID='" . $course[1]['COURSE_ID'] . "')";
                    if (!$extra['NoSearchTerms']) {
                        $_CENTRE['SearchTerms'] .= '<font color=gray><b>Last Year Course: </b></font>' . $course[1]['COURSE_TITLE'] . '<BR>';
                    }
                } else {
                    $extra['WHERE'] .= " AND exists(SELECT '' FROM SCHEDULE WHERE STUDENT_ID=ssm.STUDENT_ID AND COURSE_PERIOD_ID='" . $_REQUEST['w_ly_course_period_id'] . "')";
                    $course = DBGet(DBQuery("SELECT c.TITLE AS COURSE_TITLE,cp.TITLE,cp.COURSE_ID FROM COURSE_PERIODS cp,COURSES c WHERE c.COURSE_ID=cp.COURSE_ID AND cp.COURSE_PERIOD_ID='" . $_REQUEST['w_ly_course_period_id'] . "'"));
                    if (!$extra['NoSearchTerms']) {
                        $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Last Year Course Period')) . ' </b></font>' . $course[1]['COURSE_TITLE'] . ' - ' . $course[1]['TITLE'] . '<BR>';
                    }
                }
            }
            $extra['search'] .= "<TR><TD align=right width=120>" . _('Last Year Course') . "</TD><TD><DIV id=ly_course_div></DIV> <A HREF=# onclick='window.open(\"Modules.php?modname=misc/ChooseCourse.php&last_year=true\",\"\",\"scrollbars=yes,resizable=yes,width=800,height=400\");'><SMALL>" . _('Choose') . "</SMALL></A></TD></TR>";
            break;
    }
}
function MyWidgets($item)
{
    global $extra, $_ROSARIO;
    switch ($item) {
        case 'ly_course':
            if ($_REQUEST['w_ly_course_period_id']) {
                if ($_REQUEST['w_ly_course_period_id_which'] == 'course') {
                    $course = DBGet(DBQuery("SELECT c.TITLE AS COURSE_TITLE,cp.TITLE,cp.COURSE_ID FROM COURSE_PERIODS cp,COURSES c WHERE c.COURSE_ID=cp.COURSE_ID AND cp.COURSE_PERIOD_ID='" . $_REQUEST['w_ly_course_period_id'] . "'"));
                    $extra['WHERE'] .= " AND exists(SELECT '' FROM SCHEDULE WHERE STUDENT_ID=ssm.STUDENT_ID AND COURSE_ID='" . $course[1]['COURSE_ID'] . "')";
                    if (!$extra['NoSearchTerms']) {
                        $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>Last Year Course: </b></span>' . $course[1]['COURSE_TITLE'] . '<BR />';
                    }
                } else {
                    $extra['WHERE'] .= " AND exists(SELECT '' FROM SCHEDULE WHERE STUDENT_ID=ssm.STUDENT_ID AND COURSE_PERIOD_ID='" . $_REQUEST['w_ly_course_period_id'] . "')";
                    $course = DBGet(DBQuery("SELECT c.TITLE AS COURSE_TITLE,cp.TITLE,cp.COURSE_ID FROM COURSE_PERIODS cp,COURSES c WHERE c.COURSE_ID=cp.COURSE_ID AND cp.COURSE_PERIOD_ID='" . $_REQUEST['w_ly_course_period_id'] . "'"));
                    if (!$extra['NoSearchTerms']) {
                        $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', _('Last Year Course Period')) . ' </b></span>' . $course[1]['COURSE_TITLE'] . ' - ' . $course[1]['TITLE'] . '<BR />';
                    }
                }
            }
            $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Last Year Course') . '</TD><TD><DIV id="ly_course_div"></DIV> <A HREF="#" onclick=\'window.open("Modules.php?modname=misc/ChooseCourse.php&last_year=true","","scrollbars=yes,resizable=yes,width=800,height=400");\'>' . _('Choose') . '</A></TD></TR>';
            break;
    }
}
示例#8
0
function BuildViewer($forDwf = true)
{
    global $debug, $webLayoutDefinition, $cmds, $locale;
    global $sessionId, $username, $password, $orgSessionId;
    global $mapName;
    global $product;
    SetLocalizedFilesPath(GetLocalizationPath());
    try {
        // Initialize web tier with the site configuration file.
        InitializeWebTier();
        //fetch the parameters for this request
        //
        GetRequestParameters();
        //Open a connection with the server
        //
        $createSession = true;
        $cred = new MgUserInformation();
        if ($sessionId != '') {
            $cred->SetMgSessionId($sessionId);
            $createSession = false;
        } else {
            if ($username != '') {
                $cred->SetMgUsernamePassword($username, $password);
            } else {
                requestAuthentication();
                return;
            }
        }
        $site = new MgSiteConnection();
        $cred->SetLocale($locale);
        $cred->SetClientIp(GetClientIp());
        $cred->SetClientAgent(GetClientAgent());
        $site->Open($cred);
        if ($createSession) {
            $site1 = $site->GetSite();
            $sessionId = $site1->CreateSession();
            if ($forDwf == false) {
                $orgSessionId = $sessionId;
            }
        }
        //Get a MgWebLayout object initialized with the specified web layout definition
        //
        $webLayout = null;
        try {
            $resourceSrvc = $site->CreateService(MgServiceType::ResourceService);
            $webLayoutId = new MgResourceIdentifier($webLayoutDefinition);
            $webLayout = new MgWebLayout($resourceSrvc, $webLayoutId);
        } catch (MgUnauthorizedAccessException $e) {
            requestAuthentication();
            return;
        } catch (MgException $e) {
            $shortError = $e->GetExceptionMessage();
            $longErrorMsg = EscapeForHtml($e->GetDetails());
            header("HTTP/1.1 559 ");
            header('Content-Type: text/html; charset=utf-8');
            header("Status: 559 {$shortError}");
            echo "<html>\n<body>\n";
            echo $longErrorMsg;
            echo "</body>\n</html>\n";
            return;
        }
        //calculate the size of the variable elements of the viewer
        //
        $toolBar = $webLayout->GetToolBar();
        $statusBar = $webLayout->GetStatusBar();
        $taskPane = $webLayout->GetTaskPane();
        $infoPane = $webLayout->GetInformationPane();
        $taskBar = $taskPane->GetTaskBar();
        $mapDef = $webLayout->GetMapDefinition();
        $startupScriptCode = $webLayout->GetStartupScript();
        $selectionColor = $webLayout->GetSelectionColor();
        $mapImgFormat = $webLayout->GetMapImageFormat();
        $selImgFormat = $webLayout->GetSelectionImageFormat();
        $pointBuffer = $webLayout->GetPointSelectionBuffer();
        $showTaskPane = $taskPane->IsVisible();
        $showTaskBar = $taskBar->IsVisible();
        $showStatusbar = $statusBar->IsVisible();
        $showToolbar = $toolBar->IsVisible();
        $taskPaneWidth = $taskPane->GetWidth();
        $toolbarHeight = 30;
        $taskbarHeight = 30;
        $statusbarHeight = 26;
        $taskWidth = $showTaskPane ? $taskPaneWidth : 0;
        $toolbarHeight = $showToolbar ? $toolbarHeight : 0;
        $taskbarHeight = $showTaskBar ? $taskbarHeight : 0;
        $statusbarHeight = $showStatusbar ? $statusbarHeight : 0;
        //Encode the initial url so that it does not trip any sub-frames (especially if this url has parameters)
        $taskPaneUrl = urlencode($taskPane->GetInitialTaskUrl());
        $vpath = GetSurroundVirtualPath();
        $defHome = false;
        if ($taskPaneUrl == "") {
            $taskPaneUrl = "gettingstarted.php";
            $defHome = true;
        }
        $mapDefinitionUrl = urlencode($mapDef);
        // NOTE:
        //
        // We don't open a MgMap because it is being created by mapframe.php that is also probably running
        // as this script is running. However the naming convention is fixed enough that we can figure out
        // what to pass to the Task Pane
        $resId = new MgResourceIdentifier($mapDef);
        $mapName = $resId->GetName();
        $title = $webLayout->GetTitle();
        $enablePingServer = $webLayout->GetEnablePingServer();
        $showLegend = $infoPane->IsLegendBandVisible();
        $showProperties = $infoPane->IsPropertiesBandVisible();
        if ($showLegend || $showProperties) {
            if ($infoPane->IsVisible()) {
                $infoWidth = $infoPane->GetWidth();
                if ($infoWidth < 5) {
                    $infoWidth = 5;
                }
                //ensure visible
            } else {
                $showProperties = $showLegend = false;
                $infoWidth = 0;
            }
        } else {
            $infoWidth = 0;
        }
        //calculate the url of the inner pages
        //
        $srcToolbar = $showToolbar ? 'src="' . $vpath . 'toolbar.php?LOCALE=' . $locale . '"' : '';
        $srcStatusbar = $showStatusbar ? 'src="' . $vpath . 'statusbar.php?LOCALE=' . $locale . '"' : "";
        $srcTaskFrame = $showTaskPane ? 'src="' . $vpath . 'taskframe.php?MAPNAME=' . $mapName . '&WEBLAYOUT=' . urlencode($webLayoutDefinition) . '&DWF=' . ($forDwf ? "1" : "0") . '&SESSION=' . ($sessionId != "" ? $sessionId : "") . '&LOCALE=' . $locale . '"' : '';
        $srcTaskBar = 'src="' . $vpath . 'taskbar.php?LOCALE=' . $locale . '"';
        //view center
        //
        $ptCenter = $webLayout->GetCenter();
        if ($ptCenter == null) {
            $center = "null";
        } else {
            $coord = $ptCenter->GetCoordinate();
            $center = sprintf("new Point(%f, %f)", $coord->GetX(), $coord->GetY());
        }
        //Process commands and declare command objects
        //
        $commands = $webLayout->GetCommands();
        $cmdObjects = "";
        $cmdObject = "";
        $navCmdIndex = 0;
        $searchCmdIndex = 0;
        $measureCmdIndex = 0;
        $printCmdIndex = 0;
        $scriptCmdIndex = 0;
        $userCode = "";
        $userCodeCalls = "\nswitch(funcIndex)\n{\n";
        $selAwareCmdCount = 0;
        $selAwareCmds = "";
        for ($i = 0; $i < $commands->GetCount(); $i++) {
            $cmd = $commands->GetItem($i);
            if (!$cmd->IsUsed()) {
                continue;
            }
            $tgtViewer = $cmd->GetTargetViewerType();
            if (($tgtViewer == MgWebTargetViewerType::Dwf) != ($forDwf == true) && $tgtViewer != MgWebTargetViewerType::All) {
                continue;
            }
            $name = $cmd->GetName();
            $action = $cmd->GetAction();
            if ($action == MgWebActions::Search) {
                $cols = "var resCols" . $searchCmdIndex . " = new Array();\n";
                if ($cmd->GetResultColumnCount() > 0) {
                    for ($j = 0; $j < $cmd->GetResultColumnCount(); $j++) {
                        $col = sprintf("resCols%d[%d] = new ResultColumn(\"%s\", \"%s\");\n", $searchCmdIndex, $j, StrEscape($cmd->GetColumnDisplayNameAt($j)), StrEscape($cmd->GetColumnPropertyNameAt($j)));
                        $cols = $cols . $col;
                    }
                }
                $cmdObjects = $cmdObjects . $cols;
                // declare a new search command object
                $cmdObject = sprintf("commands[%d] = new SearchCommand(\"%s\", \"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", resCols%d, \"%s\", %d, %d, \"%s\");\n", $i, StrEscape($name), StrEscape($cmd->GetLabel()), $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()), $cmd->GetLayer(), StrEscape($cmd->GetPrompt()), $searchCmdIndex, StrEscape($cmd->GetFilter()), $cmd->GetMatchLimit(), $cmd->GetTarget(), $cmd->GetTargetName());
                $searchCmdIndex++;
            } else {
                if ($action == MgWebActions::InvokeUrl) {
                    // create the parameter objects
                    $params = "var navParams" . $navCmdIndex . " = new Array();\n";
                    $layers = "var layers" . $navCmdIndex . " = new Array();\n";
                    if ($cmd->GetParameterCount() > 0) {
                        for ($j = 0; $j < $cmd->GetParameterCount(); $j++) {
                            $param = sprintf("navParams%d[%d] = new NavParam(\"%s\", \"%s\");\n", $navCmdIndex, $j, $cmd->GetParameterNameAt($j), $cmd->GetParameterValueAt($j));
                            $params = $params . $param;
                        }
                    }
                    for ($j = 0; $j < $cmd->GetLayerCount(); $j++) {
                        $layer = sprintf("layers%d[%d] = \"%s\";\n", $navCmdIndex, $j, $cmd->GetLayerNameAt($j));
                        $layers = $layers . $layer;
                    }
                    $cmdObjects = $cmdObjects . $params . $layers;
                    if ($cmd->DisabledIfSelectionEmpty() || $cmd->GetLayerCount() > 0) {
                        $selAwareCmds = $selAwareCmds . sprintf("selectionAwareCmds[%d] = %d;\n", $selAwareCmdCount, $i);
                        $selAwareCmdCount++;
                    }
                    // declare a new invokeurl command object
                    $cmdObject = sprintf("commands[%d] = new InvokeUrlCommand(\"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", navParams%d, %s, layers%d, %d, \"%s\");\n", $i, StrEscape($name), $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()), $cmd->GetUrl(), $navCmdIndex, $cmd->DisabledIfSelectionEmpty() ? "true" : "false", $navCmdIndex, $cmd->GetTarget(), $cmd->GetTargetName());
                    $navCmdIndex++;
                } else {
                    if ($action == MgWebActions::Buffer || $action == MgWebActions::SelectWithin || $action == MgWebActions::Measure || $action == MgWebActions::ViewOptions || $action == MgWebActions::GetPrintablePage) {
                        if ($action == MgWebActions::Measure) {
                            if ($measureCmdIndex != 0) {
                                throw new Exception(GetLocalizedString("ALREADYINMEASURE", $locale));
                            }
                            $measureCmdIndex = $i;
                        } else {
                            if ($action == MgWebActions::SelectWithin) {
                                $selAwareCmds = $selAwareCmds . sprintf("selectionAwareCmds[%d] = %d;\n", $selAwareCmdCount, $i);
                                $selAwareCmdCount++;
                            }
                        }
                        // declare a new ui target command object
                        $cmdObject = sprintf("commands[%d] = new UiTargetCommand(\"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\", %d, \"%s\");\n", $i, StrEscape($name), $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()), $cmd->GetTarget(), $cmd->GetTargetName());
                    } else {
                        if ($action == MgWebActions::Help) {
                            // declare a new help  command object
                            $cmdObject = sprintf("commands[%d] = new HelpCommand(\"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\", \"%s\", %d, \"%s\");\n", $i, StrEscape($name), $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()), $cmd->GetUrl(), $cmd->GetTarget(), $cmd->GetTargetName());
                        } else {
                            if ($action == MgWebActions::PrintMap) {
                                // declare the print layouts
                                $layouts = "var layouts" . $printCmdIndex . " = new Array();\n";
                                for ($j = 0; $j < $cmd->GetPrintLayoutCount(); $j++) {
                                    $layout = "";
                                    $layout = sprintf("layouts%d[%d] = \"%s\";\n", $printCmdIndex, $j, $cmd->GetPrintLayoutAt($j));
                                    $layouts = $layouts . $layout;
                                }
                                $cmdObjects = $cmdObjects . $layouts;
                                // declare a new print command object
                                $cmdObject = sprintf("commands[%d] = new PrintCommand(\"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\", layouts%d);\n", $i, StrEscape($name), $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()), $printCmdIndex);
                                $printCmdIndex++;
                            } else {
                                if ($action == MgWebActions::InvokeScript) {
                                    // declare a new basic command object
                                    $cmdObject = sprintf("commands[%d] = new InvokeScriptCommand(\"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\", %d);\n", $i, StrEscape($name), $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()), $scriptCmdIndex);
                                    $userCode = $userCode . "\nfunction UserFunc" . $scriptCmdIndex . "()\n{\n" . $cmd->GetScriptCode() . "\n}\n";
                                    $userCodeCalls = $userCodeCalls . sprintf("case %d: UserFunc%d(); break;\n", $scriptCmdIndex, $scriptCmdIndex);
                                    $scriptCmdIndex++;
                                } else {
                                    // declare a new basic command object
                                    $cmdObject = sprintf("commands[%d] = new BasicCommand(\"%s\", %d, \"%s\", \"%s\", \"%s\", \"%s\");\n", $i, $name, $cmd->GetAction(), $cmd->GetIconUrl(), $cmd->GetDisabledIconUrl(), StrEscape($cmd->GetTooltip()), StrEscape($cmd->GetDescription()));
                                }
                            }
                        }
                    }
                }
            }
            $cmdObjects = $cmdObjects . $cmdObject;
            $cmds[$name] = $i;
        }
        $userCodeCalls = $userCodeCalls . "\n}\n";
        //Declare toolbar items
        //
        $toolbarDef = DeclareUiItems($toolBar->GetWidgets(), "toolbarItems");
        //Declare task items
        $taskListDef = DeclareUiItems($taskBar->GetTaskList(), "taskItems");
        //Declare context menu items
        $ctxMenu = $webLayout->GetContextMenu();
        if ($ctxMenu->IsVisible()) {
            $ctxMenuDef = DeclareUiItems($ctxMenu, "ctxMenuItems");
        } else {
            $ctxMenuDef = "";
        }
        //task items texts
        //
        $taskItemTexts = "";
        $taskButtons = $taskBar->GetTaskButtons();
        for ($i = 0; $i < 4; $i++) {
            $btn = $taskButtons->GetWidget($i);
            if ($i > 0) {
                $taskItemTexts = $taskItemTexts . ",";
            }
            $taskItemTexts = $taskItemTexts . '"' . StrEscape($btn->GetName()) . '",' . '"' . StrEscape($btn->GetTooltip()) . '",' . '"' . StrEscape($btn->GetDescription()) . '",' . '"' . StrEscape($btn->GetIconUrl()) . '",' . '"' . StrEscape($btn->GetDisabledIconUrl()) . '"';
        }
        //transmit the session to the map pane if one was specified to this request
        if ($orgSessionId != "") {
            $sessionParam = "&SESSION=" . $orgSessionId;
        } else {
            $sessionParam = "";
        }
        //load the frameset template and format it
        $frameset = "";
        $viewerType = $forDwf ? "DWF" : "HTML";
        if ($showTaskBar) {
            $frameSetTempl = file_get_contents("../viewerfiles/framesettaskbar.templ");
            $frameset = sprintf($frameSetTempl, $statusbarHeight, $taskWidth, $toolbarHeight, $srcToolbar, $vpath . "mapframe.php", $mapDefinitionUrl, $viewerType, $showLegend ? 1 : 0, $showProperties ? 1 : 0, $infoWidth, $locale, $webLayout->GetHyperlinkTarget(), $webLayout->GetHyperlinkTargetFrame(), $webLayout->IsZoomControlVisible() ? 1 : 0, $selectionColor, $mapImgFormat, $selImgFormat, $pointBuffer, $sessionParam, $vpath . "formframe.php", $taskbarHeight + 1, $srcTaskBar, $srcTaskFrame, $srcStatusbar);
        } else {
            $frameSetTempl = file_get_contents("../viewerfiles/framesetnotaskbar.templ");
            $frameset = sprintf($frameSetTempl, $toolbarHeight, $statusbarHeight, $srcToolbar, $taskWidth, $vpath . "mapframe.php", $mapDefinitionUrl, $viewerType, $showLegend ? 1 : 0, $showProperties ? 1 : 0, $infoWidth, $locale, $webLayout->GetHyperlinkTarget(), $webLayout->GetHyperlinkTargetFrame(), $webLayout->IsZoomControlVisible() ? 1 : 0, $selectionColor, $mapImgFormat, $selImgFormat, $pointBuffer, $sessionParam, $srcTaskFrame, $vpath . "formframe.php", $srcStatusbar);
        }
        $homePageUrl = urldecode($taskPaneUrl);
        if (strlen($homePageUrl) < 8 || strncasecmp($homePageUrl, "http://", 7) != 0) {
            $homePageUrl = $vpath . $homePageUrl;
        }
        //load the HTML template and format it
        //
        $templ = Localize(file_get_contents("../viewerfiles/mainframe.templ"), $locale, GetClientOS());
        print sprintf($templ, $title, GetRootVirtualFolder() . "/mapagent/mapagent.fcgi", $enablePingServer ? 1 : 0, $site->GetSite()->GetSessionTimeout(), $locale, $showToolbar ? 1 : 0, $showStatusbar ? 1 : 0, $showTaskPane ? 1 : 0, $showTaskPane ? 0 : ($showTaskBar ? 1 : 0), $homePageUrl, $defHome ? "1" : "0", $webLayoutDefinition, $mapDef, $taskWidth, $center, $webLayout->GetScale(), StrEscape($title), $forDwf ? "1" : "0", $cmdObjects, $toolbarDef, $taskListDef, $ctxMenuDef, $userCode, $taskItemTexts, $selAwareCmds, $startupScriptCode, $vpath . "quickplotpanel.php", $vpath . "measureui.php", $vpath . "searchprompt.php", $vpath . "bufferui.php", $vpath . "selectwithinui.php", $userCodeCalls, $vpath . "viewoptions.php", $frameset);
    } catch (MgUserNotFoundException $e) {
        requestAuthentication();
    } catch (MgAuthenticationFailedException $e) {
        requestAuthentication();
    } catch (MgException $e) {
        // This should be a 500 error of some sort, but
        // in order to give a nice custom error message, it looks as
        // if we shortcut things by using a 200 status.
        $shortError = $e->GetExceptionMessage();
        $longErrorMsg = EscapeForHtml($e->GetDetails());
        header("HTTP/1.1 200 ");
        header('Content-Type: text/html; charset=utf-8');
        header("Status: 200 {$shortError}");
        echo "<html>\n<body>\n";
        echo $longErrorMsg;
        echo "</body>\n</html>\n";
    } catch (Exception $ne) {
        $errorMsg = EscapeForHtml($ne->GetMessage());
        echo $errorMsg;
    }
}
function StaffWidgets($item, &$myextra = NULL)
{
    global $extra, $_ROSARIO, $RosarioModules;
    if (isset($myextra)) {
        $extra =& $myextra;
    }
    if (!is_array($_ROSARIO['StaffWidgets'])) {
        $_ROSARIO['StaffWidgets'] = array();
    }
    if (!is_array($extra['functions'])) {
        $extra['functions'] = array();
    }
    if ((User('PROFILE') == 'admin' || User('PROFILE') == 'teacher') && !$_ROSARIO['StaffWidgets'][$item]) {
        switch ($item) {
            case 'all':
                //modif Francois: css WPadmin
                //				$extra['search'] .= '<TR><TD>';
                $extra['search'] .= '<TR><TD><TABLE style="border-collapse:separate; border-spacing:2px" class="width-100p cellpadding-2">';
                if ($RosarioModules['Users'] && !$_ROSARIO['StaffWidgets']['permissions']) {
                    $extra['search'] .= '<TR><TD colspan="2">&nbsp;<A onclick="switchMenu(\'users_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="users_table_arrow" height="12"> <B>' . _('Users') . '</B></A><BR /><TABLE id="users_table" style="display:none;" class="widefat width-100p cellspacing-0">';
                    StaffWidgets('permissions', $extra);
                    $extra['search'] .= '</TABLE></TD></TR>';
                }
                if ($RosarioModules['Food_Service'] && (!$_ROSARIO['StaffWidgets']['fsa_balance'] || !$_ROSARIO['StaffWidgets']['fsa_status'] || !$_ROSARIO['StaffWidgets']['fsa_barcode'])) {
                    $extra['search'] .= '<TR><TD colspan="2">&nbsp;<A onclick="switchMenu(\'food_service_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="food_service_table_arrow" height="12"> <B>' . _('Food Service') . '</B></A><BR /><TABLE id="food_service_table" style="display:none;" class="widefat width-100p cellspacing-0">';
                    StaffWidgets('fsa_balance', $extra);
                    StaffWidgets('fsa_status', $extra);
                    StaffWidgets('fsa_barcode', $extra);
                    StaffWidgets('fsa_exists', $extra);
                    $extra['search'] .= '</TABLE></TD></TR>';
                }
                $extra['search'] .= '</TABLE></TD></TR>';
                break;
            case 'user':
                $widgets_RET = DBGet(DBQuery("SELECT TITLE FROM PROGRAM_USER_CONFIG WHERE USER_ID='" . User('STAFF_ID') . "' AND PROGRAM='StaffWidgetsSearch'" . (count($_ROSARIO['StaffWidgets']) ? " AND TITLE NOT IN ('" . implode("','", array_keys($_ROSARIO['StaffWidgets'])) . "')" : '')));
                foreach ($widgets_RET as $widget) {
                    StaffWidgets($widget['TITLE'], $extra);
                }
                break;
            case 'permissions_Y':
            case 'permissions_N':
                $value = mb_substr($item, 12);
                $item = 'permissions';
            case 'permissions':
                if ($RosarioModules['Users']) {
                    if ($_REQUEST['permissions']) {
                        $extra['WHERE'] .= " AND s.PROFILE_ID IS " . ($_REQUEST['permissions'] == 'Y' ? 'NOT' : '') . " NULL AND s.PROFILE!='none'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', _('Permissions')) . ' </b></span>' . ($_REQUEST['permissions'] == 'Y' ? _('Profile') : _('Custom')) . '<BR />';
                        }
                    }
                    //modif Francois: add <label> on radio
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Permissions') . '</TD><TD><label><INPUT type="radio" name="permissions" value=""' . (!$value ? ' checked' : '') . '> ' . _('All') . '</label> &nbsp;<label><INPUT type="radio" name="permissions" value="Y"' . ($value == 'Y' ? ' checked' : '') . '> ' . _('Profile') . '</label> &nbsp;<label><INPUT type="radio" name="permissions" value="N"' . ($value == 'N' ? ' checked' : '') . '> ' . _('Custom') . '</label></TD></TR>';
                }
                break;
            case 'fsa_balance_warning':
                $value = $GLOBALS['warning'];
                $item = 'fsa_balance';
            case 'fsa_balance':
                if ($RosarioModules['Food_Service']) {
                    if ($_REQUEST['fsa_balance'] != '') {
                        if (!mb_strpos($extra['FROM'], 'fssa')) {
                            $extra['FROM'] .= ',FOOD_SERVICE_STAFF_ACCOUNTS fssa';
                            $extra['WHERE'] .= ' AND fssa.STAFF_ID=s.STAFF_ID';
                        }
                        $extra['WHERE'] .= " AND fssa.BALANCE" . ($_REQUEST['fsa_bal_gt'] == 'Y' ? '>=' : '<') . "'" . round($_REQUEST['fsa_balance'], 2) . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', _('Food Service Balance')) . ' </b></span><span class="sizep2">' . ($_REQUEST['fsa_bal_ge'] == 'Y' ? '&ge;' : '&lt;') . '</span>' . number_format($_REQUEST['fsa_balance'], 2) . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Balance') . '</TD><TD><table class="cellpadding-0 cellspacing-0"><tr><td><label><span class="sizep2">&lt;</span> <INPUT type="radio" name="fsa_bal_ge" value="" checked /></label></td><td rowspan="2"><INPUT type="text" name="fsa_balance" size="10"' . ($value ? ' value="' . $value . '"' : '') . '></td></tr><tr><td><label><span class="sizep2">&ge;</span> <INPUT type="radio" name="fsa_bal_ge" value="Y"></label></td></tr></table></TD></TR>';
                }
                break;
            case 'fsa_status_active':
                $value = 'active';
                $item = 'fsa_status';
            case 'fsa_status':
                if ($RosarioModules['Food_Service']) {
                    if ($_REQUEST['fsa_status']) {
                        if (!mb_strpos($extra['FROM'], 'fssa')) {
                            $extra['FROM'] .= ',FOOD_SERVICE_STAFF_ACCOUNTS fssa';
                            $extra['WHERE'] .= ' AND fssa.STAFF_ID=s.STAFF_ID';
                        }
                        if ($_REQUEST['fsa_status'] == 'Active') {
                            $extra['WHERE'] .= ' AND fssa.STATUS IS NULL';
                        } else {
                            $extra['WHERE'] .= ' AND fssa.STATUS=\'' . $_REQUEST['fsa_status'] . '\'';
                        }
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', _('Food Service Status')) . ' </b></span>' . $_REQUEST['fsa_status'] . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Account Status') . '</TD><TD><SELECT name="fsa_status"><OPTION value="">' . _('Not Specified') . '</OPTION><OPTION value="Active"' . ($value == 'active' ? ' SELECTED="SELECTED"' : '') . '>' . _('Active') . '</OPTION><OPTION value="Inactive">' . _('Inactive') . '</OPTION><OPTION value="Disabled">' . _('Disabled') . '</OPTION><OPTION value="Closed">' . _('Closed') . '</OPTION></SELECT></TD></TR>';
                }
                break;
            case 'fsa_barcode':
                if ($RosarioModules['Food_Service']) {
                    if ($_REQUEST['fsa_barcode']) {
                        if (!mb_strpos($extra['FROM'], 'fssa')) {
                            $extra['FROM'] .= ',FOOD_SERVICE_STAFF_ACCOUNTS fssa';
                            $extra['WHERE'] .= ' AND fssa.STAFF_ID=s.STAFF_ID';
                        }
                        $extra['WHERE'] .= ' AND fssa.BARCODE=\'' . $_REQUEST['fsa_barcode'] . '\'';
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', _('Food Service Barcode')) . ' </b></span>' . $_REQUEST['fsa_barcode'] . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Barcode') . '</TD><TD><INPUT type="text" name="fsa_barcode" size="15"></TD></TR>';
                }
                break;
            case 'fsa_exists_N':
            case 'fsa_exists_Y':
                $value = mb_substr($item, 11);
                $item = 'fsa_exists';
            case 'fsa_exists':
                if ($RosarioModules['Food_Service']) {
                    if ($_REQUEST['fsa_exists']) {
                        $extra['WHERE'] .= ' AND ' . ($_REQUEST['fsa_exists'] == 'N' ? 'NOT ' : '') . 'EXISTS (SELECT \'exists\' FROM FOOD_SERVICE_STAFF_ACCOUNTS WHERE STAFF_ID=s.STAFF_ID)';
                        if (!$extra['NoSearchTerms']) {
                            //modif Francois: add translation
                            $_ROSARIO['SearchTerms'] .= Localize('colon', _('Food Service Account Exists')) . ' ' . ($_REQUEST['fsa_exists'] == 'Y' ? _('Yes') : _('No')) . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Has Account') . '</TD><TD><label><INPUT type="radio" name="fsa_exists" value=""' . (!$value ? ' checked' : '') . '>' . _('All') . '</label> <label><INPUT type="radio" name="fsa_exists" value="Y"' . ($value == 'Y' ? ' checked' : '') . '>' . _('Yes') . '</label> <label><INPUT type="radio" name="fsa_exists" value="N"' . ($value == 'N' ? ' checked' : '') . '>' . _('No') . '</label></TD></TR>';
                }
                break;
        }
        $_ROSARIO['StaffWidgets'][$item] = true;
    }
}
示例#10
0
function _makePublishing($value, $name)
{
    global $THIS_RET, $profiles_RET;
    if ($THIS_RET['ID']) {
        $id = $THIS_RET['ID'];
    } else {
        $id = 'new';
    }
    //modif Francois: remove LO_field
    $return = '<TABLE class="cellpadding-0 cellspacing-0"><TR><TD><b>' . Localize('colon', _('Visible Between')) . '</b></TD><TD style="text-align:right">';
    $return .= DateInput($value, "values[{$id}][{$name}]") . '</TD><TD> ' . _('to') . ' </TD><TD>';
    $return .= DateInput($THIS_RET['END_DATE'], "values[{$id}][END_DATE]") . '</TD></TR>';
    //modif Francois: css WPadmin
    $return .= '<TR><TD colspan="4" style="padding:0">';
    if (!$profiles_RET) {
        $profiles_RET = DBGet(DBQuery("SELECT ID,TITLE FROM USER_PROFILES ORDER BY ID WHERE"));
    }
    $return .= '<TABLE class="width-100p cellspacing-0 cellpadding-0"><TR><TD colspan="4"><b>' . Localize('colon', _('Visible To')) . '</b></TD></TR><TR>';
    foreach (array('admin' => _('Administrator w/Custom'), 'teacher' => _('Teacher w/Custom'), 'parent' => _('Parent w/Custom')) as $profile_id => $profile) {
        //modif Francois: add <label> on checkbox
        $return .= '<TD><label><INPUT type="checkbox" name="profiles[$id][' . $profile_id . ']" value="Y"' . (mb_strpos($THIS_RET['PUBLISHED_PROFILES'], ",{$profile_id},") !== false ? ' checked' : '') . ' /> ' . $profile . '</label></TD>';
    }
    //modif Francois: Portal Polls add students teacher
    $teachers_RET = DBGet(DBQuery("SELECT STAFF_ID,LAST_NAME,FIRST_NAME,MIDDLE_NAME FROM STAFF WHERE (SCHOOLS IS NULL OR STRPOS(SCHOOLS,'," . UserSchool() . ",')>0) AND SYEAR='" . UserSyear() . "' AND PROFILE='teacher' ORDER BY LAST_NAME,FIRST_NAME"));
    if (count($teachers_RET)) {
        foreach ($teachers_RET as $teacher) {
            $teachers[$teacher['STAFF_ID']] = $teacher['LAST_NAME'] . ', ' . $teacher['FIRST_NAME'];
        }
    }
    $i = 0;
    foreach ($profiles_RET as $profile) {
        $i++;
        if ($profile['ID'] == 0) {
            //student
            $return .= '</TR><TR>';
        }
        $return .= '<TD><label><INPUT type="checkbox" name="profiles[' . $id . '][' . $profile['ID'] . ']" value="Y"' . (mb_strpos($THIS_RET['PUBLISHED_PROFILES'], ",{$profile['ID']},") !== false ? ' checked' : '') . ' /> ' . _($profile['TITLE']);
        //modif Francois: Portal Polls add students teacher
        if ($profile['ID'] == 0) {
            $return .= ': </label></TD>';
            $return .= '<TD colspan="2">' . SelectInput($THIS_RET['STUDENTS_TEACHER_ID'], 'values[' . $id . '][STUDENTS_TEACHER_ID]', _('Limit to Teacher'), $teachers, true, '', true) . '</TD>';
            $i = $i + 2;
        } else {
            $return .= '</label></TD>';
        }
        if ($i % 3 == 0 && $i != count($profile)) {
            $return .= '</TR><TR>';
        }
    }
    for (; $i % 3 != 0; $i++) {
        $return .= '<TD>&nbsp;</TD>';
    }
    $return .= '</TR>';
    $return .= '</TABLE>';
    $return .= '</TD></TR></TABLE>';
    return $return;
}
function _makePeriod($value, $column)
{
    global $THIS_RET;
    return ($value ? Localize('colon', _('On')) . ' ' . GetPeriod($value) : '') . ($THIS_RET['NOT_PERIOD_ID'] ? ($value ? '<BR />' : '') . Localize('colon', _('Not on')) . ' ' . GetPeriod($THIS_RET['NOT_PERIOD_ID']) : '');
}
示例#12
0
function appendSQL($sql, $extra = array())
{
    global $_ROSARIO;
    if ($_REQUEST['stuid']) {
        //modif Francois: allow comma separated list of student IDs
        $stuid_array = explode(',', $_REQUEST['stuid']);
        $stuids = array();
        foreach ($stuid_array as $stuid) {
            if (is_numeric($stuid)) {
                $stuids[] = $stuid;
            }
        }
        if (!empty($stuids)) {
            $stuids = implode(',', $stuids);
            //$sql .= " AND ssm.STUDENT_ID IN '".$_REQUEST['stuid']."'";
            $sql .= " AND ssm.STUDENT_ID IN (" . $stuids . ")";
            if (!$extra['NoSearchTerms']) {
                $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', _('RosarioSIS ID')) . ' </b></span>' . $stuids . '<BR />';
            }
        }
    }
    if ($_REQUEST['last']) {
        $sql .= " AND LOWER(s.LAST_NAME) LIKE '" . mb_strtolower($_REQUEST['last']) . "%'";
        if (!$extra['NoSearchTerms']) {
            $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', _('Last Name starts with')) . ' </b></span>' . str_replace("''", "'", $_REQUEST['last']) . '<BR />';
        }
    }
    if ($_REQUEST['first']) {
        $sql .= " AND LOWER(s.FIRST_NAME) LIKE '" . mb_strtolower($_REQUEST['first']) . "%'";
        if (!$extra['NoSearchTerms']) {
            $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', _('First Name starts with')) . ' </b></span>' . str_replace("''", "'", $_REQUEST['first']) . '<BR />';
        }
    }
    if ($_REQUEST['grade']) {
        $sql .= " AND ssm.GRADE_ID = '{$_REQUEST['grade']}'";
        if (!$extra['NoSearchTerms']) {
            $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', _('Grade Level')) . ' </b></span>' . GetGrade($_REQUEST['grade']) . '<BR />';
        }
    }
    if (count($_REQUEST['grades'])) {
        if (!$extra['NoSearchTerms']) {
            $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', ngettext('Grade', 'Grades', sizeof($_REQUEST['grades']))) . ' </b></span>' . ($_REQUEST['grades_not'] == 'Y' ? _('Excluded') . ' ' : '');
        }
        $list = $sep = '';
        foreach ($_REQUEST['grades'] as $id => $y) {
            $list .= "{$sep}'{$id}'";
            if (!$extra['NoSearchTerms']) {
                $_ROSARIO['SearchTerms'] .= $sep . GetGrade($id);
            }
            $sep = ',';
        }
        if (!$extra['NoSearchTerms']) {
            $_ROSARIO['SearchTerms'] .= '<BR />';
        }
        $sql .= " AND ssm.GRADE_ID " . ($_REQUEST['grades_not'] == 'Y' ? 'NOT ' : '') . " IN ({$list})";
    }
    if ($_REQUEST['addr']) {
        $sql .= " AND (LOWER(a.ADDRESS) LIKE '%" . mb_strtolower($_REQUEST['addr']) . "%' OR LOWER(a.CITY) LIKE '" . mb_strtolower($_REQUEST['addr']) . "%' OR LOWER(a.STATE)='" . mb_strtolower($_REQUEST['addr']) . "' OR ZIPCODE LIKE '" . $_REQUEST['addr'] . "%')";
        if (!$extra['NoSearchTerms']) {
            $_ROSARIO['SearchTerms'] .= '<span style="color:gray"><b>' . Localize('colon', _('Address contains')) . ' </b></span>' . str_replace("''", "'", $_REQUEST['addr']) . '<BR />';
        }
    }
    return $sql;
}
示例#13
0
function reminder($student, $teacher, $xstudents, $target, $last_deposit, $note)
{
    $payment = $target - $student['BALANCE'];
    if ($_REQUEST['year_end'] == 'Y') {
        $payment = floor($payment * 2 + 0.99) / 2;
    }
    if ($payment <= 0) {
        return;
    }
    $payment = number_format($payment, 2);
    echo '<TABLE class="width-100p">';
    echo '<TR><TD colspan="3" class="center"><span class="sizep1"><I><B>* * * ' . ($_REQUEST['year_end'] == 'Y' ? _('Year End') . ' ' : '') . _('Lunch Payment Reminder') . ' * * *</B></I></span></TD></TR>';
    echo '<TR><TD colspan="3" class="center"><B>' . $student['SCHOOL'] . '</B></TD></TR>';
    echo '<TR><TD style="width:33%;">';
    echo ($student['NICKNAME'] ? $student['NICKNAME'] : $student['FIRST_NAME']) . ' ' . $student['LAST_NAME'] . '<BR />';
    echo '' . $student['STUDENT_ID'] . '';
    if (count($xstudents)) {
        echo '<BR />' . Localize('colon', _('Other students on this account'));
        foreach ($xstudents as $xstudent) {
            echo '<BR />&nbsp;&nbsp;' . ($xstudent['NICKNAME'] ? $xstudent['NICKNAME'] : $xstudent['FIRST_NAME']) . ' ' . $xstudent['LAST_NAME'];
        }
        echo '';
    }
    echo '</TD><TD style="width:33%;">';
    echo $student['GRADE'] . '<BR />';
    echo 'Grade';
    echo '</TD><TD style="width:33%;">';
    echo $teacher['FULL_NAME'] . '<BR />';
    echo '' . $teacher['TITLE'] . ' ' . _('Teacher') . '';
    echo '</TD></TR>';
    echo '<TR><TD style="width:33%;">';
    echo ProperDate(DBDate()) . '<BR />';
    echo '' . _('Today\'s Date') . '';
    echo '</TD><TD style="width:34%;">';
    echo ($last_deposit ? $last_deposit['DATE'] : _('None')) . '<BR />';
    echo '' . _('Date of Last Deposit') . '';
    echo '</TD><TD style="width:33%;">';
    echo ($last_deposit ? $last_deposit['AMOUNT'] : _('None')) . '<BR />';
    echo '' . _('Amount of Last Deposit') . '';
    echo '</TD></TR>';
    echo '<TR><TD style="width:33%;">';
    echo ($student['BALANCE'] < 0 ? '<B>' . Currency($student['BALANCE']) . '</B>' : Currency($student['BALANCE'])) . '<BR />';
    echo '' . _('Balance') . '';
    echo '</TD><TD style="width:34%;">';
    echo '<B>' . Currency($payment) . '</B><BR />';
    echo '<B>' . ($_REQUEST['year_end'] == 'Y' ? _('Requested Payment') : _('Mimimum Payment')) . ' </B>';
    echo '</TD><TD style="width:33%;">';
    echo $student['ACCOUNT_ID'] . '<BR />';
    echo '' . _('Account ID') . '';
    echo '</TD></TR>';
    $note = str_replace('%N', $student['NICKNAME'] ? $student['NICKNAME'] : $student['FIRST_NAME'], $note);
    $note = str_replace('%F', $student['FIRST_NAME'], $note);
    $note = str_replace('%g', $student['GENDER'] ? mb_substr($student['GENDER'], 0, 1) == 'F' ? 'she' : 'he' : 'he/she', $note);
    $note = str_replace('%G', $student['GENDER'] ? mb_substr($student['GENDER'], 0, 1) == 'F' ? 'She' : 'He' : 'He/she', $note);
    $note = str_replace('%h', $student['GENDER'] ? mb_substr($student['GENDER'], 0, 1) == 'F' ? 'her' : 'his' : 'his/her', $note);
    $note = str_replace('%H', $student['GENDER'] ? mb_substr($student['GENDER'], 0, 1) == 'F' ? 'Her' : 'His' : 'His/her', $note);
    //	$note = str_replace('%P',money_format('%i',$payment),$note);
    $note = str_replace('%P', Currency($payment), $note);
    $note = str_replace('%T', $target, $note);
    echo '<TR><TD colspan="3">';
    echo '<BR />' . $note . '<BR />';
    echo '</TD></TR>';
    echo '<TR><TD colspan="3"><BR /><BR /><HR><BR /><BR /></TD></TR></TABLE>';
}
示例#14
0
$keys = array_keys($language);
usort($keys, function ($a, $b) {
    return strlen($b) - strlen($a);
});
IncludeJSBlock('

window.Language.Instance=new Language({' . "\n" . implode(",\n", array_map(function ($k) use($language) {
    return '  ' . json_encode($k) . ':' . json_encode($language[$k]);
}, $keys)) . "\n" . '});

');
Core::LibDir() . DS . 'easycsv' . DS . 'EasyCsv.php';
//print_r($language);
Localize(function () {
    Scaffold('scheduled.workspace');
    Scaffold('addendum.workspace');
    Scaffold('quarterly.workspace');
}, $language);
Scaffold('list.scheduled');
$q = (int) ((date('n') - 1) / 3);
$quarters = array('1st', '2nd', '3rd', '4th');
$quarter = $quarters[$q];
IncludeJSBlock('

    window.addEvent("load",function(){

        var ajaxUrl=' . json_encode($params['url']) . ';

        UIFormManager.setAjaxUrl(ajaxUrl);

示例#15
0
 }
 $events_RET = DBGet(DBQuery("SELECT ce.TITLE,ce.DESCRIPTION,ce.SCHOOL_DATE,to_char(ce.SCHOOL_DATE,'Dy') AS DAY,s.TITLE AS SCHOOL FROM CALENDAR_EVENTS ce,SCHOOLS s WHERE ce.SCHOOL_DATE BETWEEN CURRENT_DATE AND CURRENT_DATE+6 AND ce.SYEAR='" . UserSyear() . "' AND position(','||ce.SCHOOL_ID||',' IN (SELECT SCHOOLS FROM STAFF WHERE STAFF_ID='" . User('STAFF_ID') . "'))>0 AND s.ID=ce.SCHOOL_ID AND s.SYEAR=ce.SYEAR ORDER BY ce.SCHOOL_DATE,s.TITLE"), array('SCHOOL_DATE' => 'ProperDate'), array('SCHOOL_DATE'));
 if (count($events_RET)) {
     echo '<p>';
     ListOutput($events_RET, array('DAY' => _('Day'), 'SCHOOL_DATE' => _('Date'), 'TITLE' => _('Event'), 'DESCRIPTION' => _('Description'), 'SCHOOL' => _('School')), _('Day With Upcoming Events'), _('Days With Upcoming Events'), array(), array('SCHOOL_DATE'), array('save' => false, 'search' => false));
     echo '</p>';
 }
 if (Preferences('HIDE_ALERTS') != 'Y') {
     // warn if missing attendances
     $categories_RET = DBGet(DBQuery("SELECT '0' AS ID,'Attendance' AS TITLE,0,NULL AS SORT_ORDER UNION SELECT ID,TITLE,1,SORT_ORDER FROM ATTENDANCE_CODE_CATEGORIES WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' ORDER BY 3,SORT_ORDER"));
     foreach ($categories_RET as $category) {
         $daysWeek = _('SuMoTuWeThFrSa');
         /// Days of the week
         $RET = DBGET(DBQuery("SELECT cp.COURSE_PERIOD_ID,acc.SCHOOL_DATE,cp.TITLE FROM ATTENDANCE_CALENDAR acc,COURSE_PERIODS cp,SCHOOL_PERIODS sp WHERE acc.SYEAR='" . UserSyear() . "' AND (acc.MINUTES IS NOT NULL AND acc.MINUTES>0) AND cp.SCHOOL_ID=acc.SCHOOL_ID AND cp.SYEAR=acc.SYEAR AND acc.SCHOOL_DATE<'" . DBDate() . "' AND cp.CALENDAR_ID=acc.CALENDAR_ID AND cp.TEACHER_ID='" . User('STAFF_ID') . "'\n            AND cp.MARKING_PERIOD_ID IN (SELECT MARKING_PERIOD_ID FROM SCHOOL_MARKING_PERIODS WHERE MP='FY' AND SCHOOL_ID=acc.SCHOOL_ID AND acc.SCHOOL_DATE BETWEEN START_DATE AND END_DATE UNION SELECT MARKING_PERIOD_ID FROM SCHOOL_MARKING_PERIODS WHERE MP='SEM' AND SCHOOL_ID=acc.SCHOOL_ID AND acc.SCHOOL_DATE BETWEEN START_DATE AND END_DATE UNION SELECT MARKING_PERIOD_ID FROM SCHOOL_MARKING_PERIODS WHERE MP='QTR' AND SCHOOL_ID=acc.SCHOOL_ID AND acc.SCHOOL_DATE BETWEEN START_DATE AND END_DATE)\n\t\t\tAND sp.PERIOD_ID=cp.PERIOD_ID AND (sp.BLOCK IS NULL AND position(substring('{$daysWeek}' FROM cast(extract(DOW FROM acc.SCHOOL_DATE) AS INT)*2+1 FOR 2) IN cp.DAYS)>0\n\t\t\t\tOR sp.BLOCK IS NOT NULL AND acc.BLOCK IS NOT NULL AND sp.BLOCK=acc.BLOCK)\n\t\t\tAND NOT exists(SELECT '' FROM ATTENDANCE_COMPLETED ac WHERE ac.SCHOOL_DATE=acc.SCHOOL_DATE AND ac.STAFF_ID=cp.TEACHER_ID AND ac.PERIOD_ID=cp.PERIOD_ID AND TABLE_NAME='{$category['ID']}') AND position(',{$category['ID']},' IN cp.DOES_ATTENDANCE)>0 ORDER BY cp.TITLE,acc.SCHOOL_DATE"), array('SCHOOL_DATE' => 'ProperDate'), array('COURSE_PERIOD_ID'));
         if (count($RET)) {
             echo '<p><font color=red><b>' . _('Warning!') . '</b></font> - ' . sprintf(Localize('colon', _('You have missing <b>%s</b> attendance data')), $category['TITLE']);
             ListOutput($RET, array('SCHOOL_DATE' => _('Date'), 'TITLE' => _('Period - Teacher')), sprintf(_('Period with missing %s attendance data'), $category['TITLE']), sprintf(_('Periods with missing %s attendance data'), $category['TITLE']), array(), array('COURSE_PERIOD_ID'), array('save' => false, 'search' => false));
             echo '</p>';
         }
     }
 }
 if ($CentreModules['Food_Service'] && Preferences('HIDE_ALERTS') != 'Y') {
     // warn if negative food service balance
     $staff = DBGet(DBQuery('SELECT (SELECT STATUS FROM FOOD_SERVICE_STAFF_ACCOUNTS WHERE STAFF_ID=s.STAFF_ID) AS STATUS,(SELECT BALANCE FROM FOOD_SERVICE_STAFF_ACCOUNTS WHERE STAFF_ID=s.STAFF_ID) AS BALANCE FROM STAFF s WHERE s.STAFF_ID=' . User('STAFF_ID')));
     $staff = $staff[1];
     if ($staff['BALANCE'] && $staff['BALANCE'] < 0) {
         echo '<p><font color=red><b>' . _('Warning!') . '</b></font> - ' . sprintf(_('You have a <b>negative</b> food service balance of <font color=red>%s</font>'), $staff['BALANCE']) . '</p>';
     }
 }
 echo '<p>&nbsp;' . _('Happy teaching...') . '</p>';
 break;
示例#16
0
文件: tasklist.php 项目: kanbang/Colt
//  This library is free software; you can redistribute it and/or
//  modify it under the terms of version 2.1 of the GNU Lesser
//  General Public License as published by the Free Software Foundation.
//
//  This library is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
//  Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public
//  License along with this library; if not, write to the Free Software
//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
//
include 'common.php';
$locale = "";
GetRequestParameters();
SetLocalizedFilesPath(GetLocalizationPath());
print Localize(file_get_contents("../viewerfiles/tasklist.templ"), $locale, GetClientOS());
function GetParameters($params)
{
    global $locale;
    $locale = ValidateLocaleString(GetParameter($params, 'LOCALE'));
}
function GetRequestParameters()
{
    if ($_SERVER['REQUEST_METHOD'] == "POST") {
        GetParameters($_POST);
    } else {
        GetParameters($_GET);
    }
}
示例#17
0
<?php

$max_cols = 3;
$max_rows = 10;
$to_family = Localize('colon', _('To the parents of'));
if (isset($_REQUEST['modfunc']) && $_REQUEST['modfunc'] == 'save') {
    if (count($_REQUEST['st_arr'])) {
        $st_list = '\'' . implode('\',\'', $_REQUEST['st_arr']) . '\'';
        $extra['WHERE'] = " AND s.STUDENT_ID IN ({$st_list})";
        $_REQUEST['mailing_labels'] = 'Y';
        if ($_REQUEST['to_address']) {
            $_REQUEST['residence'] = 'Y';
        }
        Widgets('mailing_labels');
        $extra['SELECT'] .= ",s.FIRST_NAME AS NICK_NAME";
        $extra['group'] = array('ADDRESS_ID');
        $RET = GetStuList($extra);
        if (count($RET)) {
            $handle = PDFstart();
            //echo '<!-- MEDIA SIZE 8.5x11in -->';
            echo '<!-- MEDIA TOP 0.5in -->';
            echo '<!-- MEDIA BOTTOM 0.25in -->';
            echo '<!-- MEDIA LEFT 0.25in -->';
            echo '<!-- MEDIA RIGHT 0.25in -->';
            echo '<!-- FOOTER RIGHT "" -->';
            echo '<!-- FOOTER LEFT "" -->';
            echo '<!-- FOOTER CENTER "" -->';
            echo '<!-- HEADER RIGHT "" -->';
            echo '<!-- HEADER LEFT "" -->';
            echo '<!-- HEADER CENTER "" -->';
            echo '<table style="height: 100%" class="width-100p cellspacing-0 cellpadding-0">';
示例#18
0
function _makePublishing($value, $name)
{
    global $THIS_RET, $profiles_RET;
    if ($THIS_RET['ID']) {
        $id = $THIS_RET['ID'];
    } else {
        $id = 'new';
    }
    $return = '<TABLE><TR><TD class=LO_field><b>' . Localize('colon', _('Visible Between')) . '</b></TD><TD align=right>';
    $return .= DateInput($value, "values[{$id}][{$name}]") . '</TD><TD width=1> ' . _('to') . ' </TD><TD>';
    $return .= DateInput($THIS_RET['END_DATE'], "values[{$id}][END_DATE]") . '</TD></TR>';
    $return .= '<TR><TD width=100% colspan=4 bgcolor=black height=1></TD></TR><TR><TD colspan=4>';
    if (!$profiles_RET) {
        $profiles_RET = DBGet(DBQuery("SELECT ID,TITLE FROM USER_PROFILES ORDER BY ID"));
    }
    $return .= '<TABLE border=0 cellspacing=0 cellpadding=0 class=LO_field><TR><TD colspan=4><b>' . Localize('colon', _('Visible To')) . '</b></TD></TR>';
    foreach (array('admin' => _('Administrator w/Custom'), 'teacher' => _('Teacher w/Custom'), 'parent' => _('Parent w/Custom')) as $profile_id => $profile) {
        $return .= "<TD><INPUT type=checkbox name=profiles[{$id}][{$profile_id}] value=Y" . (strpos($THIS_RET['PUBLISHED_PROFILES'], ",{$profile_id},") !== false ? ' CHECKED' : '') . "> {$profile}</TD>";
    }
    $i = 3;
    foreach ($profiles_RET as $profile) {
        $i++;
        $return .= '<TD><INPUT type=checkbox name=profiles[' . $id . '][' . $profile['ID'] . '] value=Y' . (strpos($THIS_RET['PUBLISHED_PROFILES'], ",{$profile['ID']},") !== false ? ' CHECKED' : '') . ">" . _($profile[TITLE]) . "</TD>";
        if ($i % 4 == 0 && $i != count($profile)) {
            $return .= '</TR><TR>';
        }
    }
    for (; $i % 4 != 0; $i++) {
        $return .= '<TD></TD>';
    }
    $return .= '</TR>';
    //<TR><TD colspan=4><B><A HREF=#>Schools: ...</A></B></TD></TR></TABLE>';
    $return .= '</TABLE>';
    $return .= '</TD></TR></TABLE>';
    return $return;
}
示例#19
0
function OnError($title, $msg)
{
    global $target;
    $templ = Localize(file_get_contents("../viewerfiles/errorpage.templ"), $locale, GetClientOS());
    print sprintf($templ, "0", $title, $msg);
}
示例#20
0
</script>
<!-- /TinyMCE -->
<?php 
        echo '<FORM action="Modules.php?modname=' . $_REQUEST['modname'] . '&modfunc=save&include_inactive=' . $_REQUEST['include_inactive'] . '&_ROSARIO_PDF=true" method="POST">';
        $extra['header_right'] = SubmitButton(_('Create Honor Roll for Selected Students'));
        $extra['extra_header_left'] = '<TABLE>';
        //modif Francois: add <label> on radio
        $extra['extra_header_left'] .= '<TR><TD><label><INPUT type="radio" name="list" value="list"> ' . _('List') . '</label></TD></TR>';
        $extra['extra_header_left'] .= '<TR><TD><label><INPUT type="radio" name="list" value="" checked /> ' . _('Certificates') . ':</label></TD></TR>';
        //modif Francois: add TinyMCE to the textarea
        $extra['extra_header_left'] .= '<TR><TD>&nbsp;</TD></TR><TR><TD style="text-align:right; vertical-align: top;">' . _('Text') . '</TD><TD colspan="4"><TEXTAREA cols="97" rows="27" name="honor_roll_text" class="tinymce">';
        //modif Francois: add Template
        $templates = DBGet(DBQuery("SELECT TEMPLATE, STAFF_ID FROM TEMPLATES WHERE MODNAME = '" . $_REQUEST['modname'] . "' AND STAFF_ID IN (0,'" . User('STAFF_ID') . "')"), array(), array('STAFF_ID'));
        $extra['extra_header_left'] .= str_replace(array('<', '>', '"'), array('&lt;', '&gt;', '&quot;'), $templates[User('STAFF_ID')] ? $templates[User('STAFF_ID')][1]['TEMPLATE'] : $templates[0][1]['TEMPLATE']);
        $extra['extra_header_left'] .= '</TEXTAREA></TD></TR>';
        $extra['extra_header_left'] .= '<TR><TD style="text-align:right; vertical-align: top;">' . Localize('colon', _('Substitutions')) . '</TD><TD><TABLE><TR>';
        $extra['extra_header_left'] .= '<TD>__FULL_NAME__</TD><TD>= ' . _('Last, First M') . '</TD><TD>&nbsp;</TD>';
        $extra['extra_header_left'] .= '<TD>__LAST_NAME__</TD><TD>= ' . _('Last Name') . '</TD>';
        $extra['extra_header_left'] .= '</TR><TR>';
        $extra['extra_header_left'] .= '<TD>__FIRST_NAME__</TD><TD>= ' . _('First Name') . '</TD><TD>&nbsp;</TD>';
        $extra['extra_header_left'] .= '<TD>__MIDDLE_NAME__</TD><TD>= ' . _('Middle Name') . '</TD>';
        $extra['extra_header_left'] .= '</TR><TR>';
        $extra['extra_header_left'] .= '<TD>__SCHOOL_ID__</TD><TD>= ' . _('School') . '</TD><TD>&nbsp;</TD>';
        $extra['extra_header_left'] .= '<TD>__GRADE_ID__</TD><TD>= ' . _('Grade Level') . '</TD>';
        $extra['extra_header_left'] .= '</TR></TABLE></TD></TR>';
        //modif Francois: add frames choice
        $frames = array();
        if (is_dir('assets/Frames/')) {
            $frames = scandir('assets/Frames/');
        }
        //no frame first and checked
示例#21
0
function appendStaffSQL($sql, $extra)
{
    global $_CENTRE;
    if ($_REQUEST['usrid']) {
        $sql .= " AND s.STAFF_ID='" . $_REQUEST['usrid'] . "'";
        if (!$extra['NoSearchTerms']) {
            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('User ID')) . ' </b></font>' . $_REQUEST['usrid'] . '<BR>';
        }
    }
    if ($_REQUEST['last']) {
        $sql .= " AND UPPER(s.LAST_NAME) LIKE '" . strtoupper($_REQUEST['last']) . "%'";
        if (!$extra['NoSearchTerms']) {
            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Last Name starts with')) . ' </b></font>' . $_REQUEST['last'] . '<BR>';
        }
    }
    if ($_REQUEST['first']) {
        $sql .= " AND UPPER(s.FIRST_NAME) LIKE '" . strtoupper($_REQUEST['first']) . "%'";
        if (!$extra['NoSearchTerms']) {
            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('First Name starts with')) . ' </b></font>' . $_REQUEST['first'] . '<BR>';
        }
    }
    if ($_REQUEST['profile']) {
        $sql .= " AND s.PROFILE='" . $_REQUEST['profile'] . "'";
        if (!$extra['NoSearchTerms']) {
            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('Profile')) . ' </b></font>' . $_REQUEST['profile'] . '<BR>';
        }
    }
    if ($_REQUEST['username']) {
        $sql .= " AND UPPER(s.USERNAME) LIKE '" . strtoupper($_REQUEST['username']) . "%'";
        if (!$extra['NoSearchTerms']) {
            $_CENTRE['SearchTerms'] .= '<font color=gray><b>' . Localize('colon', _('UserName starts with')) . ' </b></font>' . $_REQUEST['username'] . '<BR>';
        }
    }
    return $sql;
}
示例#22
0
function Widgets($item, &$myextra = null)
{
    global $extra, $_ROSARIO, $RosarioModules;
    if (isset($myextra)) {
        $extra =& $myextra;
    }
    if (!is_array($_ROSARIO['Widgets'])) {
        $_ROSARIO['Widgets'] = array();
    }
    if (!is_array($extra['functions'])) {
        $extra['functions'] = array();
    }
    if ((User('PROFILE') == 'admin' || User('PROFILE') == 'teacher') && !$_ROSARIO['Widgets'][$item]) {
        switch ($item) {
            case 'all':
                $extra['search'] .= '<TR><TD colspan="2"><TABLE class="width-100p cellpadding-2" style="border-collapse:separate; border-spacing: 2px">';
                if ($RosarioModules['Students'] && (!$_ROSARIO['Widgets']['calendar'] || !$_ROSARIO['Widgets']['next_year'] || !$_ROSARIO['Widgets']['enrolled'] || !$_ROSARIO['Widgets']['rolled'])) {
                    //modif Francois: css WPadmin
                    $extra['search'] .= '<TR><TD colspan="2">&nbsp;<A onclick="switchMenu(\'enrollment_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="enrollment_table_arrow" height="12"> <B>' . _('Enrollment') . '</B></A><BR /><TABLE id="enrollment_table" style="display:none;" class="widefat width-100p cellspacing-0">';
                    Widgets('calendar', $extra);
                    Widgets('next_year', $extra);
                    Widgets('enrolled', $extra);
                    Widgets('rolled', $extra);
                    $extra['search'] .= '</TABLE></TD></TR>';
                }
                if ($RosarioModules['Scheduling'] && (!$_ROSARIO['Widgets']['course'] || !$_ROSARIO['Widgets']['request']) && User('PROFILE') == 'admin') {
                    $extra['search'] .= '<TR><TD colspan="2">&nbsp;<A onclick="switchMenu(\'scheduling_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="scheduling_table_arrow" height="12"> <B>' . _('Scheduling') . '</B></A><BR /><TABLE id="scheduling_table" style="display:none;" class="widefat width-100p cellspacing-0">';
                    Widgets('course', $extra);
                    //Widgets('request',$extra);
                    $extra['search'] .= '</TABLE></TD></TR>';
                }
                if ($RosarioModules['Attendance'] && !$_ROSARIO['Widgets']['absences']) {
                    $extra['search'] .= '<TR><TD colspan="2">&nbsp;<A onclick="switchMenu(\'absences_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="absences_table_arrow" height="12"> <B>' . _('Attendance') . '</B></A><BR /><TABLE id="absences_table" style="display:none;" class="widefat width-100p cellspacing-0">';
                    Widgets('absences', $extra);
                    $extra['search'] .= '</TABLE></TD></TR>';
                }
                if ($RosarioModules['Grades'] && (!$_ROSARIO['Widgets']['gpa'] || !$_ROSARIO['Widgets']['class_rank'] || !$_ROSARIO['Widgets']['letter_grade'])) {
                    $extra['search'] .= '<TR><TD colspan="2">&nbsp;<A onclick="switchMenu(\'grades_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="grades_table_arrow" height="12"> <B>' . _('Grades') . '</B></A><BR /><TABLE style="padding:5px;" id="grades_table" style="display:none;" class="widefat width-100p cellspacing-0">';
                    Widgets('gpa', $extra);
                    Widgets('class_rank', $extra);
                    Widgets('letter_grade', $extra);
                    $extra['search'] .= '</TABLE></TD></TR>';
                }
                if ($RosarioModules['Eligibility'] && (!$_ROSARIO['Widgets']['eligibility'] || !$_ROSARIO['Widgets']['activity'])) {
                    $extra['search'] .= '<TR><TD colspan="2">&nbsp;<A onclick="switchMenu(\'eligibility_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="eligibility_table_arrow" height="12"> <B>' . _('Eligibility') . '</B></A><BR /><TABLE id="eligibility_table" style="display:none;" class="widefat width-100p cellspacing-0">';
                    Widgets('eligibility', $extra);
                    Widgets('activity', $extra);
                    $extra['search'] .= '</TABLE></TD></TR>';
                }
                if ($RosarioModules['Food_Service'] && (!$_ROSARIO['Widgets']['fsa_balance'] || !$_ROSARIO['Widgets']['fsa_discount'] || !$_ROSARIO['Widgets']['fsa_status'] || !$_ROSARIO['Widgets']['fsa_barcode'])) {
                    $extra['search'] .= '<TR><TD colspan="2">&nbsp;<A onclick="switchMenu(\'food_service_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="food_service_table_arrow" height="12"> <B>' . _('Food Service') . '</B></A><BR /><TABLE id="food_service_table" style="display:none;" class="widefat width-100p cellspacing-0">';
                    Widgets('fsa_balance', $extra);
                    Widgets('fsa_discount', $extra);
                    Widgets('fsa_status', $extra);
                    Widgets('fsa_barcode', $extra);
                    $extra['search'] .= '</TABLE></TD></TR>';
                }
                if ($RosarioModules['Discipline'] && !$_ROSARIO['Widgets']['discipline']) {
                    $extra['search'] .= '<TR><TD colspan="2">&nbsp;<A onclick="switchMenu(\'discipline_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="discipline_table_arrow" height="12"> <B>' . _('Discipline') . '</B></A><BR /><TABLE id="discipline_table" style="display:none;" class="widefat width-100p cellspacing-0">';
                    Widgets('discipline', $extra);
                    $extra['search'] .= '</TABLE></TD></TR>';
                }
                if ($RosarioModules['Student_Billing'] && !$_ROSARIO['Widgets']['balance']) {
                    $extra['search'] .= '<TR><TD colspan="2">&nbsp;<A onclick="switchMenu(\'billing_table\');" href="#"><IMG SRC="assets/arrow_right.gif" id="billing_table_arrow" height="12"> <B>' . _('Student Billing') . '</B></A><BR /><TABLE id="billing_table" style="display:none;" class="widefat width-100p cellspacing-0">';
                    Widgets('balance', $extra);
                    $extra['search'] .= '</TABLE></TD></TR>';
                }
                $extra['search'] .= '</TABLE></TD></TR>';
                break;
            case 'user':
                $widgets_RET = DBGet(DBQuery("SELECT TITLE FROM PROGRAM_USER_CONFIG WHERE USER_ID='" . User('STAFF_ID') . "' AND PROGRAM='WidgetsSearch'" . (count($_ROSARIO['Widgets']) ? " AND TITLE NOT IN ('" . implode("','", array_keys($_ROSARIO['Widgets'])) . "')" : '')));
                foreach ($widgets_RET as $widget) {
                    Widgets($widget['TITLE'], $extra);
                }
                break;
            case 'course':
                if ($RosarioModules['Scheduling'] && User('PROFILE') == 'admin') {
                    if ($_REQUEST['w_course_period_id']) {
                        if ($_REQUEST['w_course_period_id_which'] == 'course') {
                            $course = DBGet(DBQuery("SELECT c.TITLE AS COURSE_TITLE,cp.TITLE,cp.COURSE_ID FROM COURSE_PERIODS cp,COURSES c WHERE c.COURSE_ID=cp.COURSE_ID AND cp.COURSE_PERIOD_ID='" . $_REQUEST['w_course_period_id'] . "'"));
                            $extra['FROM'] .= ",SCHEDULE w_ss";
                            $extra['WHERE'] .= " AND w_ss.STUDENT_ID=s.STUDENT_ID AND w_ss.SYEAR=ssm.SYEAR AND w_ss.SCHOOL_ID=ssm.SCHOOL_ID AND w_ss.COURSE_ID='" . $course[1]['COURSE_ID'] . "' AND ('" . DBDate() . "' BETWEEN w_ss.START_DATE AND w_ss.END_DATE OR w_ss.END_DATE IS NULL)";
                            if (!$extra['NoSearchTerms']) {
                                $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Course')) . ' </b>' . $course[1]['COURSE_TITLE'] . '<BR />';
                            }
                        } else {
                            $extra['FROM'] .= ",SCHEDULE w_ss";
                            $extra['WHERE'] .= " AND w_ss.STUDENT_ID=s.STUDENT_ID AND w_ss.SYEAR=ssm.SYEAR AND w_ss.SCHOOL_ID=ssm.SCHOOL_ID AND w_ss.COURSE_PERIOD_ID='" . $_REQUEST['w_course_period_id'] . "' AND ('" . DBDate() . "' BETWEEN w_ss.START_DATE AND w_ss.END_DATE OR w_ss.END_DATE IS NULL)";
                            $course = DBGet(DBQuery("SELECT c.TITLE AS COURSE_TITLE,cp.TITLE,cp.COURSE_ID FROM COURSE_PERIODS cp,COURSES c WHERE c.COURSE_ID=cp.COURSE_ID AND cp.COURSE_PERIOD_ID='" . $_REQUEST['w_course_period_id'] . "'"));
                            if (!$extra['NoSearchTerms']) {
                                $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Course Period')) . ' </b>' . $course[1]['COURSE_TITLE'] . ': ' . $course[1]['TITLE'] . '<BR />';
                            }
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Course') . "</TD><TD><DIV id=course_div></DIV> <A HREF=# onclick='window.open(\"Modules.php?modname=misc/ChooseCourse.php\",\"\",\"scrollbars=yes,resizable=yes,width=800,height=400\");'>" . _('Choose') . '</A></TD></TR>';
                }
                break;
            case 'request':
                if ($RosarioModules['Scheduling'] && User('PROFILE') == 'admin') {
                    // PART OF THIS IS DUPLICATED IN PrintRequests.php
                    if ($_REQUEST['request_course_id']) {
                        $course = DBGet(DBQuery("SELECT c.TITLE FROM COURSES c WHERE c.COURSE_ID='" . $_REQUEST['request_course_id'] . "'"));
                        if (!$_REQUEST['not_request_course']) {
                            $extra['FROM'] .= ",SCHEDULE_REQUESTS sr";
                            $extra['WHERE'] .= " AND sr.STUDENT_ID=s.STUDENT_ID AND sr.SYEAR=ssm.SYEAR AND sr.SCHOOL_ID=ssm.SCHOOL_ID AND sr.COURSE_ID='" . $_REQUEST['request_course_id'] . "' ";
                            if (!$extra['NoSearchTerms']) {
                                $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Request')) . ' </b>' . $course[1]['TITLE'] . '<BR />';
                            }
                        } else {
                            $extra['WHERE'] .= " AND NOT EXISTS (SELECT '' FROM SCHEDULE_REQUESTS sr WHERE sr.STUDENT_ID=ssm.STUDENT_ID AND sr.SYEAR=ssm.SYEAR AND sr.COURSE_ID='" . $_REQUEST['request_course_id'] . "' ) ";
                            if (!$extra['NoSearchTerms']) {
                                $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Missing Request')) . ' </b>' . $course[1]['TITLE'] . '<BR />';
                            }
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px">' . _('Request') . '</TD><TD><DIV id="request_div"></DIV> <A HREF="#" onclick=\'window.open("Modules.php?modname=misc/ChooseRequest.php","","scrollbars=yes,resizable=yes,width=800,height=400");\'>' . _('Choose') . '</A></TD></TR>';
                }
                break;
            case 'absences':
                if ($RosarioModules['Attendance']) {
                    if (is_numeric($_REQUEST['absences_low']) && is_numeric($_REQUEST['absences_high'])) {
                        if ($_REQUEST['absences_low'] > $_REQUEST['absences_high']) {
                            $temp = $_REQUEST['absences_high'];
                            $_REQUEST['absences_high'] = $_REQUEST['absences_low'];
                            $_REQUEST['absences_low'] = $temp;
                        }
                        if ($_REQUEST['absences_low'] == $_REQUEST['absences_high']) {
                            $extra['WHERE'] .= " AND (SELECT sum(1-STATE_VALUE) AS STATE_VALUE FROM ATTENDANCE_DAY ad WHERE ssm.STUDENT_ID=ad.STUDENT_ID AND ad.SYEAR=ssm.SYEAR AND ad.MARKING_PERIOD_ID IN (" . GetChildrenMP($_REQUEST['absences_term'], UserMP()) . ")) = '{$_REQUEST['absences_low']}'";
                        } else {
                            $extra['WHERE'] .= " AND (SELECT sum(1-STATE_VALUE) AS STATE_VALUE FROM ATTENDANCE_DAY ad WHERE ssm.STUDENT_ID=ad.STUDENT_ID AND ad.SYEAR=ssm.SYEAR AND ad.MARKING_PERIOD_ID IN (" . GetChildrenMP($_REQUEST['absences_term'], UserMP()) . ")) BETWEEN '{$_REQUEST['absences_low']}' AND '{$_REQUEST['absences_high']}'";
                        }
                        switch ($_REQUEST['absences_term']) {
                            case 'FY':
                                $term = _('this school year to date');
                                break;
                            case 'SEM':
                                $term = _('this semester to date');
                                break;
                            case 'QTR':
                                $term = _('this marking period to date');
                                break;
                        }
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Days Absent') . '&nbsp;' . $term . ' ' . _('Between') . ' </b>' . $_REQUEST['absences_low'] . ' &amp; ' . $_REQUEST['absences_high'] . '<BR />';
                        }
                    }
                    //modif Francois: add <label> on radio
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Days Absent') . '<BR /><label><INPUT type="radio" name="absences_term" value="FY" checked />&nbsp;' . _('YTD') . '</label>&nbsp; <label><INPUT type="radio" name="absences_term" value="SEM">&nbsp;' . GetMP(GetParentMP('SEM', UserMP()), 'SHORT_NAME') . '</label>&nbsp; <label><INPUT type="radio" name="absences_term" value="QTR">&nbsp;' . GetMP(UserMP(), 'SHORT_NAME') . '</label></TD><TD>' . _('Between') . ' <INPUT type="text" name="absences_low" size="3" maxlength="5"> &amp; <INPUT type="text" name="absences_high" size="3" maxlength="5"></TD></TR>';
                }
                break;
            case 'gpa':
                if ($RosarioModules['Grades']) {
                    if (is_numeric($_REQUEST['gpa_low']) && is_numeric($_REQUEST['gpa_high'])) {
                        if ($_REQUEST['gpa_low'] > $_REQUEST['gpa_high']) {
                            $temp = $_REQUEST['gpa_high'];
                            $_REQUEST['gpa_high'] = $_REQUEST['gpa_low'];
                            $_REQUEST['gpa_low'] = $temp;
                        }
                        if ($_REQUEST['list_gpa']) {
                            //modif Francois: remove STUDENT_GPA_CALCULATED table
                            /*$extra['SELECT'] .= ',sgc.WEIGHTED_GPA,sgc.UNWEIGHTED_GPA';
                            		$extra['columns_after']['WEIGHTED_GPA'] = _('Weighted GPA');
                            		$extra['columns_after']['UNWEIGHTED_GPA'] = _('Unweighted GPA');*/
                            $extra['SELECT'] .= ',sms.CUM_WEIGHTED_FACTOR,sms.CUM_UNWEIGHTED_FACTOR';
                            $extra['columns_after']['CUM_WEIGHTED_FACTOR'] = _('Weighted GPA');
                            $extra['columns_after']['CUM_UNWEIGHTED_FACTOR'] = _('Unweighted GPA');
                        }
                        /*if(mb_strpos($extra['FROM'],'STUDENT_GPA_CALCULATED sgc')===false)
                        		{
                        			$extra['FROM'] .= ",STUDENT_GPA_CALCULATED sgc";
                        			$extra['WHERE'] .= " AND sgc.STUDENT_ID=s.STUDENT_ID AND sgc.MARKING_PERIOD_ID='".$_REQUEST['gpa_term']."'";
                        		}*/
                        if (mb_strpos($extra['FROM'], 'STUDENT_MP_STATS sms') === false) {
                            $extra['FROM'] .= ",STUDENT_MP_STATS sms";
                            $extra['WHERE'] .= " AND sms.STUDENT_ID=s.STUDENT_ID AND sms.MARKING_PERIOD_ID='" . $_REQUEST['gpa_term'] . "'";
                        }
                        //$extra['WHERE'] .= " AND sgc.".(($_REQUEST['weighted']=='Y')?'WEIGHTED_':'')."GPA BETWEEN '$_REQUEST[gpa_low]' AND '$_REQUEST[gpa_high]' AND sgc.MARKING_PERIOD_ID='".$_REQUEST['gpa_term']."'";
                        $extra['WHERE'] .= " AND sms.CUM_" . ($_REQUEST['weighted'] == 'Y' ? '' : 'UN') . "WEIGHTED_FACTOR*(SELECT GP_SCALE FROM REPORT_CARD_GRADE_SCALES WHERE SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "') BETWEEN '{$_REQUEST['gpa_low']}' AND '{$_REQUEST['gpa_high']}'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . ($_REQUEST['gpa_weighted'] == 'Y' ? _('Weighted GPA') . ' ' : _('Unweighted GPA') . ' ') . Localize('colon', _('Between')) . ' </b>' . $_REQUEST['gpa_low'] . ' &amp; ' . $_REQUEST['gpa_high'] . '<BR />';
                        }
                    }
                    //modif Francois: add <label> on checkbox
                    //modif Francois: replace Cumulative by Full Year
                    //$extra['search'] .= "<TR><TD style="text-align:right; width:120px:">"._('GPA')."<BR /><label><INPUT type=checkbox name=gpa_weighted value=Y>&nbsp;"._('Weighted').'</label><BR /><label><INPUT type="radio" name="gpa_term" value=CUM checked />&nbsp;'._('Cumulative').'</label>&nbsp; <label><INPUT type="radio" name="gpa_term" value="'.GetParentMP('SEM',UserMP()).'">&nbsp;'.GetMP(GetParentMP('SEM',UserMP()),'SHORT_NAME').'</label> &nbsp;<label><INPUT type="radio" name="gpa_term" value="'.UserMP().'">&nbsp;'.GetMP(UserMP(),'SHORT_NAME')."</label></TD><TD>"._('Between')." <INPUT type="text" name=gpa_low size=3 maxlength=5> &amp; <INPUT type="text" name=gpa_high size=3 maxlength=5></TD></TR>";
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('GPA') . '<BR /><label><INPUT type="checkbox" name="weighted" value="Y">&nbsp;' . _('Weighted') . '</label><BR />' . (GetMP($MPfy = GetParentMP('FY', GetParentMP('SEM', UserMP())), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="gpa_term" value="' . $MPfy . '" checked />&nbsp;' . GetMP($MPfy, 'SHORT_NAME') . '</label>&nbsp; ' : '') . (GetMP($MPsem = GetParentMP('SEM', UserMP()), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="gpa_term" value="' . $MPsem . '">&nbsp;' . GetMP($MPsem, 'SHORT_NAME') . '</label> &nbsp;' : '') . (GetMP($MPtrim = UserMP(), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="gpa_term" value="' . $MPtrim . '" checked />&nbsp;' . GetMP($MPtrim, 'SHORT_NAME') . '</label>' : '') . '</TD><TD>' . _('Between') . ' <INPUT type="text" name="gpa_low" size="3" maxlength="5"> &amp; <INPUT type="text" name="gpa_high" size="3" maxlength="5"></TD></TR>';
                }
                break;
            case 'class_rank':
                if ($RosarioModules['Grades']) {
                    if (is_numeric($_REQUEST['class_rank_low']) && is_numeric($_REQUEST['class_rank_high'])) {
                        if ($_REQUEST['class_rank_low'] > $_REQUEST['class_rank_high']) {
                            $temp = $_REQUEST['class_rank_high'];
                            $_REQUEST['class_rank_high'] = $_REQUEST['class_rank_low'];
                            $_REQUEST['class_rank_low'] = $temp;
                        }
                        //modif Francois: remove STUDENT_GPA_CALCULATED table
                        /*if(mb_strpos($extra['FROM'],'STUDENT_GPA_CALCULATED sgc')===false)
                        		{
                        			$extra['FROM'] .= ",STUDENT_GPA_CALCULATED sgc";
                        			$extra['WHERE'] .= " AND sgc.STUDENT_ID=s.STUDENT_ID AND sgc.MARKING_PERIOD_ID='".$_REQUEST['class_rank_term']."'";
                        		}*/
                        if (mb_strpos($extra['FROM'], 'STUDENT_MP_STATS sms') === false) {
                            $extra['FROM'] .= ",STUDENT_MP_STATS sms";
                            $extra['WHERE'] .= " AND sms.STUDENT_ID=s.STUDENT_ID AND sms.MARKING_PERIOD_ID='" . $_REQUEST['class_rank_term'] . "'";
                        }
                        //$extra['WHERE'] .= " AND sgc.CLASS_RANK BETWEEN '$_REQUEST[class_rank_low]' AND '$_REQUEST[class_rank_high]'";
                        $extra['WHERE'] .= " AND sms.CUM_RANK BETWEEN '{$_REQUEST['class_rank_low']}' AND '{$_REQUEST['class_rank_high']}'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Class Rank')) . ' ' . _('Between') . '</b>' . $_REQUEST['class_rank_low'] . ' &amp; ' . $_REQUEST['class_rank_high'] . '<BR />';
                        }
                    }
                    //modif Francois: replace Cumulative by Full Year
                    //$extra['search'] .= "<TR><TD style="text-align:right; width:120px:">"._('Class Rank').'<BR /><label><INPUT type="radio" name="class_rank_term" value=CUM checked />&nbsp;'._('Cumulative').'</label> &nbsp;<label><INPUT type="radio" name="class_rank_term" value="'.GetParentMP('SEM',UserMP()).'">&nbsp;'.GetMP(GetParentMP('SEM',UserMP()),'SHORT_NAME').'</label> &nbsp;<label><INPUT type="radio" name="class_rank_term" value="'.UserMP().'">&nbsp;'.GetMP(UserMP(),'SHORT_NAME');
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Class Rank') . '<BR />' . (GetMP($MPfy = GetParentMP('FY', GetParentMP('SEM', UserMP())), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="class_rank_term" value="' . $MPfy . '">&nbsp;' . GetMP($MPfy, 'SHORT_NAME') . '</label>&nbsp; ' : '') . (GetMP($MPsem = GetParentMP('SEM', UserMP()), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="class_rank_term" value="' . $MPsem . '">&nbsp;' . GetMP($MPsem, 'SHORT_NAME') . '</label> &nbsp;' : '') . (GetMP($MPtrim = UserMP(), 'DOES_GRADES') == 'Y' ? '<label><INPUT type="radio" name="class_rank_term" value="' . $MPtrim . '" checked />&nbsp;' . GetMP($MPtrim, 'SHORT_NAME') . '</label>' : '');
                    if (mb_strlen($pros = GetChildrenMP('PRO', UserMP()))) {
                        $pros = explode(',', str_replace("'", '', $pros));
                        foreach ($pros as $pro) {
                            $extra['search'] .= '<label><INPUT type="radio" name="class_rank_term" value="' . $pro . '">&nbsp;' . GetMP($pro, 'SHORT_NAME') . '</label> &nbsp;';
                        }
                    }
                    $extra['search'] .= '</TD><TD>' . _('Between') . ' <INPUT type="text" name="class_rank_low" size="3" maxlength="5"> &amp; <INPUT type="text" name="class_rank_high" size="3" maxlength="5"></TD></TR>';
                }
                break;
            case 'letter_grade':
                if ($RosarioModules['Grades']) {
                    if (count($_REQUEST['letter_grade'])) {
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . ($_REQUEST['letter_grade_exclude'] == 'Y' ? _('Without') : _('With')) . ' ' . _('Report Card Grade') . ': </b>';
                        }
                        $letter_grades_RET = DBGet(DBQuery("SELECT ID,TITLE FROM REPORT_CARD_GRADES WHERE SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "'"), array(), array('ID'));
                        foreach ($_REQUEST['letter_grade'] as $grade => $Y) {
                            $letter_grades .= ",'{$grade}'";
                            if (!$extra['NoSearchTerms']) {
                                $_ROSARIO['SearchTerms'] .= $letter_grades_RET[$grade][1]['TITLE'] . ', ';
                            }
                        }
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] = mb_substr($_ROSARIO['SearchTerms'], 0, -2) . '<BR />';
                        }
                        $extra['WHERE'] .= " AND " . ($_REQUEST['letter_grade_exclude'] == 'Y' ? 'NOT ' : '') . "EXISTS (SELECT '' FROM STUDENT_REPORT_CARD_GRADES sg3 WHERE sg3.STUDENT_ID=ssm.STUDENT_ID AND sg3.SYEAR=ssm.SYEAR AND sg3.REPORT_CARD_GRADE_ID IN (" . mb_substr($letter_grades, 1) . ") AND sg3.MARKING_PERIOD_ID='" . $_REQUEST['letter_grade_term'] . "' )";
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Grade') . '<BR /><label><INPUT type="checkbox" name="letter_grade_exclude" value="Y">&nbsp;' . _('Did not receive') . '</label><BR /><label><INPUT type="radio" name="letter_grade_term" value="' . GetParentMP('SEM', UserMP()) . '">&nbsp;' . GetMP(GetParentMP('SEM', UserMP()), 'SHORT_NAME') . '</label>&nbsp; <label><INPUT type="radio" name="letter_grade_term" value="' . UserMP() . '">&nbsp;' . GetMP(UserMP(), 'SHORT_NAME') . '</label>';
                    if (mb_strlen($pros = GetChildrenMP('PRO', UserMP()))) {
                        $pros = explode(',', str_replace("'", '', $pros));
                        foreach ($pros as $pro) {
                            $extra['search'] .= '<label><INPUT type="radio" name="letter_grade_term" value="' . $pro . '">&nbsp;' . GetMP($pro, 'SHORT_NAME') . '</label> &nbsp;';
                        }
                    }
                    $extra['search'] .= "</TD><TD>";
                    //modif Francois: fix error Invalid argument supplied for foreach()
                    if ($_REQUEST['search_modfunc'] == 'search_fnc' || !$_REQUEST['search_modfunc']) {
                        $letter_grades_RET = DBGet(DBQuery("SELECT rg.ID,rg.TITLE,rg.GRADE_SCALE_ID FROM REPORT_CARD_GRADES rg,REPORT_CARD_GRADE_SCALES rs WHERE rg.SCHOOL_ID='" . UserSchool() . "' AND rg.SYEAR='" . UserSyear() . "' AND rs.ID=rg.GRADE_SCALE_ID" . (User('PROFILE') == 'teacher' ? ' AND rg.GRADE_SCALE_ID=(SELECT GRADE_SCALE_ID FROM COURSE_PERIODS WHERE COURSE_PERIOD_ID=\'' . UserCoursePeriod() . '\')' : '') . " ORDER BY rs.SORT_ORDER,rs.ID,rg.BREAK_OFF IS NOT NULL DESC,rg.BREAK_OFF DESC,rg.SORT_ORDER"), array(), array('GRADE_SCALE_ID'));
                        foreach ($letter_grades_RET as $grades) {
                            $i = 0;
                            if (count($grades)) {
                                foreach ($grades as $grade) {
                                    if ($i % 9 == 0) {
                                        $extra['search'] .= '<BR />';
                                    }
                                    $extra['search'] .= '<label><INPUT type="checkbox" value="Y" name="letter_grade[' . $grade['ID'] . ']">&nbsp;' . $grade['TITLE'] . '</label>&nbsp; ';
                                    $i++;
                                }
                            }
                        }
                    }
                    $extra['search'] .= '</TD></TR>';
                }
                break;
            case 'eligibility':
                if ($RosarioModules['Eligibility']) {
                    if ($_REQUEST['ineligible'] == 'Y') {
                        $start_end_RET = DBGet(DBQuery("SELECT TITLE,VALUE FROM PROGRAM_CONFIG WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' AND PROGRAM='eligibility' AND TITLE IN ('START_DAY','END_DAY')"));
                        if (count($start_end_RET)) {
                            foreach ($start_end_RET as $value) {
                                ${$value}['TITLE'] = $value['VALUE'];
                            }
                        }
                        switch (date('D')) {
                            case 'Mon':
                                $today = 1;
                                break;
                            case 'Tue':
                                $today = 2;
                                break;
                            case 'Wed':
                                $today = 3;
                                break;
                            case 'Thu':
                                $today = 4;
                                break;
                            case 'Fri':
                                $today = 5;
                                break;
                            case 'Sat':
                                $today = 6;
                                break;
                            case 'Sun':
                                $today = 7;
                                break;
                        }
                        $start_date = mb_strtoupper(date('d-M-y', time() - ($today - $START_DAY) * 60 * 60 * 24));
                        $end_date = mb_strtoupper(date('d-M-y', time()));
                        $extra['WHERE'] .= " AND (SELECT count(*) FROM ELIGIBILITY e WHERE ssm.STUDENT_ID=e.STUDENT_ID AND e.SYEAR=ssm.SYEAR AND e.SCHOOL_DATE BETWEEN '{$start_date}' AND '{$end_date}' AND e.ELIGIBILITY_CODE='FAILING') > '0'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Eligibility')) . ' </b>' . _('Ineligible') . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:"></TD><TD><label><INPUT type="checkbox" name="ineligible" value="Y">&nbsp;' . _('Ineligible') . '</label></TD></TR>';
                }
                break;
            case 'activity':
                if ($RosarioModules['Eligibility']) {
                    if ($_REQUEST['activity_id']) {
                        $extra['FROM'] .= ",STUDENT_ELIGIBILITY_ACTIVITIES sea";
                        $extra['WHERE'] .= " AND sea.STUDENT_ID=s.STUDENT_ID AND sea.SYEAR=ssm.SYEAR AND sea.ACTIVITY_ID='" . $_REQUEST['activity_id'] . "'";
                        $activity = DBGet(DBQuery("SELECT TITLE FROM ELIGIBILITY_ACTIVITIES WHERE ID='" . $_REQUEST['activity_id'] . "'"));
                        if (!$extra['NoSearchTerms']) {
                            //modif Francois: add translation
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Activity') . ': </b>' . $activity[1]['TITLE'] . '<BR />';
                        }
                    }
                    if ($_REQUEST['search_modfunc'] == 'search_fnc' || !$_REQUEST['search_modfunc']) {
                        $activities_RET = DBGet(DBQuery("SELECT ID,TITLE FROM ELIGIBILITY_ACTIVITIES WHERE SCHOOL_ID='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "'"));
                    }
                    $select = '<SELECT name="activity_id"><OPTION value="">' . _('Not Specified') . '</OPTION>';
                    if (count($activities_RET)) {
                        foreach ($activities_RET as $activity) {
                            $select .= '<OPTION value="' . $activity['ID'] . '">' . $activity['TITLE'] . '</OPTION>';
                        }
                    }
                    $select .= '</SELECT>';
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Activity') . '</TD><TD>' . $select . '</TD></TR>';
                }
                break;
            case 'mailing_labels':
                if ($_REQUEST['mailing_labels'] == 'Y') {
                    $extra['SELECT'] .= ',coalesce(sam.ADDRESS_ID,-ssm.STUDENT_ID) AS ADDRESS_ID,sam.ADDRESS_ID AS MAILING_LABEL';
                    $extra['FROM'] = " LEFT OUTER JOIN STUDENTS_JOIN_ADDRESS sam ON (sam.STUDENT_ID=ssm.STUDENT_ID AND sam.MAILING='Y'" . ($_REQUEST['residence'] == 'Y' ? " AND sam.RESIDENCE='Y'" : '') . ")" . $extra['FROM'];
                    $extra['functions'] += array('MAILING_LABEL' => 'MailingLabel');
                }
                $extra['search'] .= '<TR><TD style="text-align:right; width:130px"><label>' . _('Mailing Labels') . '&nbsp;<INPUT type="checkbox" name="mailing_labels" value="Y"></label></TD>';
                break;
            case 'balance':
                if ($RosarioModules['Student_Billing']) {
                    if (is_numeric($_REQUEST['balance_low']) && is_numeric($_REQUEST['balance_high'])) {
                        if ($_REQUEST['balance_low'] > $_REQUEST['balance_high']) {
                            $temp = $_REQUEST['balance_high'];
                            $_REQUEST['balance_high'] = $_REQUEST['balance_low'];
                            $_REQUEST['balance_low'] = $temp;
                        }
                        $extra['WHERE'] .= " AND (coalesce((SELECT sum(p.AMOUNT) FROM BILLING_PAYMENTS p WHERE p.STUDENT_ID=ssm.STUDENT_ID AND p.SYEAR=ssm.SYEAR AND (p.LUNCH_PAYMENT!='Y' OR p.LUNCH_PAYMENT IS NULL)),0)-coalesce((SELECT sum(f.AMOUNT) FROM BILLING_FEES f WHERE f.STUDENT_ID=ssm.STUDENT_ID AND f.SYEAR=ssm.SYEAR),0)) BETWEEN '{$_REQUEST['balance_low']}' AND '{$_REQUEST['balance_high']}' ";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Student Billing Balance')) . ' </b>' . _('Between') . ' ' . $_REQUEST['balance_low'] . ' &amp; ' . $_REQUEST['balance_high'] . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Balance') . '<BR /></TD><TD>' . _('Between') . ' <INPUT type="text" name="balance_low" size="5" maxlength="10"> &amp; <INPUT type="text" name="balance_high" size="5" maxlength="10"></TD></TR>';
                }
                break;
            case 'discipline':
                if ($RosarioModules['Discipline']) {
                    if (is_array($_REQUEST['discipline'])) {
                        foreach ($_REQUEST['discipline'] as $key => $value) {
                            if (!$value) {
                                unset($_REQUEST['discipline'][$key]);
                            }
                        }
                    }
                    if ($_REQUEST['month_discipline_entry_begin'] && $_REQUEST['day_discipline_entry_begin'] && $_REQUEST['year_discipline_entry_begin']) {
                        $_REQUEST['discipline_entry_begin'] = $_REQUEST['day_discipline_entry_begin'] . '-' . $_REQUEST['month_discipline_entry_begin'] . '-' . $_REQUEST['year_discipline_entry_begin'];
                        if (!VerifyDate($_REQUEST['discipline_entry_begin'])) {
                            unset($_REQUEST['discipline_entry_begin']);
                        }
                        unset($_REQUEST['day_discipline_entry_begin']);
                        unset($_REQUEST['month_discipline_entry_begin']);
                        unset($_REQUEST['year_discipline_entry_begin']);
                    }
                    if ($_REQUEST['month_discipline_entry_end'] && $_REQUEST['day_discipline_entry_end'] && $_REQUEST['year_discipline_entry_end']) {
                        $_REQUEST['discipline_entry_end'] = $_REQUEST['day_discipline_entry_end'] . '-' . $_REQUEST['month_discipline_entry_end'] . '-' . $_REQUEST['year_discipline_entry_end'];
                        if (!VerifyDate($_REQUEST['discipline_entry_end'])) {
                            unset($_REQUEST['discipline_entry_end']);
                        }
                        unset($_REQUEST['day_discipline_entry_end']);
                        unset($_REQUEST['month_discipline_entry_end']);
                        unset($_REQUEST['year_discipline_entry_end']);
                    }
                    if ($_REQUEST['discipline_reporter'] || $_REQUEST['discipline_entry_begin'] || $_REQUEST['discipline_entry_end'] || count($_REQUEST['discipline']) || count($_REQUEST['discipline_begin']) || count($_REQUEST['discipline_end'])) {
                        $extra['WHERE'] .= ' AND dr.STUDENT_ID=ssm.STUDENT_ID AND dr.SYEAR=ssm.SYEAR AND dr.SCHOOL_ID=ssm.SCHOOL_ID ';
                        $extra['FROM'] .= ',DISCIPLINE_REFERRALS dr ';
                    }
                    $users_RET = DBGet(DBQuery("SELECT STAFF_ID,FIRST_NAME,LAST_NAME,MIDDLE_NAME FROM STAFF WHERE SYEAR='" . UserSyear() . "' AND (SCHOOLS IS NULL OR SCHOOLS LIKE '%," . UserSchool() . ",%') AND (PROFILE='admin' OR PROFILE='teacher') ORDER BY LAST_NAME,FIRST_NAME,MIDDLE_NAME"), array(), array('STAFF_ID'));
                    if ($_REQUEST['discipline_reporter']) {
                        $extra['WHERE'] .= " AND dr.STAFF_ID='{$_REQUEST['discipline_reporter']}' ";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Reporter') . ': </b>' . $users_RET[$_REQUEST['discipline_reporter']][1]['LAST_NAME'] . ', ' . $users_RET[$_REQUEST['discipline_reporter']][1]['FIRST_NAME'] . ' ' . $users_RET[$_REQUEST['discipline_reporter']][1]['MIDDLE_NAME'] . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Reporter') . '</TD><TD>';
                    $extra['search'] .= '<SELECT name=discipline_reporter><OPTION value="">' . _('Not Specified') . '</OPTION>';
                    foreach ($users_RET as $id => $user) {
                        $extra['search'] .= '<OPTION value=' . $id . '>' . $user[1]['LAST_NAME'] . ', ' . $user[1]['FIRST_NAME'] . ' ' . $user[1]['MIDDLE_NAME'] . '</OPTION>';
                    }
                    $extra['search'] .= '</SELECT>';
                    $extra['search'] .= '</TD></TR>';
                    $discipline_entry_begin_for_ProperDate = $_REQUEST['discipline_entry_begin'];
                    if (mb_strlen($_REQUEST['discipline_entry_begin']) > 10) {
                        //date = LAST_LOGIN = date + time
                        $discipline_entry_begin_for_ProperDate = mb_substr($_REQUEST['discipline_entry_begin'], 0, 10);
                    }
                    if ($_REQUEST['discipline_entry_begin'] && $_REQUEST['discipline_entry_end']) {
                        $extra['WHERE'] .= " AND dr.ENTRY_DATE BETWEEN '{$_REQUEST['discipline_entry_begin']}' AND '{$_REQUEST['discipline_entry_end']}' ";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Incident Date') . ' ' . _('Between') . ': </b>' . ProperDate($discipline_entry_begin_for_ProperDate) . '<b> ' . _('and') . ' </b>' . ProperDate($_REQUEST['discipline_entry_end']) . '<BR />';
                        }
                    } elseif ($_REQUEST['discipline_entry_begin']) {
                        $extra['WHERE'] .= " AND dr.ENTRY_DATE>='{$_REQUEST['discipline_entry_begin']}' ";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Incident Entered') . ' ' . _('On or After') . ' </b>' . ProperDate($discipline_entry_begin_for_ProperDate) . '<BR />';
                        }
                    } elseif ($_REQUEST['discipline_entry_end']) {
                        $extra['WHERE'] .= " AND dr.ENTRY_DATE<='{$_REQUEST['discipline_entry_end']}' ";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Incident Entered') . ' ' . _('On or Before') . ' </b>' . ProperDate($_REQUEST['discipline_entry_end']) . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Incident Date') . '</TD><TD><table class="cellpadding-0 cellspacing-0"><tr><td><span class="sizep2">&ge;</span>&nbsp;</td><td>' . PrepareDate('', '_discipline_entry_begin', true, array('short' => true)) . '</td></tr><tr><td><span class="sizep2">&le;</span>&nbsp;</td><td>' . PrepareDate('', '_discipline_entry_end', true, array('short' => true)) . '</td></tr></table></TD></TR>';
                }
                /*break;
                
                			case 'discipline_categories':*/
                if ($RosarioModules['Discipline']) {
                    $categories_RET = DBGet(DBQuery("SELECT f.ID,u.TITLE,f.DATA_TYPE,u.SELECT_OPTIONS FROM DISCIPLINE_FIELDS f,DISCIPLINE_FIELD_USAGE u WHERE u.DISCIPLINE_FIELD_ID=f.ID AND u.SYEAR='" . UserSyear() . "' AND u.SCHOOL_ID='" . UserSchool() . "' AND f.DATA_TYPE!='textarea'"));
                    foreach ($categories_RET as $category) {
                        if ($category['DATA_TYPE'] != 'date') {
                            $extra['search'] .= '<TR><TD width="150">' . $category['TITLE'] . '</TD><TD>';
                            switch ($category['DATA_TYPE']) {
                                case 'text':
                                    $extra['search'] .= '<INPUT type="text" name="discipline[' . $category['ID'] . ']" />';
                                    if ($_REQUEST['discipline'][$cateogory['ID']]) {
                                        $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " LIKE '" . $_REQUEST['discipline'][$cateogory['ID']] . "%' ";
                                    }
                                    break;
                                case 'checkbox':
                                    $extra['search'] .= '<INPUT type="checkbox" name="discipline[' . $category['ID'] . ']" value="Y" />';
                                    if ($_REQUEST['discipline'][$cateogory['ID']]) {
                                        $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " = 'Y' ";
                                    }
                                    break;
                                case 'numeric':
                                    $extra['search'] .= '<small>' . _('Between') . ' </small><INPUT type="text" name="discipline_begin[' . $category['ID'] . ']" size="3" maxlength="11" /> & <INPUT type="text" name="discipline_end[' . $category['ID'] . ']" size="3" maxlength="11" />';
                                    if ($_REQUEST['discipline_begin'][$cateogory['ID']] && $_REQUEST['discipline_begin'][$cateogory['ID']]) {
                                        $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " BETWEEN '" . $_REQUEST['discipline_begin'][$cateogory['ID']] . "' AND '" . $_REQUEST['discipline_end'][$cateogory['ID']] . "' ";
                                    }
                                    break;
                                case 'multiple_checkbox':
                                case 'multiple_radio':
                                case 'select':
                                    $category['SELECT_OPTIONS'] = str_replace("\n", "\r", str_replace("\r\n", "\r", $category['SELECT_OPTIONS']));
                                    $category['SELECT_OPTIONS'] = explode("\r", $category['SELECT_OPTIONS']);
                                    $extra['search'] .= '<SELECT name="discipline[' . $category['ID'] . ']"><OPTION value="">' . _('N/A') . '</OPTION>';
                                    foreach ($category['SELECT_OPTIONS'] as $option) {
                                        $extra['search'] .= '<OPTION value="' . $option . '">' . $option . '</OPTION>';
                                    }
                                    $extra['search'] .= '</SELECT>';
                                    if (($category['DATA_TYPE'] == 'multiple_radio' || $category['DATA_TYPE'] == 'select') && $_REQUEST['discipline'][$category['ID']]) {
                                        $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " = '" . $_REQUEST['discipline'][$category['ID']] . "' ";
                                    } elseif ($category['DATA_TYPE'] == 'multiple_checkbox' && $_REQUEST['discipline'][$category['ID']]) {
                                        $extra['WHERE'] .= " AND dr.CATEGORY_" . $category['ID'] . " LIKE '%||" . $_REQUEST['discipline'][$category['ID']] . "||%' ";
                                    }
                                    break;
                            }
                            $extra['search'] .= '</TD></TR>';
                        }
                    }
                }
                break;
            case 'next_year':
                if ($RosarioModules['Students']) {
                    $schools_RET = DBGet(DBQuery("SELECT ID,TITLE FROM SCHOOLS WHERE ID!='" . UserSchool() . "' AND SYEAR='" . UserSyear() . "'"), array(), array('ID'));
                    if ($_REQUEST['next_year'] == '!') {
                        $extra['WHERE'] .= " AND ssm.NEXT_SCHOOL IS NULL";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Next Year')) . ' </b>' . _('No Value') . '<BR />';
                        }
                    } elseif ($_REQUEST['next_year'] != '') {
                        $extra['WHERE'] .= " AND ssm.NEXT_SCHOOL='" . $_REQUEST['next_year'] . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . Localize('colon', _('Next Year')) . ' </b>' . ($_REQUEST['next_year'] == UserSchool() ? 'Next grade at current school' : ($_REQUEST['next_year'] == '0' ? 'Retain' : ($_REQUEST['next_year'] == '-1' ? 'Do not enroll after this school year' : $schools_RET[$_REQUEST['next_year']][1]['TITLE']))) . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Next Year') . '</TD><TD><SELECT name="next_year"><OPTION value="">' . _('N/A') . '</OPTION><OPTION value="!">' . _('No Value') . '</OPTION><OPTION value="' . UserSchool() . '">' . _('Next grade at current school') . '</OPTION><OPTION value="0">' . _('Retain') . '</OPTION><OPTION value="-1">' . _('Do not enroll after this school year') . '</OPTION>';
                    foreach ($schools_RET as $id => $school) {
                        $extra['search'] .= '<OPTION value=' . $id . '>' . $school[1]['TITLE'] . '</OPTION>';
                    }
                    $extra['search'] .= '</SELECT></TD></TR>';
                }
                break;
            case 'calendar':
                if ($RosarioModules['Students']) {
                    $calendars_RET = DBGet(DBQuery("SELECT CALENDAR_ID,TITLE FROM ATTENDANCE_CALENDARS WHERE SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' ORDER BY DEFAULT_CALENDAR ASC"), array(), array('CALENDAR_ID'));
                    if ($_REQUEST['calendar'] == '!') {
                        $extra['WHERE'] .= " AND ssm.CALENDAR_ID IS " . ($_REQUEST['calendar_not'] == 'Y' ? 'NOT ' : '') . "NULL";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Calendar') . ': </b>' . ($_REQUEST['calendar_not'] == 'Y' ? _('Any Value') : _('No Value')) . '<BR />';
                        }
                    } elseif ($_REQUEST['calendar'] != '') {
                        $extra['WHERE'] .= " AND ssm.CALENDAR_ID" . ($_REQUEST['calendar_not'] == 'Y' ? '!' : '') . "='" . $_REQUEST['calendar'] . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Calendar') . ': </b>' . ($_REQUEST['calendar_not'] == 'Y' ? _('Not') . ' ' : '') . $calendars_RET[$_REQUEST['calendar']][1]['TITLE'] . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Calendar') . '</TD><TD><label><INPUT type="checkbox" name="calendar_not" value="Y"> ' . _('Not') . ' </label><SELECT name="calendar"><OPTION value="">' . _('N/A') . '</OPTION><OPTION value="!">' . _('No Value') . '</OPTION>';
                    foreach ($calendars_RET as $id => $calendar) {
                        $extra['search'] .= '<OPTION value="' . $id . '">' . $calendar[1]['TITLE'] . '</OPTION>';
                    }
                    $extra['search'] .= '</SELECT></TD></TR>';
                }
                break;
            case 'enrolled':
                if ($RosarioModules['Students']) {
                    if ($_REQUEST['month_enrolled_begin'] && $_REQUEST['day_enrolled_begin'] && $_REQUEST['year_enrolled_begin']) {
                        $_REQUEST['enrolled_begin'] = $_REQUEST['day_enrolled_begin'] . '-' . $_REQUEST['month_enrolled_begin'] . '-' . $_REQUEST['year_enrolled_begin'];
                        if (!VerifyDate($_REQUEST['enrolled_begin'])) {
                            unset($_REQUEST['enrolled_begin']);
                        }
                    }
                    if ($_REQUEST['month_enrolled_end'] && $_REQUEST['day_enrolled_end'] && $_REQUEST['year_enrolled_end']) {
                        $_REQUEST['enrolled_end'] = $_REQUEST['day_enrolled_end'] . '-' . $_REQUEST['month_enrolled_end'] . '-' . $_REQUEST['year_enrolled_end'];
                        if (!VerifyDate($_REQUEST['enrolled_end'])) {
                            unset($_REQUEST['enrolled_end']);
                        }
                    }
                    if ($_REQUEST['enrolled_begin'] && $_REQUEST['enrolled_end']) {
                        $extra['WHERE'] .= " AND ssm.START_DATE BETWEEN '" . $_REQUEST['enrolled_begin'] . "' AND '" . $_REQUEST['enrolled_end'] . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Enrolled') . ' ' . _('Between') . ': </b>' . ProperDate($_REQUEST['enrolled_begin']) . ' and ' . ProperDate($_REQUEST['enrolled_end']) . '<BR />';
                        }
                    } elseif ($_REQUEST['enrolled_begin']) {
                        $extra['WHERE'] .= " AND ssm.START_DATE>='" . $_REQUEST['enrolled_begin'] . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Enrolled') . ' ' . _('On or After') . ': </b>' . ProperDate($_REQUEST['enrolled_begin']) . '<BR />';
                        }
                    }
                    if ($_REQUEST['enrolled_end']) {
                        $extra['WHERE'] .= " AND ssm.START_DATE<='" . $_REQUEST['enrolled_end'] . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Enrolled') . ' ' . _('On or Before') . ': </b>' . ProperDate($_REQUEST['enrolled_end']) . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Attendance Start') . '</TD><TD><table class="cellpadding-0 cellspacing-0"><tr><td><span class="sizep2">&ge;</span>&nbsp;</td><td>' . PrepareDate('', '_enrolled_begin', true, array('short' => true)) . '</td></tr><tr><td><span class="sizep2">&le;</span>&nbsp;</td><td>' . PrepareDate('', '_enrolled_end', true, array('short' => true)) . '</td></tr></table></TD></TR>';
                }
                break;
            case 'rolled':
                if ($RosarioModules['Students']) {
                    if ($_REQUEST['rolled']) {
                        $extra['WHERE'] .= " AND " . ($_REQUEST['rolled'] == 'Y' ? '' : 'NOT ') . "exists (SELECT '' FROM STUDENT_ENROLLMENT WHERE STUDENT_ID=ssm.STUDENT_ID AND SYEAR<ssm.SYEAR)";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Previously Enrolled') . ': </b>' . ($_REQUEST['rolled'] == 'Y' ? _('Yes') : _('No')) . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Previously Enrolled') . '</TD><TD><label><INPUT type="radio" value="" name="rolled" checked /> ' . _('N/A') . '</label> &nbsp;<label><INPUT type="radio" value="Y" name="rolled"> ' . _('Yes') . '</label> &nbsp;<label><INPUT type="radio" value="N" name="rolled"> ' . _('No') . '</label></TD></TR>';
                }
                break;
            case 'fsa_balance_warning':
                $value = $GLOBALS['warning'];
                $item = 'fsa_balance';
            case 'fsa_balance':
                if ($RosarioModules['Food_Service']) {
                    if ($_REQUEST['fsa_balance'] != '') {
                        if (!mb_strpos($extra['FROM'], 'fssa')) {
                            $extra['FROM'] .= ',FOOD_SERVICE_STUDENT_ACCOUNTS fssa';
                            $extra['WHERE'] .= ' AND fssa.STUDENT_ID=s.STUDENT_ID';
                        }
                        $extra['FROM'] .= ",FOOD_SERVICE_ACCOUNTS fsa";
                        $extra['WHERE'] .= " AND fsa.ACCOUNT_ID=fssa.ACCOUNT_ID AND fsa.BALANCE" . ($_REQUEST['fsa_bal_ge'] == 'Y' ? '>=' : '<') . "'" . round($_REQUEST['fsa_balance'], 2) . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Food Service Balance') . ': </b><span class="sizep2">' . ($_REQUEST['fsa_bal_ge'] == 'Y' ? '&ge;' : '&lt;') . number_format($_REQUEST['fsa_balance'], 2) . '</span><BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Balance') . '</TD><TD><table class="cellpadding-0 cellspacing-0"><tr><td><label><span class="sizep2">&lt;</span> <INPUT type="radio" name="fsa_bal_ge" value="" checked /></label></td><td rowspan="2"><INPUT type="text" name="fsa_balance" size=10' . ($value ? ' value="' . $value . '"' : '') . '></label></td></tr><tr><td><label><span class="sizep2">&ge;</span> <INPUT type="radio" name="fsa_bal_ge" value=Y></label></td></tr></table></TD></TR>';
                }
                break;
            case 'fsa_discount':
                if ($RosarioModules['Food_Service']) {
                    if ($_REQUEST['fsa_discount']) {
                        if (!mb_strpos($extra['FROM'], 'fssa')) {
                            $extra['FROM'] .= ",FOOD_SERVICE_STUDENT_ACCOUNTS fssa";
                            $extra['WHERE'] .= " AND fssa.STUDENT_ID=s.STUDENT_ID";
                        }
                        if ($_REQUEST['fsa_discount'] == 'Full') {
                            $extra['WHERE'] .= " AND fssa.DISCOUNT IS NULL";
                        } else {
                            $extra['WHERE'] .= " AND fssa.DISCOUNT='" . $_REQUEST['fsa_discount'] . "'";
                        }
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Food Service Discount') . ': </b>' . $_REQUEST['fsa_discount'] . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Discount') . '</TD><TD><SELECT name=fsa_discount><OPTION value="">' . _('Not Specified') . '</OPTION><OPTION value="Full">' . _('Full') . '</OPTION><OPTION value="Reduced">' . _('Reduced') . '</OPTION><OPTION value="Free">' . _('Free') . '</OPTION></SELECT></TD></TR>';
                }
                break;
            case 'fsa_status_active':
                $value = 'active';
                $item = 'fsa_status';
            case 'fsa_status':
                if ($RosarioModules['Food_Service']) {
                    if ($_REQUEST['fsa_status']) {
                        if (!mb_strpos($extra['FROM'], 'fssa')) {
                            $extra['FROM'] .= ",FOOD_SERVICE_STUDENT_ACCOUNTS fssa";
                            $extra['WHERE'] .= " AND fssa.STUDENT_ID=s.STUDENT_ID";
                        }
                        if ($_REQUEST['fsa_status'] == 'Active') {
                            $extra['WHERE'] .= " AND fssa.STATUS IS NULL";
                        } else {
                            $extra['WHERE'] .= " AND fssa.STATUS='" . $_REQUEST['fsa_status'] . "'";
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Account Status') . '</TD><TD><SELECT name=fsa_status><OPTION value="">' . _('Not Specified') . '</OPTION><OPTION value="Active"' . ($value == 'active' ? ' SELECTED="SELECTED"' : '') . '>' . _('Active') . '</OPTION><OPTION value="Inactive">' . _('Inactive') . '</OPTION><OPTION value="Disabled">' . _('Disabled') . '</OPTION><OPTION value="Closed">' . _('Closed') . '</OPTION></SELECT></TD></TR>';
                }
                break;
            case 'fsa_barcode':
                if ($RosarioModules['Food_Service']) {
                    if ($_REQUEST['fsa_barcode']) {
                        if (!mb_strpos($extra['FROM'], 'fssa')) {
                            $extra['FROM'] .= ",FOOD_SERVICE_STUDENT_ACCOUNTS fssa";
                            $extra['WHERE'] .= " AND fssa.STUDENT_ID=s.STUDENT_ID";
                        }
                        $extra['WHERE'] .= " AND fssa.BARCODE='" . $_REQUEST['fsa_barcode'] . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Food Service Barcode') . ': </b>' . $_REQUEST['fsa_barcode'] . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Barcode') . '</TD><TD><INPUT type="text" name="fsa_barcode" size="15"></TD></TR>';
                }
                break;
            case 'fsa_account_id':
                if ($RosarioModules['Food_Service']) {
                    if ($_REQUEST['fsa_account_id']) {
                        if (!mb_strpos($extra['FROM'], 'fssa')) {
                            $extra['FROM'] .= ",FOOD_SERVICE_STUDENT_ACCOUNTS fssa";
                            $extra['WHERE'] .= " AND fssa.STUDENT_ID=s.STUDENT_ID";
                        }
                        $extra['WHERE'] .= " AND fssa.ACCOUNT_ID='" . ($_REQUEST['fsa_account_id'] + 0) . "'";
                        if (!$extra['NoSearchTerms']) {
                            $_ROSARIO['SearchTerms'] .= '<b>' . _('Food Service Account ID') . ': </b>' . ($_REQUEST['fsa_account_id'] + 0) . '<BR />';
                        }
                    }
                    $extra['search'] .= '<TR><TD style="text-align:right; width:120px:">' . _('Account ID') . '</TD><TD><INPUT type="text" name="fsa_account_id" size="15"></TD></TR>';
                }
                break;
        }
        $_ROSARIO['Widgets'][$item] = true;
    }
}
示例#23
0
//  License along with this library; if not, write to the Free Software
//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
//
include 'common.php';
$locale = "";
GetRequestParameters();
SetLocalizedFilesPath(GetLocalizationPath());
//This detection assumed 2 browsers, IE and Mozilla.
//Because Mozilla cannot render properly the border within the cell, we show this border only on IE
$user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($user_agent, "msie")) {
    $borderColor = "#c0c0c0";
} else {
    $borderColor = "#dfdfdf";
}
// Load the HTML template, format it and returns it to the client
//
print Localize(file_get_contents("../viewerfiles/statusbar.templ"), $locale, GetClientOS());
function GetParameters($params)
{
    global $locale;
    $locale = ValidateLocaleString(GetParameter($params, 'LOCALE'));
}
function GetRequestParameters()
{
    if ($_SERVER['REQUEST_METHOD'] == "POST") {
        GetParameters($_POST);
    } else {
        GetParameters($_GET);
    }
}
示例#24
0
//  Lesser General Public License for more details.
//
//  You should have received a copy of the GNU Lesser General Public
//  License along with this library; if not, write to the Free Software
//  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
include 'common.php';
include 'constants.php';
$locale = GetDefaultLocale();
$scaleDenominator;
$annotations;
$args = GetRequestMethod();
GetParameters($args);
$templ = file_get_contents("../viewerfiles/quickplotpreviewinner.templ");
SetLocalizedFilesPath(GetLocalizationPath());
// Localize the page
$templ = Localize($templ, $locale, GetClientOS());
// Set some annotation labels in the page by replacing the placeholders in the html code
$templ = str_replace(array_keys($annotations), array_values($annotations), $templ);
// Set the date annotation according to its format mask
$pattern = "/\\{date:.*\\[php=(.+?)\\].+?\\}/";
$matches = array();
if (preg_match($pattern, $templ, $matches)) {
    $mask = $matches[1];
    $date = date($mask);
    $templ = preg_replace($pattern, $date, $templ);
}
$jsPath = "../viewerfiles/";
print sprintf($templ, $jsPath);
?>

<?php 
示例#25
0
 echo '<TABLE width=100% border=0 cellpadding=0 cellspacing=0>';
 echo '<TR><TD valign=top>';
 echo '<TABLE border=0 cellpadding=6 width=100%>';
 echo '<TR>';
 echo '<TD>';
 // warn if account non-existent (balance query failed)
 if ($student['BALANCE'] == '') {
     echo TextInput(array($student['ACCOUNT_ID'], '<FONT color=red>' . $student['ACCOUNT_ID'] . '</FONT>'), 'food_service[ACCOUNT_ID]', _('Account ID'), 'size=12 maxlength=10');
     $warning = 'Non-existent account!';
     echo button('warning', '', '# onMouseOver=\'stm(["Warning","' . $warning . '"],["white","#006699","","","",,"black","#e8e8ff","","","",,,,2,"#006699",2,,,,,"",,,,]);\' onMouseOut=\'htm()\'');
 } else {
     echo TextInput($student['ACCOUNT_ID'], 'food_service[ACCOUNT_ID]', 'Account ID', 'size=12 maxlength=10');
 }
 // warn if other students associated with the same account
 if (count($xstudents)) {
     $warning = Localize('colon', _('Other students associated with the same account')) . '<BR>';
     foreach ($xstudents as $xstudent) {
         $warning .= '&nbsp;' . str_replace('\'', '&#39;', $xstudent['FULL_NAME']) . '<BR>';
     }
     echo button('warning', '', '# onMouseOver=\'stm(["Warning","' . $warning . '"],["white","#006699","","","",,"black","#e8e8ff","","","",,,,2,"#006699",2,,,,,"",,,,]);\' onMouseOut=\'htm()\'');
 }
 echo '</TD>';
 $options = array('Inactive' => _('Inactive'), 'Disabled' => _('Disabled'), 'Closed' => _('Closed'));
 echo '<TD>' . SelectInput($student['STATUS'], 'food_service[STATUS]', _('Status'), $options, _('Active')) . '</TD>';
 echo '</TR><TR>';
 $options = array('Reduced' => 'Reduced', 'Free' => 'Free');
 echo '<TD>' . SelectInput($student['DISCOUNT'], 'food_service[DISCOUNT]', _('Discount'), $options, _('Full')) . '</TD>';
 echo '<TD>' . TextInput($student['BARCODE'], 'food_service[BARCODE]', _('Barcode'), 'size=12 maxlength=25') . '</TD>';
 echo '</TR>';
 echo '</TABLE>';
 echo '</TD></TR>';
示例#26
0
            }
            //echo '</body></html>';
            echo '</body>';
            PDFstop($handle);
        } else {
            BackPrompt(_('No Students were found.'));
        }
    }
}
if (!$_REQUEST['modfunc']) {
    DrawHeader(ProgramTitle());
    if ($_REQUEST['search_modfunc'] == 'list') {
        echo "<FORM action=Modules.php?modname={$_REQUEST['modname']}&modfunc=save&include_inactive={$_REQUEST['include_inactive']}&_search_all_schools={$_REQUEST['_search_all_schools']}" . (User('PROFILE') == 'admin' ? "&w_course_period_id_which={$_REQUEST['w_course_period_id_which']}&w_course_period_id={$_REQUEST['w_course_period_id']}" : '') . "&_CENTRE_PDF=true method=POST>";
        $extra['header_right'] = '<INPUT type=submit value="' . _('Create Labels for Selected Students') . '">';
        $extra['extra_header_left'] = '<TABLE>';
        $extra['extra_header_left'] .= '<TR><TD colspan=4><b>' . Localize('colon', _('Include On Labels')) . '</b></TD></TR>';
        $extra['extra_header_left'] .= '<TR>';
        if (Preferences('NAME') == 'Common') {
            $extra['extra_header_left'] .= '<TD><INPUT type=radio name=full_name value="" checked><small>' . _('Last, Common') . '</small></TD>';
            $extra['extra_header_left'] .= '<TD><INPUT type=radio name=full_name value=given><small>' . _('Last, Given Middle') . '</small></TD>';
        } else {
            $extra['extra_header_left'] .= '<TD><INPUT type=radio name=full_name value="" checked><small>' . _('Last, Given Middle') . '</small></TD>';
            $extra['extra_header_left'] .= '<TD><INPUT type=radio name=full_name value=common><small>' . _('Last, Common') . '</small></TD>';
        }
        $extra['extra_header_left'] .= '<TD><INPUT type=radio name=full_name value=given_natural><small>' . _('Given Last') . '</small></TD>';
        $extra['extra_header_left'] .= '<TD><INPUT type=radio name=full_name value=common_natural><small>' . _('Common Last') . '</small></TD></TR>';
        if (User('PROFILE') == 'admin') {
            if ($_REQUEST['w_course_period_id_which'] == 'course_period' && $_REQUEST['w_course_period_id']) {
                $course_RET = DBGet(DBQuery("SELECT s.FIRST_NAME||' '||s.LAST_NAME AS TEACHER,cp.ROOM FROM STAFF s,COURSE_PERIODS cp WHERE s.STAFF_ID=cp.TEACHER_ID AND cp.COURSE_PERIOD_ID='{$_REQUEST['w_course_period_id']}'"));
                $extra['extra_header_left'] .= '<TR><TD colspan=4><INPUT type=checkbox name=teacher value=Y>' . _('Teacher') . ' (' . $course_RET[1]['TEACHER'] . ')</TD></TR>';
                $extra['extra_header_left'] .= '<TR><TD colspan=4><INPUT type=checkbox name=room value=Y>' . _('Room') . ' (' . $course_RET[1]['ROOM'] . ')</TD></TR>';
示例#27
0
        DBQuery($sql);
    }
    $RET = DBGet(DBQuery("SELECT 'completed' AS COMPLETED FROM ELIGIBILITY_COMPLETED WHERE STAFF_ID='" . User('STAFF_ID') . "' AND SCHOOL_DATE BETWEEN '{$start_date}' AND '{$end_date}' AND PERIOD_ID='" . UserPeriod() . "'"));
    if (!count($RET)) {
        DBQuery("INSERT INTO ELIGIBILITY_COMPLETED (STAFF_ID,SCHOOL_DATE,PERIOD_ID) values('" . User('STAFF_ID') . "','" . DBDate() . "','" . UserPeriod() . "')");
    }
    $current_RET = DBGet(DBQuery("SELECT ELIGIBILITY_CODE,STUDENT_ID FROM ELIGIBILITY WHERE SCHOOL_DATE BETWEEN '{$start_date}' AND '{$end_date}' AND PERIOD_ID='" . UserPeriod() . "'"), array(), array('STUDENT_ID'));
}
$extra['SELECT'] .= ",'' AS PASSING,'' AS BORDERLINE,'' AS FAILING,'' AS INCOMPLETE";
$extra['functions'] = array('PASSING' => 'makeRadio', 'BORDERLINE' => 'makeRadio', 'FAILING' => 'makeRadio', 'INCOMPLETE' => 'makeRadio');
$columns = array('PASSING' => _('Passing'), 'BORDERLINE' => _('Borderline'), 'FAILING' => _('Failing'), 'INCOMPLETE' => _('Incomplete'));
$stu_RET = GetStuList($extra);
echo "<FORM ACTION=Modules.php?modname={$_REQUEST['modname']} method=POST>";
DrawHeader(ProgramTitle());
if ($today > $END_DAY || $today < $START_DAY || $today == $START_DAY && date('Gi') < $START_HOUR . $START_MINUTE || $today == $END_DAY && date('Gi') > $END_HOUR . $END_MINUTE) {
    echo ErrorMessage(array(sprintf(_('You can only enter eligibility from %s %s to %s %s.'), $days[$START_DAY], Localize('time', array('hour' => $START_HOUR, 'minute' => $START_MINUTE)), $days[$END_DAY], Localize('time', array('hour' => $END_HOUR, 'minute' => $END_MINUTE)))), 'error');
} else {
    DrawHeader("<A HREF=Modules.php?modname={$_REQUEST['modname']}&modfunc=gradebook>" . _('Use Gradebook Grades') . "</A>", '<INPUT type=submit value="' . _('Save') . '">');
    $LO_columns = array('FULL_NAME' => _('Student'), 'STUDENT_ID' => _('Centre ID'), 'GRADE_ID' => _('Grade')) + $columns;
    ListOutput($stu_RET, $LO_columns, _('Student'), _('Students'));
    echo '<CENTER><INPUT type=submit value="' . _('Save') . '"></CENTER>';
}
echo "</FORM>";
function makeRadio($value, $title)
{
    global $THIS_RET, $current_RET;
    if (isset($current_RET[$THIS_RET['STUDENT_ID']][1]['ELIGIBILITY_CODE']) && $current_RET[$THIS_RET['STUDENT_ID']][1]['ELIGIBILITY_CODE'] == $title || $title == 'PASSING' && !$current_RET[$THIS_RET['STUDENT_ID']][1]['ELIGIBILITY_CODE']) {
        return "<INPUT type=radio name=values[" . $THIS_RET['STUDENT_ID'] . "] value='{$title}' CHECKED>";
    } else {
        return "<INPUT type=radio name=values[" . $THIS_RET['STUDENT_ID'] . "] value='{$title}'>";
    }
示例#28
0
            }
            PDFStop($handle);
        } else {
            BackPrompt(_('No Students were found.'));
        }
    } else {
        BackPrompt(_('You must choose at least one student and marking period'));
    }
}
if (!$_REQUEST['modfunc']) {
    DrawHeader(ProgramTitle());
    if ($_REQUEST['search_modfunc'] == 'list') {
        echo "<FORM action=modules/Grades/gentranscript.php method=POST>";
        $extra['header_right'] = '<INPUT type=submit value="' . _('Create Transcripts for Selected Students') . '">';
        $extra['extra_header_left'] = '<TABLE>';
        $extra['extra_header_left'] .= '<TR><TD colspan=2><b>' . Localize('colon', _('Include on Transcript')) . '</b><INPUT type=hidden name=SCHOOL_ID value=' . UserSchool() . '><BR></TD></TR>';
        $mp_types = DBGet(DBQuery("SELECT DISTINCT MP_TYPE FROM MARKING_PERIODS WHERE NOT MP_TYPE IS NULL AND SCHOOL_ID = " . UserSchool()), array(), array());
        $extra['extra_header_left'] .= '<TR><TD align=right>' . _('Marking Periods') . '</TD><TD><TABLE><TR><TD><TABLE>';
        foreach ($mp_types as $mp_type) {
            $extra['extra_header_left'] .= '<TR>';
            $extra['extra_header_left'] .= '<TD><INPUT type=checkbox name=mp_type_arr[] value=' . $mp_type['MP_TYPE'] . '>' . _(ucwords($mp_type['MP_TYPE'])) . '</TD>';
            $extra['extra_header_left'] .= '</TR>';
        }
        $extra['extra_header_left'] .= '</TABLE></TD>';
        $extra['extra_header_left'] .= '<INPUT type=hidden name=syear value=' . UserSyear() . '>';
        $extra['extra_header_left'] .= '<TD align=right width=20>&nbsp;</TD>';
        $extra['extra_header_left'] .= '<TD align=right>&nbsp;&nbsp;&nbsp;&nbsp;' . _('Other Options') . '</TD>';
        $extra['extra_header_left'] .= '<TD><TABLE>';
        $extra['extra_header_left'] .= '<TR><TD><INPUT type=checkbox name=showstudentpic value=1>' . _('Student Photo') . '</TD></TR>';
        //$extra['extra_header_left'] .= '<TR><TD><INPUT type=checkbox name=showsat value=1>SAT Scores</TD></TR>';
        $extra['extra_header_left'] .= '</TABLE></TD>';
示例#29
0
 //modif Francois: add <label> on checkbox
 $extra['extra_header_left'] .= '<TD><label><INPUT type="checkbox" name="elements[teacher]" value="Y" checked /> ' . _('Teacher') . '</label></TD>';
 $extra['extra_header_left'] .= '<TD></TD>';
 $extra['extra_header_left'] .= '</TR><TR>';
 $extra['extra_header_left'] .= '<TD><label><INPUT type="checkbox" name="elements[comments]" value="Y" checked /> ' . _('Comments') . '</label></TD>';
 $extra['extra_header_left'] .= '<TD><label><INPUT type="checkbox" name="elements[percents]" value="Y"> ' . _('Percents') . '</label></TD>';
 $extra['extra_header_left'] .= '</TR><TR>';
 $extra['extra_header_left'] .= '<TD><label><INPUT type="checkbox" name="elements[ytd_absences]" value="Y" checked /> ' . _('Year-to-date Daily Absences') . '</label></TD>';
 $extra['extra_header_left'] .= '<TD><label><INPUT type="checkbox" name="elements[mp_absences]" value="Y"' . (GetMP(UserMP(), 'SORT_ORDER') != 1 ? ' checked' : '') . '> ' . _('Daily Absences this quarter') . '</label></TD>';
 $extra['extra_header_left'] .= '</TR><TR>';
 $extra['extra_header_left'] .= '<TD><label><INPUT type="checkbox" name="elements[ytd_tardies]" value="Y"> ' . Localize('colon', _('Other Attendance Year-to-date')) . '</label> <SELECT name="ytd_tardies_code">';
 foreach ($attendance_codes as $code) {
     $extra['extra_header_left'] .= '<OPTION value=' . $code['ID'] . '>' . $code['TITLE'] . '</OPTION>';
 }
 $extra['extra_header_left'] .= '</SELECT></TD>';
 $extra['extra_header_left'] .= '<TD><label><INPUT type="checkbox" name="elements[mp_tardies]" value="Y"> ' . Localize('colon', _('Other Attendance Year-to-date')) . '</label> <SELECT name="mp_tardies_code">';
 foreach ($attendance_codes as $code) {
     $extra['extra_header_left'] .= '<OPTION value=' . $code['ID'] . '>' . $code['TITLE'] . '</OPTION>';
 }
 $extra['extra_header_left'] .= '</SELECT></TD>';
 $extra['extra_header_left'] .= '</TR><TR>';
 $extra['extra_header_left'] .= '<TD><label><INPUT type="checkbox" name="elements[period_absences]" value="Y"> ' . _('Period-by-period absences') . '</label></TD>';
 $extra['extra_header_left'] .= '<TD></TD>';
 $extra['extra_header_left'] .= '</TR>';
 $extra['extra_header_left'] .= '</TABLE></TD></TR>';
 //modif Francois: get the title instead of the short marking period name
 $mps_RET = DBGet(DBQuery("SELECT PARENT_ID,MARKING_PERIOD_ID,SHORT_NAME,TITLE FROM SCHOOL_MARKING_PERIODS WHERE MP='QTR' AND SYEAR='" . UserSyear() . "' AND SCHOOL_ID='" . UserSchool() . "' ORDER BY SORT_ORDER"), array(), array('PARENT_ID'));
 $extra['extra_header_left'] .= '<TR><TD style="text-align:right">' . _('Marking Periods') . ':</TD><TD><TABLE><TR><TD><TABLE>';
 foreach ($mps_RET as $sem => $quarters) {
     $extra['extra_header_left'] .= '<TR>';
     foreach ($quarters as $qtr) {
                            } else {
                                if ($attendance_RET[$month][$day]) {
                                    $attendance = $attendance_RET[$month][$day][1];
                                    echo '<TD class="center" style="background-color:#e80000;">' . $attendance['STATE_CODE'] . '</TD>';
                                } else {
                                    echo '<TD class="center" style="background-color:#FFDDDD;">&nbsp;</TD>';
                                }
                            }
                        }
                        echo '<TD style="text-align:right">' . number_format($abs, 1) . '</TD><TD style="text-align:right">' . number_format($tdy, 0) . '</TD><TD style="text-align:right">' . number_format($pos, 1) . '</TD></TR>';
                        $abs_tot += $abs;
                        $tdy_tot += $tdy;
                        $pos_tot += $pos;
                    }
                }
                echo '<TR><TD colspan="28"></TD><TD colspan="4" style="text-align:right;"><B>' . Localize('colon', _('YTD Totals')) . '</B></TD>';
                echo '<TD style="text-align:right">' . number_format($abs_tot, 1) . '</TD><TD style="text-align:right">' . number_format($tdy_tot, 0) . '</TD><TD style="text-align:right">' . number_format($pos_tot, 1) . '</TD></TR>';
                echo '</TABLE></TD></TR>';
                echo '</TABLE>';
                echo '</TD><TR>';
                echo '</TABLE>';
                echo '<div style="page-break-after: always;"></div>';
            }
            PDFStop($handle);
        } else {
            BackPrompt(_('No Students were found.'));
        }
    } else {
        BackPrompt(_('You must choose at least one student.'));
    }
}