public function saveGroupDocs($data, $group_id, $param) { $i = 0; $group_doc_data = $data->getProperty('data'); while ($group_doc_data->getProperty($i) != null) { $group_doc_element = $group_doc_data->getProperty($i); $group_doc = FbDoc::model()->findByPk($group_doc_element->getProperty('id')); if ($group_doc == null) { $group_doc = new FbDoc(); } $group_doc->fbdid = $group_doc_element->getProperty('id'); $group_doc->message = $group_doc_element->getProperty('message'); $group_doc->subject = $group_doc_element->getProperty('subject'); $created_datetime = DateTime::createFromFormat(DateTime::ISO8601, $group_doc_element->getProperty('created_time')); $created_datetime->add(new DateInterval('PT1H')); $o = new ReflectionObject($created_datetime); $p = $o->getProperty('date'); $created_date = $p->getValue($created_datetime); $group_doc->created_time = $created_date; $updated_datetime = DateTime::createFromFormat(DateTime::ISO8601, $group_doc_element->getProperty('updated_time')); $updated_datetime->add(new DateInterval('PT1H')); $o = new ReflectionObject($updated_datetime); $p = $o->getProperty('date'); $updated_date = $p->getValue($updated_datetime); $group_doc->updated_time = $updated_date; if ($param == 'Exam') { $group_doc->exam_group_id = $group_id; } else { $group_doc->degree_group_id = $group_id; } $this->saveMemberInfo($group_doc_element->getProperty('from')); $this->saveMember($group_doc_element->getProperty('from'), $group_id, $param); $group_doc->author_id = $group_doc_element->getProperty('from')->getProperty('id'); $group_doc->validate(); $group_doc->save(); if ($group_doc_data->getProperty('comments') != null) { $this->saveComments($group_doc_element->getProperty('comments'), $group_doc->fbdid, 'Docs', $group_id, 'Exam', $session); } $i++; } }