public function signupAction()
 {
     $this->view->disable();
     if ($this->request->isAjax()) {
         $data = $this->request->getPost();
         $response = new Response();
         $response->assign(array('uuid' => $this->gen_uuid()));
         if ($response->save()) {
             // $this->persistent->uuid = $response->uuid;
             echo json_encode($response->toArray());
             // echo json_encode(true);
         } else {
             echo json_encode(false);
         }
     }
 }
Example #2
0
 function testUpdateAnswer()
 {
     //Arrange
     //We need a User and a User saved
     //Arrange
     //We need a User and a User saved
     $user = "******";
     $password = "******";
     $id = null;
     $vegie = 0;
     $admin = 1;
     $test_User = new User($user, $password, $vegie, $admin, $id);
     $test_User->save();
     $name = "Little Big Burger";
     $address = "123 NW 23rd Ave.";
     $phone = "971-289-8000";
     $price = 1;
     $vegie = 0;
     $opentime = 00;
     $closetime = 2100;
     $id = 1;
     $test_restaurant = new Restaurant($name, $address, $phone, $price, $vegie, $opentime, $closetime, $id);
     $test_restaurant->save();
     $answer = 0;
     $restaurant_id = 1;
     $user_id = 1;
     $id2 = 1;
     $test_response = new Response($answer, $restaurant_id, $user_id, $id2);
     $test_response->save();
     $test_User->addAnswer($test_User->getId(), $test_restaurant->getId(), $test_response->getAnswer());
     $test_User->updateAnswer(2, 1);
     $this->assertEquals($test_User->getDisLikes(), [$test_restaurant]);
 }
    public function actionResponse($id)
    {
        $response = new Response();
        $teacher = Teacher::model()->findByPk($id);
        $teacherRat=Response::model()->find('who=:whoID and about=:aboutID', array(':whoID'=>Yii::app()->user->getId(),':aboutID'=>$teacher->user_id));

        if ($_POST['sendResponse']) {
            if (!empty($_POST['response'])) {
                $response->who = Yii::app()->user->id;
                $response->about = $teacher->user_id;
                $response->date = date("Y-m-d H:i:s");
                $response->text = $response->bbcode_to_html($_POST['response']);
                if($teacherRat && $teacherRat->knowledge==$_POST['material'] && $teacherRat->behavior==$_POST['behavior'] && $response->motivation==$_POST['motiv']){
                    $response->knowledge = Null;
                    $response->behavior = Null;
                    $response->motivation = Null;
                    $response->rate = Null;
                } if($teacherRat && ($teacherRat->knowledge!==$_POST['material'] || $teacherRat->behavior!==$_POST['behavior'] || $response->motivation!==$_POST['motiv'])){
                    $teacherRat->knowledge = $_POST['material'];
                    $teacherRat->behavior = $_POST['behavior'];
                    $teacherRat->motivation = $_POST['motiv'];
                    $teacherRat->rate = round(($_POST['material'] + $_POST['behavior'] + $_POST['motiv']) / 3);
                    $teacherRat->save();
                }else{
                    $response->knowledge = $_POST['material'];
                    $response->behavior = $_POST['behavior'];
                    $response->motivation = $_POST['motiv'];
                    $response->rate = round(($_POST['material'] + $_POST['behavior'] + $_POST['motiv']) / 3);
                }
                $response->who_ip = $_SERVER["REMOTE_ADDR"];
                if($_POST['material']!=='' && $_POST['behavior']!=='' && $_POST['motiv']!==''){
                    $response->save();
                    $teacher->updateByPk($id, array('rate_knowledge' => $teacher->getAverageRateKnwl($teacher->user_id)));
                    $teacher->updateByPk($id, array('rate_efficiency' => $teacher->getAverageRateBeh($teacher->user_id)));
                    $teacher->updateByPk($id, array('rate_relations' => $teacher->getAverageRateMot($teacher->user_id)));
                    $teacher->updateByPk($id, array('rating' => $teacher->getAverageRate($teacher->user_id)));
                    Yii::app()->user->setFlash('messageResponse', Yii::t('response', '0386'));
                } else {
                    Yii::app()->user->setFlash('responseError', Yii::t('response', '0385'));
                }
            }
            header('Location: ' . $_SERVER['HTTP_REFERER']);
        }
    }
<?php

function fail()
{
    return '{ "success" : false }';
}
require '../loader.php';
if (!$_POST['Data']) {
    return fail();
}
$data = json_decode(str_replace('\\"', '"', $_POST['Data']), true);
$response = new Response($data['Rating'], $data['Scope']);
if (!$response->save()) {
    return fail();
}
foreach ($data['Data'] as $language_item) {
    $keys = array_keys($language_item);
    $new_item = $response->add_item(new ResponseItem($response->get_ID(), $keys[0]));
    if (!$new_item->save()) {
        return fail();
    }
}
?>
{
    "success" : true
}
Example #5
0
 public function save()
 {
     $context = sfContext::getInstance();
     $user = $context->getUser();
     // When the role marked as "updateable" anyone with the link can enter the response and update it.
     /** @var Response $response */
     if ($this->role->updateable) {
         if ($this->role->Response->count() && !$this->role->anonymous) {
             // find response by user_id
             if ($user->isAuthenticated()) {
                 $response = ResponseTable::getInstance()->findByRoleIdAndUserId($this->role->id, $user->getGuardUser()->id)->getFirst();
             } else {
                 $email = $user->getAttribute('email_address', null, 'measurement/email/' . $this->role->id);
                 $response = ResponseTable::getInstance()->findByRoleIdAndEmailAddress($this->role->id, $email)->getFirst();
             }
             if (!$response instanceof Response) {
                 $response = new Response();
                 $response->role_id = $this->role->id;
             }
         } else {
             $response = new Response();
             $response->role_id = $this->role->id;
         }
     } else {
         $response = new Response();
         $response->role_id = $this->role->id;
     }
     $response->decision_id = $this->role->decision_id;
     $response->ip_address = $context->getRequest()->getHttpHeader('addr', 'remote');
     if ($user->isAuthenticated()) {
         $response->user_id = $user->getGuardUser()->id;
     } else {
         if ($this->role->anonymous) {
             $response->email_address = 'anonymous';
         } else {
             $response->email_address = $user->getAttribute('email_address', null, 'measurement/email/' . $this->role->id);
         }
         if (!$this->role->continue_url) {
             $user->getAttributeHolder()->remove('email_address', 0, 'measurement/email/' . $this->role->id);
         }
     }
     $response->save();
     // Saves data from the last step
     $this->methodObject->setResponseId($response->id);
     $this->methodObject->save();
     $this->methodObject->clean();
     // Saves data from the previous steps
     while ($this->map->hasPreviousStep()) {
         $this->map->back();
         list($methodClassName, $data) = $this->map->getCurrentStep();
         /** @var MeasurementMethod $methodObjectName */
         $methodObjectName = new $methodClassName($data);
         $methodObjectName->setRole($this->role);
         $methodObjectName->setResponseId($response->id);
         $methodObjectName->save();
         $methodObjectName->clean();
     }
     // Update charts in "Analyze" tab
     Doctrine_Query::create()->delete()->from('Graph')->where('decision_id = ?', $response->decision_id)->execute();
     $this->map->clean();
 }