当前位置: 首页>>代码示例>>PHP>>正文


PHP getDateFormatDataForQID函数代码示例

本文整理汇总了PHP中getDateFormatDataForQID函数的典型用法代码示例。如果您正苦于以下问题:PHP getDateFormatDataForQID函数的具体用法?PHP getDateFormatDataForQID怎么用?PHP getDateFormatDataForQID使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了getDateFormatDataForQID函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: insert


//.........这里部分代码省略.........
                     $fieldname = $irow['fieldname'];
                     if (isset($_POST[$fieldname])) {
                         if ($_POST[$fieldname] == "" && ($irow['type'] == 'D' || $irow['type'] == 'N' || $irow['type'] == 'K')) {
                             // can't add '' in Date column
                             // Do nothing
                         } else {
                             if ($irow['type'] == '|') {
                                 if (!strpos($irow['fieldname'], "_filecount")) {
                                     $json = $_POST[$fieldname];
                                     $phparray = json_decode(stripslashes($json));
                                     $filecount = 0;
                                     for ($i = 0; $filecount < count($phparray); $i++) {
                                         if ($_FILES[$fieldname . "_file_" . $i]['error'] != 4) {
                                             $target = Yii::app()->getConfig('uploaddir') . "/surveys/" . $thissurvey['sid'] . "/files/" . randomChars(20);
                                             $size = 0.001 * $_FILES[$fieldname . "_file_" . $i]['size'];
                                             $name = rawurlencode($_FILES[$fieldname . "_file_" . $i]['name']);
                                             if (move_uploaded_file($_FILES[$fieldname . "_file_" . $i]['tmp_name'], $target)) {
                                                 $phparray[$filecount]->filename = basename($target);
                                                 $phparray[$filecount]->name = $name;
                                                 $phparray[$filecount]->size = $size;
                                                 $pathinfo = pathinfo($_FILES[$fieldname . "_file_" . $i]['name']);
                                                 $phparray[$filecount]->ext = $pathinfo['extension'];
                                                 $filecount++;
                                             }
                                         }
                                     }
                                     $insert_data[$fieldname] = ls_json_encode($phparray);
                                 } else {
                                     $insert_data[$fieldname] = count($phparray);
                                 }
                             } elseif ($irow['type'] == 'D') {
                                 Yii::app()->loadLibrary('Date_Time_Converter');
                                 $qidattributes = getQuestionAttributeValues($irow['qid'], $irow['type']);
                                 $dateformatdetails = getDateFormatDataForQID($qidattributes, $thissurvey);
                                 $datetimeobj = new Date_Time_Converter($_POST[$fieldname], $dateformatdetails['phpdate']);
                                 $insert_data[$fieldname] = $datetimeobj->convert("Y-m-d H:i:s");
                             } else {
                                 $insert_data[$fieldname] = $_POST[$fieldname];
                             }
                         }
                     }
                 }
                 Survey_dynamic::sid($surveyid);
                 $new_response = new Survey_dynamic();
                 foreach ($insert_data as $column => $value) {
                     $new_response->{$column} = $value;
                 }
                 $new_response->save();
                 $last_db_id = $new_response->getPrimaryKey();
                 if (isset($_POST['closerecord']) && isset($_POST['token']) && $_POST['token'] != '') {
                     // get submit date
                     if (isset($_POST['closedate'])) {
                         $submitdate = $_POST['closedate'];
                     } else {
                         $submitdate = dateShift(date("Y-m-d H:i:s"), "Y-m-d", $timeadjust);
                     }
                     // check how many uses the token has left
                     $usesquery = "SELECT usesleft FROM {{tokens_}}{$surveyid} WHERE token='" . $_POST['token'] . "'";
                     $usesresult = dbExecuteAssoc($usesquery);
                     $usesrow = $usesresult->readAll();
                     //$usesresult->row_array()
                     if (isset($usesrow)) {
                         $usesleft = $usesrow[0]['usesleft'];
                     }
                     // query for updating tokens
                     $utquery = "UPDATE {{tokens_{$surveyid}}}\n";
开发者ID:rawaludin,项目名称:LimeSurvey,代码行数:67,代码来源:dataentry.php

示例2: getExtendedAnswer

/**
* @param integer $iSurveyID The Survey ID
* @param string $sFieldCode Field code of the particular field
* @param string $sValue The stored response value
* @param string $sLanguage Initialized limesurvey_lang object for the resulting response data
* @return string
*/
function getExtendedAnswer($iSurveyID, $sFieldCode, $sValue, $sLanguage)
{
    if ($sValue == null || $sValue == '') {
        return '';
    }
    //Fieldcode used to determine question, $sValue used to match against answer code
    //Returns NULL if question type does not suit
    if (strpos($sFieldCode, "{$iSurveyID}X") === 0) {
        $fieldmap = createFieldMap($iSurveyID, 'short', false, false, $sLanguage);
        if (isset($fieldmap[$sFieldCode])) {
            $fields = $fieldmap[$sFieldCode];
        } else {
            return false;
        }
        // If it is a comment field there is nothing to convert here
        if ($fields['aid'] == 'comment') {
            return $sValue;
        }
        //Find out the question type
        $this_type = $fields['type'];
        switch ($this_type) {
            case 'D':
                if (trim($sValue) != '') {
                    $qidattributes = getQuestionAttributeValues($fields['qid']);
                    $dateformatdetails = getDateFormatDataForQID($qidattributes, $iSurveyID);
                    $sValue = convertDateTimeFormat($sValue, "Y-m-d H:i:s", $dateformatdetails['phpdate']);
                }
                break;
            case 'N':
                if (trim($sValue) != '') {
                    if (strpos($sValue, ".") !== false) {
                        $sValue = rtrim(rtrim($sValue, "0"), ".");
                    }
                    $qidattributes = getQuestionAttributeValues($fields['qid']);
                    if ($qidattributes['num_value_int_only']) {
                        $sValue = number_format($sValue, 0, '', '');
                    }
                }
                break;
            case "L":
            case "!":
            case "O":
            case "^":
            case "I":
            case "R":
                $result = Answer::model()->getAnswerFromCode($fields['qid'], $sValue, $sLanguage);
                foreach ($result as $row) {
                    $this_answer = $row['answer'];
                }
                // while
                if ($sValue == "-oth-") {
                    $this_answer = gT("Other", null, $sLanguage);
                }
                break;
            case "M":
            case "J":
            case "P":
                switch ($sValue) {
                    case "Y":
                        $this_answer = gT("Yes", null, $sLanguage);
                        break;
                }
                break;
            case "Y":
                switch ($sValue) {
                    case "Y":
                        $this_answer = gT("Yes", null, $sLanguage);
                        break;
                    case "N":
                        $this_answer = gT("No", null, $sLanguage);
                        break;
                    default:
                        $this_answer = gT("No answer", null, $sLanguage);
                }
                break;
            case "G":
                switch ($sValue) {
                    case "M":
                        $this_answer = gT("Male", null, $sLanguage);
                        break;
                    case "F":
                        $this_answer = gT("Female", null, $sLanguage);
                        break;
                    default:
                        $this_answer = gT("No answer", null, $sLanguage);
                }
                break;
            case "C":
                switch ($sValue) {
                    case "Y":
                        $this_answer = gT("Yes", null, $sLanguage);
                        break;
                    case "N":
//.........这里部分代码省略.........
开发者ID:GuillaumeSmaha,项目名称:LimeSurvey,代码行数:101,代码来源:common_helper.php

示例3: do_date

function do_date($ia)
{
    global $thissurvey;
    $aQuestionAttributes = getQuestionAttributeValues($ia[0], $ia[4]);
    $sDateLangvarJS = " translt = {\n         alertInvalidDate: '" . gT('Date entered is invalid!', 'js') . "',\n         infoCompleteAll: '" . gT('Please complete all parts of the date!', 'js') . "'\n        };";
    App()->getClientScript()->registerScript("sDateLangvarJS", $sDateLangvarJS, CClientScript::POS_HEAD);
    App()->getClientScript()->registerScriptFile(Yii::app()->getConfig("generalscripts") . 'date.js');
    App()->getClientScript()->registerScriptFile(Yii::app()->getConfig("third_party") . 'jstoolbox/date.js');
    $checkconditionFunction = "checkconditions";
    $dateformatdetails = getDateFormatDataForQID($aQuestionAttributes, $thissurvey);
    $numberformatdatat = getRadixPointData($thissurvey['surveyls_numberformat']);
    $sMindatetailor = '';
    $sMaxdatetailor = '';
    // date_min: Determine whether we have an expression, a full date (YYYY-MM-DD) or only a year(YYYY)
    if (trim($aQuestionAttributes['date_min']) != '') {
        $date_min = $aQuestionAttributes['date_min'];
        if (preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/", $date_min)) {
            $mindate = $date_min;
        } elseif (strlen($date_min) == 4 && $date_min >= 1900 && $date_min <= 2099) {
            // backward compatibility: if only a year is given, add month and day
            $mindate = $date_min . '-01-01';
        } else {
            $mindate = '{' . $aQuestionAttributes['date_min'] . '}';
            // get the LEMtailor ID, remove the span tags
            $sMindatespan = LimeExpressionManager::ProcessString($mindate, $ia[0], NULL, false, 1, 1);
            preg_match("/LEMtailor_Q_[0-9]{1,7}_[0-9]{1,3}/", $sMindatespan, $matches);
            if (isset($matches[0])) {
                $sMindatetailor = $matches[0];
            }
        }
    } else {
        $mindate = '1900-01-01';
    }
    // date_max: Determine whether we have an expression, a full date (YYYY-MM-DD) or only a year(YYYY)
    if (trim($aQuestionAttributes['date_max']) != '') {
        $date_max = $aQuestionAttributes['date_max'];
        if (preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/", $date_max)) {
            $maxdate = $date_max;
        } elseif (strlen($date_max) == 4 && $date_max >= 1900 && $date_max <= 2099) {
            // backward compatibility: if only a year is given, add month and day
            $maxdate = $date_max . '-12-31';
        } else {
            $maxdate = '{' . $aQuestionAttributes['date_max'] . '}';
            // get the LEMtailor ID, remove the span tags
            $sMaxdatespan = LimeExpressionManager::ProcessString($maxdate, $ia[0], NULL, false, 1, 1);
            preg_match("/LEMtailor_Q_[0-9]{1,7}_[0-9]{1,3}/", $sMaxdatespan, $matches);
            if (isset($matches[0])) {
                $sMaxdatetailor = $matches[0];
            }
        }
    } else {
        $maxdate = '2037-12-31';
    }
    if (trim($aQuestionAttributes['dropdown_dates']) == 1) {
        if (!empty($_SESSION['survey_' . Yii::app()->getConfig('surveyID')][$ia[1]]) & $_SESSION['survey_' . Yii::app()->getConfig('surveyID')][$ia[1]] != 'INVALID') {
            $datetimeobj = new Date_Time_Converter($_SESSION['survey_' . Yii::app()->getConfig('surveyID')][$ia[1]], "Y-m-d H:i:s");
            $currentyear = $datetimeobj->years;
            $currentmonth = $datetimeobj->months;
            $currentdate = $datetimeobj->days;
            $currenthour = $datetimeobj->hours;
            $currentminute = $datetimeobj->minutes;
        } else {
            $currentdate = '';
            $currentmonth = '';
            $currentyear = '';
            $currenthour = '';
            $currentminute = '';
        }
        $dateorder = preg_split('/([-\\.\\/ :])/', $dateformatdetails['phpdate'], -1, PREG_SPLIT_DELIM_CAPTURE);
        $answer = '<p class="question answer-item dropdown-item date-item">';
        foreach ($dateorder as $datepart) {
            switch ($datepart) {
                // Show day select box
                case 'j':
                case 'd':
                    $answer .= '<label for="day' . $ia[1] . '" class="hide">' . gT('Day') . '</label><select id="day' . $ia[1] . '" name="day' . $ia[1] . '" class="day">
                    <option value="">' . gT('Day') . "</option>\n";
                    for ($i = 1; $i <= 31; $i++) {
                        if ($i == $currentdate) {
                            $i_date_selected = SELECTED;
                        } else {
                            $i_date_selected = '';
                        }
                        $answer .= '<option value="' . sprintf('%02d', $i) . '"' . $i_date_selected . '>' . sprintf('%02d', $i) . "</option>\n";
                    }
                    $answer .= '</select>';
                    break;
                    // Show month select box
                // Show month select box
                case 'n':
                case 'm':
                    $answer .= '<label for="month' . $ia[1] . '" class="hide">' . gT('Month') . '</label><select id="month' . $ia[1] . '" name="month' . $ia[1] . '" class="month">
                    <option value="">' . gT('Month') . "</option>\n";
                    switch ((int) trim($aQuestionAttributes['dropdown_dates_month_style'])) {
                        case 0:
                            $montharray = array(gT('Jan'), gT('Feb'), gT('Mar'), gT('Apr'), gT('May'), gT('Jun'), gT('Jul'), gT('Aug'), gT('Sep'), gT('Oct'), gT('Nov'), gT('Dec'));
                            break;
                        case 1:
                            $montharray = array(gT('January'), gT('February'), gT('March'), gT('April'), gT('May'), gT('June'), gT('July'), gT('August'), gT('September'), gT('October'), gT('November'), gT('December'));
                            break;
//.........这里部分代码省略.........
开发者ID:segfault,项目名称:LimeSurvey,代码行数:101,代码来源:qanda_helper.php

示例4: do_date

function do_date($ia)
{
    global $thissurvey;
    $aQuestionAttributes = QuestionAttribute::model()->getQuestionAttributes($ia[0]);
    $checkconditionFunction = "checkconditions";
    $dateformatdetails = getDateFormatDataForQID($aQuestionAttributes, $thissurvey);
    $numberformatdatat = getRadixPointData($thissurvey['surveyls_numberformat']);
    $inputnames = array();
    $sDateLangvarJS = " translt = {\n         alertInvalidDate: '" . gT('Date entered is invalid!', 'js') . "',\n        };";
    App()->getClientScript()->registerScript("sDateLangvarJS", $sDateLangvarJS, CClientScript::POS_HEAD);
    App()->getClientScript()->registerScriptFile(Yii::app()->getConfig("generalscripts") . 'date.js');
    App()->getClientScript()->registerPackage('moment');
    // date_min: Determine whether we have an expression, a full date (YYYY-MM-DD) or only a year(YYYY)
    if (trim($aQuestionAttributes['date_min']) != '') {
        $date_min = trim($aQuestionAttributes['date_min']);
        $date_time_em = strtotime(LimeExpressionManager::ProcessString("{" . $date_min . "}", $ia[0]));
        if (ctype_digit($date_min) && strlen($date_min) == 4 && $date_min >= 1900 && $date_min <= 2099) {
            $mindate = $date_min . '-01-01';
            // backward compatibility: if only a year is given, add month and day
        } elseif (preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/", $date_min)) {
            $mindate = $date_min;
        } elseif ($date_time_em) {
            $mindate = date("Y-m-d", $date_time_em);
        } else {
            $mindate = '{' . $aQuestionAttributes['date_min'] . '}';
        }
    } else {
        $mindate = '1900-01-01';
        // Why 1900 ?
    }
    // date_max: Determine whether we have an expression, a full date (YYYY-MM-DD) or only a year(YYYY)
    if (trim($aQuestionAttributes['date_max']) != '') {
        $date_max = trim($aQuestionAttributes['date_max']);
        $date_time_em = strtotime(LimeExpressionManager::ProcessString("{" . $date_max . "}", $ia[0]));
        if (ctype_digit($date_max) && strlen($date_max) == 4 && $date_max >= 1900 && $date_max <= 2099) {
            $maxdate = $date_max . '-12-31';
            // backward compatibility: if only a year is given, add month and day
        } elseif (preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/", $date_max)) {
            $maxdate = $date_max;
        } elseif ($date_time_em) {
            $maxdate = date("Y-m-d", $date_time_em);
        } else {
            $maxdate = '{' . $aQuestionAttributes['date_max'] . '}';
        }
    } else {
        $maxdate = '2037-12-31';
        // Why 2037 ?
    }
    if (trim($aQuestionAttributes['dropdown_dates']) == 1) {
        if (!empty($_SESSION['survey_' . Yii::app()->getConfig('surveyID')][$ia[1]]) && $_SESSION['survey_' . Yii::app()->getConfig('surveyID')][$ia[1]] != 'INVALID') {
            $datetimeobj = new Date_Time_Converter($_SESSION['survey_' . Yii::app()->getConfig('surveyID')][$ia[1]], "Y-m-d H:i:s");
            $currentyear = $datetimeobj->years;
            $currentmonth = $datetimeobj->months;
            $currentdate = $datetimeobj->days;
            $currenthour = $datetimeobj->hours;
            $currentminute = $datetimeobj->minutes;
        } else {
            // If date is invalid get the POSTED value
            $currentdate = App()->request->getPost("day{$ia[1]}", '');
            $currentmonth = App()->request->getPost("month{$ia[1]}", '');
            $currentyear = App()->request->getPost("year{$ia[1]}", '');
            $currenthour = App()->request->getPost("hour{$ia[1]}", '');
            $currentminute = App()->request->getPost("minute{$ia[1]}", '');
        }
        $dateorder = preg_split('/([-\\.\\/ :])/', $dateformatdetails['phpdate'], -1, PREG_SPLIT_DELIM_CAPTURE);
        $sRows = '';
        $montharray = array();
        foreach ($dateorder as $datepart) {
            switch ($datepart) {
                // Show day select box
                case 'j':
                case 'd':
                    $sRows .= doRender('/survey/questions/date/dropdown/rows/day', array('dayId' => $ia[1], 'currentdate' => $currentdate), true);
                    break;
                    // Show month select box
                // Show month select box
                case 'n':
                case 'm':
                    switch ((int) trim($aQuestionAttributes['dropdown_dates_month_style'])) {
                        case 0:
                            $montharray = array(gT('Jan'), gT('Feb'), gT('Mar'), gT('Apr'), gT('May'), gT('Jun'), gT('Jul'), gT('Aug'), gT('Sep'), gT('Oct'), gT('Nov'), gT('Dec'));
                            break;
                        case 1:
                            $montharray = array(gT('January'), gT('February'), gT('March'), gT('April'), gT('May'), gT('June'), gT('July'), gT('August'), gT('September'), gT('October'), gT('November'), gT('December'));
                            break;
                        case 2:
                            $montharray = array('01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12');
                            break;
                    }
                    $sRows .= doRender('/survey/questions/date/dropdown/rows/month', array('monthId' => $ia[1], 'currentmonth' => $currentmonth, 'montharray' => $montharray), true);
                    break;
                    // Show year select box
                // Show year select box
                case 'y':
                case 'Y':
                    /*
                     * yearmin = Minimum year value for dropdown list, if not set default is 1900
                     * yearmax = Maximum year value for dropdown list, if not set default is 2037
                     * if full dates (format: YYYY-MM-DD) are given, only the year is used
                     * expressions are not supported because contents of dropbox cannot be easily updated dynamically
//.........这里部分代码省略.........
开发者ID:mfavetti,项目名称:LimeSurvey,代码行数:101,代码来源:qanda_helper.php

示例5: _GetVarAttribute


//.........这里部分代码省略.........
                                 $ansArray = $var['ansArray'];
                                 if (is_null($ansArray)) {
                                     $shown = $code;
                                 } else {
                                     if (isset($ansArray[$which_ans])) {
                                         $answerInfo = explode('|', $ansArray[$which_ans]);
                                         array_shift($answerInfo);
                                         $answer = join('|', $answerInfo);
                                     } else {
                                         $answer = $code;
                                     }
                                     $shown = $answer;
                                 }
                             }
                         }
                         break;
                     case 'A':
                         //ARRAY (5 POINT CHOICE) radio-buttons
                     //ARRAY (5 POINT CHOICE) radio-buttons
                     case 'B':
                         //ARRAY (10 POINT CHOICE) radio-buttons
                     //ARRAY (10 POINT CHOICE) radio-buttons
                     case ':':
                         //ARRAY (Multi Flexi) 1 to 10
                     //ARRAY (Multi Flexi) 1 to 10
                     case '5':
                         //5 POINT CHOICE radio-buttons
                         $shown = $code;
                         break;
                     case 'D':
                         //DATE
                         $LEM =& LimeExpressionManager::singleton();
                         $aAttributes = $LEM->getQuestionAttributesForEM($LEM->sid, $var['qid'], $_SESSION['LEMlang']);
                         $aDateFormatData = getDateFormatDataForQID($aAttributes[$var['qid']], $LEM->surveyOptions);
                         $shown = '';
                         if (strtotime($code)) {
                             $shown = date($aDateFormatData['phpdate'], strtotime($code));
                         }
                         break;
                     case 'N':
                         //NUMERICAL QUESTION TYPE
                     //NUMERICAL QUESTION TYPE
                     case 'K':
                         //MULTIPLE NUMERICAL QUESTION
                     //MULTIPLE NUMERICAL QUESTION
                     case 'Q':
                         //MULTIPLE SHORT TEXT
                     //MULTIPLE SHORT TEXT
                     case ';':
                         //ARRAY (Multi Flexi) Text
                     //ARRAY (Multi Flexi) Text
                     case 'S':
                         //SHORT FREE TEXT
                     //SHORT FREE TEXT
                     case 'T':
                         //LONG FREE TEXT
                     //LONG FREE TEXT
                     case 'U':
                         //HUGE FREE TEXT
                     //HUGE FREE TEXT
                     case '*':
                         //Equation
                     //Equation
                     case 'I':
                         //Language Question
                     //Language Question
开发者ID:GuillaumeSmaha,项目名称:LimeSurvey,代码行数:67,代码来源:em_manager_helper.php

示例6: getExtendedAnswer

/**
*
* @param type $iSurveyID The Survey ID
* @param type $sFieldCode Field code of the particular field
* @param type $sValue The stored response value
* @param object $oLanguage Initialized limesurvey_lang object for the resulting response data
* @return string
*/
function getExtendedAnswer($iSurveyID, $sFieldCode, $sValue, $oLanguage)
{
    if (is_null($sValue) || $sValue == '') {
        return '';
    }
    $sLanguage = $oLanguage->langcode;
    //Fieldcode used to determine question, $sValue used to match against answer code
    //Returns NULL if question type does not suit
    if (strpos($sFieldCode, "{$iSurveyID}X") === 0) {
        $fieldmap = createFieldMap($iSurveyID, 'short', false, false, $sLanguage);
        if (isset($fieldmap[$sFieldCode])) {
            $fields = $fieldmap[$sFieldCode];
        } else {
            return false;
        }
        //Find out the question type
        $this_type = $fields['type'];
        switch ($this_type) {
            case 'D':
                if (trim($sValue) != '') {
                    $qidattributes = getQuestionAttributeValues($fields['qid']);
                    $dateformatdetails = getDateFormatDataForQID($qidattributes, $iSurveyID);
                    $sValue = convertDateTimeFormat($sValue, "Y-m-d H:i:s", $dateformatdetails['phpdate']);
                }
                break;
            case "L":
            case "!":
            case "O":
            case "^":
            case "I":
            case "R":
                $result = Answers::model()->getAnswerFromCode($fields['qid'], $sValue, $sLanguage) or die("Couldn't get answer type L - getAnswerCode()");
                //Checked
                foreach ($result as $row) {
                    $this_answer = $row['answer'];
                }
                // while
                if ($sValue == "-oth-") {
                    $this_answer = $oLanguage->gT("Other");
                }
                break;
            case "M":
            case "J":
            case "P":
                switch ($sValue) {
                    case "Y":
                        $this_answer = $oLanguage->gT("Yes");
                        break;
                }
                break;
            case "Y":
                switch ($sValue) {
                    case "Y":
                        $this_answer = $oLanguage->gT("Yes");
                        break;
                    case "N":
                        $this_answer = $oLanguage->gT("No");
                        break;
                    default:
                        $this_answer = $oLanguage->gT("No answer");
                }
                break;
            case "G":
                switch ($sValue) {
                    case "M":
                        $this_answer = $oLanguage->gT("Male");
                        break;
                    case "F":
                        $this_answer = $oLanguage->gT("Female");
                        break;
                    default:
                        $this_answer = $oLanguage->gT("No answer");
                }
                break;
            case "C":
                switch ($sValue) {
                    case "Y":
                        $this_answer = $oLanguage->gT("Yes");
                        break;
                    case "N":
                        $this_answer = $oLanguage->gT("No");
                        break;
                    case "U":
                        $this_answer = $oLanguage->gT("Uncertain");
                        break;
                }
                break;
            case "E":
                switch ($sValue) {
                    case "I":
                        $this_answer = $oLanguage->gT("Increase");
                        break;
//.........这里部分代码省略.........
开发者ID:rawaludin,项目名称:LimeSurvey,代码行数:101,代码来源:common_helper.php

示例7: ProcessCurrentResponses

 /**
  * Cleanse the $_POSTed data and update $_SESSION variables accordingly
  */
 static function ProcessCurrentResponses()
 {
     $LEM =& LimeExpressionManager::singleton();
     if (!isset($LEM->currentQset)) {
         return array();
     }
     $updatedValues = array();
     $radixchange = $LEM->surveyOptions['radix'] == ',' ? true : false;
     foreach ($LEM->currentQset as $qinfo) {
         $relevant = false;
         $qid = $qinfo['info']['qid'];
         $gseq = $qinfo['info']['gseq'];
         $relevant = isset($_POST['relevance' . $qid]) ? $_POST['relevance' . $qid] == 1 : false;
         $grelevant = isset($_POST['relevanceG' . $gseq]) ? $_POST['relevanceG' . $gseq] == 1 : false;
         $_SESSION[$LEM->sessid]['relevanceStatus'][$qid] = $relevant;
         $_SESSION[$LEM->sessid]['relevanceStatus']['G' . $gseq] = $grelevant;
         foreach (explode('|', $qinfo['sgqa']) as $sq) {
             $sqrelevant = true;
             if (isset($LEM->subQrelInfo[$qid][$sq]['rowdivid'])) {
                 $rowdivid = $LEM->subQrelInfo[$qid][$sq]['rowdivid'];
                 if ($rowdivid != '' && isset($_POST['relevance' . $rowdivid])) {
                     $sqrelevant = $_POST['relevance' . $rowdivid] == 1;
                     $_SESSION[$LEM->sessid]['relevanceStatus'][$rowdivid] = $sqrelevant;
                 }
             }
             $type = $qinfo['info']['type'];
             if ($relevant && $grelevant && $sqrelevant || !$LEM->surveyOptions['deletenonvalues']) {
                 if ($qinfo['info']['hidden'] && !isset($_POST[$sq])) {
                     $value = isset($_SESSION[$LEM->sessid][$sq]) ? $_SESSION[$LEM->sessid][$sq] : '';
                     // if always hidden, use the default value, if any
                 } else {
                     $value = isset($_POST[$sq]) ? $_POST[$sq] : '';
                 }
                 if ($radixchange && isset($LEM->knownVars[$sq]['onlynum']) && $LEM->knownVars[$sq]['onlynum'] == '1') {
                     // convert from comma back to decimal
                     $value = implode('.', explode(',', $value));
                 }
                 switch ($type) {
                     case 'D':
                         //DATE
                         if (trim($value) == "") {
                             $value = "";
                         } else {
                             $aAttributes = $LEM->getQuestionAttributesForEM($LEM->sid, $qid, $_SESSION['LEMlang']);
                             if (!isset($aAttributes[$qid])) {
                                 $aAttributes[$qid] = array();
                             }
                             $aDateFormatData = getDateFormatDataForQID($aAttributes[$qid], $LEM->surveyOptions);
                             $oDateTimeConverter = new Date_Time_Converter($value, $aDateFormatData['phpdate']);
                             $value = $oDateTimeConverter->convert("Y-m-d H:i");
                         }
                         break;
                     case 'N':
                         //NUMERICAL QUESTION TYPE
                     //NUMERICAL QUESTION TYPE
                     case 'K':
                         //MULTIPLE NUMERICAL QUESTION
                         if (trim($value) == "") {
                             $value = "";
                         } else {
                             $value = sanitize_float($value);
                         }
                         break;
                     case '|':
                         //File Upload
                         if (!preg_match('/_filecount$/', $sq)) {
                             $json = $value;
                             $phparray = json_decode(stripslashes($json));
                             // if the files have not been saved already,
                             // move the files from tmp to the files folder
                             $tmp = $LEM->surveyOptions['tempdir'] . 'upload' . DIRECTORY_SEPARATOR;
                             if (!is_null($phparray) && count($phparray) > 0) {
                                 // Move the (unmoved, temp) files from temp to files directory.
                                 // Check all possible file uploads
                                 for ($i = 0; $i < count($phparray); $i++) {
                                     if (file_exists($tmp . $phparray[$i]->filename)) {
                                         $sDestinationFileName = 'fu_' . randomChars(15);
                                         if (!is_dir($LEM->surveyOptions['target'])) {
                                             mkdir($LEM->surveyOptions['target'], 0777, true);
                                         }
                                         if (!rename($tmp . $phparray[$i]->filename, $LEM->surveyOptions['target'] . $sDestinationFileName)) {
                                             echo "Error moving file to target destination";
                                         }
                                         $phparray[$i]->filename = $sDestinationFileName;
                                     }
                                 }
                                 $value = ls_json_encode($phparray);
                                 // so that EM doesn't try to parse it.
                             }
                         }
                         break;
                 }
                 $_SESSION[$LEM->sessid][$sq] = $value;
                 $_update = array('type' => $type, 'value' => $value);
                 $updatedValues[$sq] = $_update;
                 $LEM->updatedValues[$sq] = $_update;
             } else {
//.........这里部分代码省略.........
开发者ID:pmaonline,项目名称:limesurvey-quickstart,代码行数:101,代码来源:em_manager_helper.php

示例8: getDateFormatDataForQID

            echo $x;
            ?>
'><?php 
            echo $x;
            ?>
</option>
                    <?php 
        }
        ?>
            </select>
            <?php 
        break;
    case "D":
        //DATE
        //                            $qidattributes = getQuestionAttributeValues($deqrow['qid'], $deqrow['type']);
        $dateformatdetails = getDateFormatDataForQID($qidattributes, $thissurvey);
        if (canShowDatePicker($dateformatdetails)) {
            $goodchars = str_replace(array("m", "d", "y", "H", "M"), "", $dateformatdetails['dateformat']);
            $goodchars = "0123456789" . $goodchars[0];
            ?>
                <input type='text' class='popupdate' size='12' name='<?php 
            echo $fieldname;
            ?>
' onkeypress="return goodchars(event,'<?php 
            echo $goodchars;
            ?>
')"/>
                <input type='hidden' name='dateformat<?php 
            echo $fieldname;
            ?>
' id='dateformat<?php 
开发者ID:withhope,项目名称:HIT-Survey,代码行数:31,代码来源:content_view.php

示例9: aCheckInput

function aCheckInput($surveyid, $move, $backok = null)
{
    global $thisstep, $thissurvey;
    if (!isset($backok) || $backok != "Y") {
        $fieldmap = createFieldMap($surveyid, 'full', false, false, $_SESSION['survey_' . $surveyid]['s_lang']);
        if (isset($_POST['fieldnames'])) {
            $fields = explode("|", $_POST['fieldnames']);
            foreach ($fields as $field) {
                //Get question information
                if (isset($_POST[$field]) && isset($_SESSION['survey_' . $surveyid]['s_lang']) && ($_POST[$field] == "0" || $_POST[$field])) {
                    $fieldinfo = $fieldmap[$field];
                    $pregquery = "SELECT preg\n" . "FROM {{questions}}\n" . "WHERE qid=" . $fieldinfo['qid'] . " " . "AND language='" . $_SESSION['survey_' . $surveyid]['s_lang'] . "'";
                    $pregresult = dbExecuteAssoc($pregquery) or safeDie("ERROR: {$pregquery}<br />");
                    //Checked
                    foreach ($pregresult->readAll() as $pregrow) {
                        $preg = trim($pregrow['preg']);
                    }
                    // while
                    if (isset($preg) && $preg) {
                        if (!@preg_match($preg, $_POST[$field])) {
                            $notvalidated[] = $field;
                            continue;
                        }
                    }
                    // check for other question attributes
                    $qidattributes = getQuestionAttributeValues($fieldinfo['qid'], $fieldinfo['type']);
                    if ($fieldinfo['type'] == 'N') {
                        $neg = true;
                        if (trim($qidattributes['max_num_value_n']) != '' && $qidattributes['max_num_value_n'] >= 0) {
                            $neg = false;
                        }
                        if (trim($qidattributes['num_value_int_only']) == 1 && !preg_match("/^" . ($neg ? "-?" : "") . "[0-9]+\$/", $_POST[$field])) {
                            $notvalidated[] = $field;
                            continue;
                        }
                        if (trim($qidattributes['max_num_value_n']) != '' && $_POST[$field] > $qidattributes['max_num_value_n']) {
                            $notvalidated[] = $field;
                            continue;
                        }
                        if (trim($qidattributes['min_num_value_n']) != '' && $_POST[$field] < $qidattributes['min_num_value_n']) {
                            $notvalidated[] = $field;
                            continue;
                        }
                    } elseif ($fieldinfo['type'] == 'D') {
                        // $_SESSION['survey_'.$surveyid][$fieldinfo['fieldname']] now contains the crappy value parsed by
                        // Date_Time_Converter in save.php. We can leave it there. We just do validation here.
                        $dateformatdetails = getDateFormatDataForQID($qidattributes, $thissurvey);
                        $datetimeobj = DateTime::createFromFormat($dateformatdetails['phpdate'], $_POST[$field]);
                        if (!$datetimeobj) {
                            $notvalidated[] = $field;
                            continue;
                        }
                    }
                }
            }
        }
        //The following section checks for question attribute validation, looking for values in a particular field
        if (isset($_POST['qattribute_answer'])) {
            foreach ($_POST['qattribute_answer'] as $maxvalueanswer) {
                //$maxvalue_answername="maxvalue_answer".$maxvalueanswer;
                if (!empty($_POST['qattribute_answer' . $maxvalueanswer]) && $_POST['display' . $maxvalueanswer] == "on") {
                    $_SESSION['survey_' . $surveyid]['step'] = $thisstep;
                    $notvalidated[] = $maxvalueanswer;
                    return $notvalidated;
                }
            }
        }
        if (isset($notvalidated) && is_array($notvalidated)) {
            if (isset($move) && $move == "moveprev") {
                $_SESSION['survey_' . $surveyid]['step'] = $thisstep;
            }
            if (isset($move) && $move == "movenext") {
                $_SESSION['survey_' . $surveyid]['step'] = $thisstep;
            }
            return $notvalidated;
        }
    }
}
开发者ID:rawaludin,项目名称:LimeSurvey,代码行数:78,代码来源:frontend_helper.php

示例10: do_date

function do_date($ia)
{
    global $thissurvey;
    header_includes(Yii::app()->getConfig("generalscripts") . 'date.js', 'js');
    $clang = Yii::app()->lang;
    $aQuestionAttributes = getQuestionAttributeValues($ia[0], $ia[4]);
    $checkconditionFunction = "checkconditions";
    $dateformatdetails = getDateFormatDataForQID($aQuestionAttributes, $thissurvey);
    $numberformatdatat = getRadixPointData($thissurvey['surveyls_numberformat']);
    if (trim($aQuestionAttributes['dropdown_dates']) == 1) {
        if (!empty($_SESSION['survey_' . Yii::app()->getConfig('surveyID')][$ia[1]])) {
            $datetimeobj = getdate(DateTime::createFromFormat("Y-m-d H:i:s", $_SESSION['survey_' . Yii::app()->getConfig('surveyID')][$ia[1]])->getTimeStamp());
            $currentyear = $datetimeobj['year'];
            $currentmonth = $datetimeobj['mon'];
            $currentdate = $datetimeobj['mday'];
            $currenthour = $datetimeobj['hours'];
            $currentminute = $datetimeobj['minutes'];
        } else {
            $currentdate = '';
            $currentmonth = '';
            $currentyear = '';
            $currenthour = '';
            $currentminute = '';
        }
        $dateorder = preg_split('/([-\\.\\/ :])/', $dateformatdetails['phpdate'], -1, PREG_SPLIT_DELIM_CAPTURE);
        $answer = '<p class="question answer-item dropdown-item date-item">';
        foreach ($dateorder as $datepart) {
            switch ($datepart) {
                // Show day select box
                case 'j':
                case 'd':
                    $answer .= '<label for="day' . $ia[1] . '" class="hide">' . $clang->gT('Day') . '</label><select id="day' . $ia[1] . '" name="day' . $ia[1] . '" class="day">
                    <option value="">' . $clang->gT('Day') . "</option>\n";
                    for ($i = 1; $i <= 31; $i++) {
                        if ($i == $currentdate) {
                            $i_date_selected = SELECTED;
                        } else {
                            $i_date_selected = '';
                        }
                        $answer .= '<option value="' . sprintf('%02d', $i) . '"' . $i_date_selected . '>' . sprintf('%02d', $i) . "</option>\n";
                    }
                    $answer .= '</select>';
                    break;
                    // Show month select box
                // Show month select box
                case 'n':
                case 'm':
                    $answer .= '<label for="month' . $ia[1] . '" class="hide">' . $clang->gT('Month') . '</label><select id="month' . $ia[1] . '" name="month' . $ia[1] . '" class="month">
                    <option value="">' . $clang->gT('Month') . "</option>\n";
                    $montharray = array($clang->gT('Jan'), $clang->gT('Feb'), $clang->gT('Mar'), $clang->gT('Apr'), $clang->gT('May'), $clang->gT('Jun'), $clang->gT('Jul'), $clang->gT('Aug'), $clang->gT('Sep'), $clang->gT('Oct'), $clang->gT('Nov'), $clang->gT('Dec'));
                    for ($i = 1; $i <= 12; $i++) {
                        if ($i == $currentmonth) {
                            $i_date_selected = SELECTED;
                        } else {
                            $i_date_selected = '';
                        }
                        $answer .= '<option value="' . sprintf('%02d', $i) . '"' . $i_date_selected . '>' . $montharray[$i - 1] . '</option>';
                    }
                    $answer .= '</select>';
                    break;
                    // Show year select box
                // Show year select box
                case 'Y':
                    $answer .= '<label for="year' . $ia[1] . '" class="hide">' . $clang->gT('Year') . '</label><select id="year' . $ia[1] . '" name="year' . $ia[1] . '" class="year">
                    <option value="">' . $clang->gT('Year') . '</option>';
                    /*
                     *  New question attributes used only if question attribute
                     * "dropdown_dates" is used (see IF(...) above).
                     *
                     * yearmin = Minimum year value for dropdown list, if not set default is 1900
                     * yearmax = Maximum year value for dropdown list, if not set default is 2020
                     */
                    if (trim($aQuestionAttributes['dropdown_dates_year_min']) != '') {
                        $yearmin = $aQuestionAttributes['dropdown_dates_year_min'];
                    } else {
                        $yearmin = 1900;
                    }
                    if (trim($aQuestionAttributes['dropdown_dates_year_max']) != '') {
                        $yearmax = $aQuestionAttributes['dropdown_dates_year_max'];
                    } else {
                        $yearmax = 2020;
                    }
                    if ($yearmin > $yearmax) {
                        $yearmin = 1900;
                        $yearmax = 2020;
                    }
                    if ($aQuestionAttributes['reverse'] == 1) {
                        $tmp = $yearmin;
                        $yearmin = $yearmax;
                        $yearmax = $tmp;
                        $step = 1;
                        $reverse = true;
                    } else {
                        $step = -1;
                        $reverse = false;
                    }
                    for ($i = $yearmax; $reverse ? $i <= $yearmin : $i >= $yearmin; $i += $step) {
                        if ($i == $currentyear) {
                            $i_date_selected = SELECTED;
                        } else {
//.........这里部分代码省略.........
开发者ID:rawaludin,项目名称:LimeSurvey,代码行数:101,代码来源:qanda_helper.php


注:本文中的getDateFormatDataForQID函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。