Example #1
0
function search_results()
{
    global $vars, $db, $calendar_name, $sort_options, $order_options;
    $searchstring = $vars['searchstring'];
    $start = "{$vars['syear']}-{$vars['smonth']}-{$vars['sday']}";
    $end = "{$vars['eyear']}-{$vars['emonth']}-{$vars['eday']}";
    // make sure sort is valid
    $sort = $vars['sort'];
    if (array_search($sort, array_keys($sort_options)) === false) {
        soft_error(_('Invalid sort option') . ": {$sort}");
    }
    // make sure order is valid
    $order = $vars['order'];
    if (array_search($order, array_keys($order_options)) === false) {
        soft_error(_('Invalid order option') . ": {$order}");
    }
    $keywords = explode(" ", $searchstring);
    $words = array();
    foreach ($keywords as $keyword) {
        $words[] = "(subject LIKE '%{$keyword}%' " . "OR description LIKE '%{$keyword}%')\n";
    }
    $where = implode(' AND ', $words);
    $query = 'SELECT * FROM ' . SQL_PREFIX . "events " . "WHERE ({$where}) " . "AND calendar = '{$calendar_name}' " . "AND enddate >= DATE '{$start}' " . "AND startdate <= DATE '{$end}' " . "ORDER BY {$sort} {$order}";
    $result = $db->Execute($query) or db_error(_('Encountered an error while searching.'), $query);
    $tags = array();
    while ($row = $result->FetchRow()) {
        $name = stripslashes($row['uid']);
        $subject = stripslashes($row['subject']);
        $desc = nl2br(stripslashes($row['description']));
        $desc = parse_desc($desc);
        $tags[] = tag('tr', tag('td', attributes('class="phpc-list"'), tag('strong', create_id_link($subject, 'display', $row['id']))), tag('td', attributes('class="phpc-list"'), $row['startdate'] . ' ' . formatted_time_string($row['starttime'], $row['eventtype'])), tag('td', attributes('class="phpc-list"'), $desc));
    }
    if (sizeof($tags) == 0) {
        $html = tag('div', tag('strong', _('No events matched your search criteria.')));
    } else {
        $html = tag('table', attributes('class="phpc-main"'), tag('caption', _('Search Results')), tag('thead', tag('tr', tag('th', _('Subject')), tag('th', _('Date Time')), tag('th', _('Description')))));
        foreach ($tags as $tag) {
            $html->add($tag);
        }
    }
    return $html;
}
Example #2
0
function display_id($id)
{
    global $db, $year, $month, $day, $config;
    $row = get_event_by_id($id);
    $year = $row['year'];
    $month = $row['month'];
    $day = $row['day'];
    $time_str = formatted_time_string($row['starttime'], $row['eventtype']);
    $date_str = formatted_date_string($row['year'], $row['month'], $row['day'], $row['end_year'], $row['end_month'], $row['end_day']);
    $dur_str = get_duration($row['duration'], $row['eventtype']);
    $subject = htmlspecialchars(strip_tags(stripslashes($row['subject'])));
    if (empty($subject)) {
        $subject = _('(No subject)');
    }
    $name = stripslashes($row['username']);
    $desc = parse_desc($row['description']);
    if (check_user($row['uid']) || $config['anon_permission'] >= 2) {
        return tag('div', attributes('class="phpc-main"'), tag('h2', $subject), tag('div', 'by ', tag('cite', $name)), tag('div', create_id_link(_('Modify'), 'event_form', $id), "\n", create_id_link(_('Delete'), 'event_delete', $id)), tag('div', tag('div', _('Date') . ": {$date_str}"), tag('div', _('Time') . ": {$time_str}"), tag('div', _('Duration') . ": {$dur_str}")), tag('p', $desc));
    } else {
        return tag('div', attributes('class="phpc-main"'), tag('h2', $subject), tag('div', 'by ', tag('cite', $name)), tag('div', tag('div', _('Date') . ": {$date_str}"), tag('div', _('Time') . ": {$time_str}"), tag('div', _('Duration') . ": {$dur_str}")), tag('p', $desc));
    }
}
Example #3
0
 function get_desc()
 {
     return parse_desc($this->desc);
 }
Example #4
0
function parse_desc($SkillDesc, $JobClass, $Level, $Res)
{
    if (is_array($SkillDesc)) {
        for ($i = 0; $i < count($SkillDesc); $i++) {
            $Rest = $SkillDesc[$i];
            //Show($Rest);
            if (is_array($Rest)) {
                $compareTo = null;
                if ($Rest["condition"]["left_operand"] == "level") {
                    $compareTo = $Level;
                }
                if ($Rest["condition"]["left_operand"] == "class_job") {
                    $compareTo = $JobClass;
                }
                $result = false;
                switch ($Rest["condition"]["operator"]) {
                    case ">=":
                        if ($compareTo >= $Rest["condition"]["right_operand"]) {
                            $result = true;
                        }
                        break;
                    case "==":
                        if ($compareTo == $Rest["condition"]["right_operand"]) {
                            $result = true;
                        }
                        break;
                    case "<=":
                        if ($compareTo <= $Rest["condition"]["right_operand"]) {
                            $result = true;
                        }
                        break;
                    case "<":
                        if ($compareTo < $Rest["condition"]["right_operand"]) {
                            $result = true;
                        }
                        break;
                    case ">":
                        if ($compareTo > $Rest["condition"]["right_operand"]) {
                            $result = true;
                        }
                        break;
                    case "!=":
                        if ($compareTo != $Rest["condition"]["right_operand"]) {
                            $result = true;
                        }
                        break;
                }
                if ($result) {
                    $Res .= parse_desc($Rest["yes"], $JobClass, $Level, "");
                } else {
                    $Res .= parse_desc($Rest["no"], $JobClass, $Level, "");
                }
            } else {
                $Res .= $Rest;
            }
        }
        return $Res;
    } else {
        return $Res . $SkillDesc;
    }
}
Example #5
0
function parse_proto($proto)
{
    if (!preg_match('/proto\\s+(?:(?:static|final|protected)\\s+)?([a-zA-Z]+)\\s+([a-zA-Z0-9:_-]+)\\s*\\((.*)\\)\\s+([\\000-\\377]+)/', $proto, $match)) {
        echo "Not a proper proto definition: {$proto}\n";
        return;
    }
    $func_number = new_function();
    function_add_type($func_number, $match[1]);
    function_add_name($func_number, $match[2]);
    parse_desc($func_number, $match[4]);
    // now parse the arguments
    preg_match_all('/(?:(\\[),\\s*)?([a-zA-Z]+)\\s+(&?[a-zA-Z0-9:_-]+)/', $match[3], $match, PREG_SET_ORDER);
    foreach ($match as $arg) {
        function_add_arg($func_number, $arg[2], $arg[3], $arg[1]);
    }
}