Exemplo n.º 1
0
/**
 * Get polls
 *
 * @param array $params array of search parameters
 * @param string $lang_code language to get descriptions for
 * @return array array with found polls in first element and filtered parameters in second
 */
function fn_get_polls($params, $lang_code = CART_LANGUAGE)
{
    $auth = $_SESSION['auth'];
    $condition = '';
    if (!empty($params['item_ids'])) {
        $condition .= db_quote(" AND ?:pages.page_id IN (?n)", explode(',', $params['item_ids']));
    }
    if (AREA != 'A') {
        $condition .= " AND (" . fn_find_array_in_set($auth['usergroup_ids'], '?:pages.usergroup_ids', true) . ")";
    }
    $_data = db_get_array("SELECT ?:pages.page_id, ?:page_descriptions.page FROM ?:pages LEFT JOIN ?:page_descriptions ON ?:page_descriptions.page_id = ?:pages.page_id AND ?:page_descriptions.lang_code = ?s LEFT JOIN ?:polls ON ?:polls.page_id = ?:pages.page_id WHERE ?:pages.status = ?s AND ?:pages.page_type = ?s AND (?:pages.use_avail_period = ?s OR (?:pages.use_avail_period = ?s AND ?:pages.avail_from_timestamp <= ?i AND ?:pages.avail_till_timestamp >= ?i)) ?p ORDER BY position", $lang_code, 'A', PAGE_TYPE_POLL, 'N', 'Y', TIME, TIME, $condition);
    $polls = array();
    foreach ($_data as $k => $_poll) {
        $polls[$k] = fn_get_poll_data($_poll['page_id']);
        $polls[$k]['page'] = $_poll['page'];
    }
    return array($polls, $params);
}
Exemplo n.º 2
0
 if (!empty($_REQUEST['answer'])) {
     $answer = $_REQUEST['answer'];
 } else {
     $answer = array();
 }
 if (!empty($_REQUEST['answer_text'])) {
     $answer_text = $_REQUEST['answer_text'];
 } else {
     $answer_text = array();
 }
 if (!empty($_REQUEST['answer_more'])) {
     $answer_more = $_REQUEST['answer_more'];
 } else {
     $answer_more = array();
 }
 $poll = fn_get_poll_data($_REQUEST['page_id']);
 $error = false;
 foreach ($poll['questions'] as $key => $entry) {
     if ($entry['required'] == 'N') {
         continue;
     }
     if ($entry['type'] == 'T' && empty($answer_text[$key])) {
         $error = true;
         break;
     } elseif ($entry['type'] == 'M' && (!isset($answer[$key]) || !is_array($answer[$key]))) {
         $error = true;
         break;
     } elseif ($entry['type'] == 'Q' && empty($answer[$key])) {
         $error = true;
         break;
     }