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


PHP SurveyDynamic::findAllByAttributes方法代码示例

本文整理汇总了PHP中SurveyDynamic::findAllByAttributes方法的典型用法代码示例。如果您正苦于以下问题:PHP SurveyDynamic::findAllByAttributes方法的具体用法?PHP SurveyDynamic::findAllByAttributes怎么用?PHP SurveyDynamic::findAllByAttributes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SurveyDynamic的用法示例。


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

示例1: update_response

 /**
  * RPC Routine to update a response in a given survey.
  * Routine supports only single response updates.
  * Response to update will be identified either by the response id, or the token if response id is missing.
  * Routine is only applicable for active surveys with alloweditaftercompletion = Y.
  *
  * @access public
  * @param string $sSessionKey Auth credentials
  * @param int $iSurveyID Id of the Survey to update response
  * @param struct $aResponseData The actual response
  * @return mixed TRUE(bool) on success. errormessage on error
  */
 public function update_response($sSessionKey, $iSurveyID, $aResponseData)
 {
     if (!$this->_checkSessionKey($sSessionKey)) {
         return 'Invalid session key';
     }
     $oSurvey = Survey::model()->findByPk($iSurveyID);
     if (is_null($oSurvey)) {
         return 'Error: Invalid survey ID';
     }
     if ($oSurvey->getAttribute('active') !== 'Y') {
         return 'Error: Survey is not active.';
     }
     if ($oSurvey->getAttribute('alloweditaftercompletion') !== 'Y') {
         return 'Error: Survey does not allow edit after completion.';
     }
     if (Permission::model()->hasSurveyPermission($iSurveyID, 'responses', 'update')) {
         if (!Yii::app()->db->schema->getTable('{{survey_' . $iSurveyID . '}}')) {
             return 'Error: No survey response table';
         }
         if (!isset($aResponseData['id']) && !isset($aResponseData['token'])) {
             return 'Error: Missing response identifier (id|token).';
         }
         SurveyDynamic::sid($iSurveyID);
         $oSurveyDynamic = new SurveyDynamic();
         if (isset($aResponseData['id'])) {
             $aResponses = $oSurveyDynamic->findAllByPk($aResponseData['id']);
         } else {
             $aResponses = $oSurveyDynamic->findAllByAttributes(array('token' => $aResponseData['token']));
         }
         if (empty($aResponses)) {
             return 'Error: No matching Response.';
         }
         if (count($aResponses) > 1) {
             return 'Error: More then one matching response, updateing multiple responses at once is not supported.';
         }
         $aBasicDestinationFields = $oSurveyDynamic->tableSchema->columnNames;
         $aInvalidFields = array_diff_key($aResponseData, array_flip($aBasicDestinationFields));
         if (count($aInvalidFields) > 0) {
             return 'Error: Invalid Column names supplied: ' . implode(', ', array_keys($aInvalidFields));
         }
         unset($aResponseData['token']);
         foreach ($aResponseData as $sAtributeName => $value) {
             $aResponses[0]->setAttribute($sAtributeName, $value);
         }
         $bResult = $aResponses[0]->save(true);
         if ($bResult) {
             return $bResult;
         } else {
             return 'Unable to edit response';
         }
     } else {
         return 'No permission';
     }
 }
开发者ID:kasutori,项目名称:LimeSurvey,代码行数:66,代码来源:remotecontrol_handle.php


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