Beispiel #1
0
 private function getParamsObject()
 {
     $errorMessage = false;
     $entityType = !isset($_POST['entityType']) ? null : trim($_POST['entityType']);
     $entityId = !isset($_POST['entityId']) ? null : (int) $_POST['entityId'];
     $pluginKey = !isset($_POST['pluginKey']) ? null : trim($_POST['pluginKey']);
     if (!$entityType || !$entityId || !$pluginKey) {
         $errorMessage = OW::getLanguage()->text('base', 'comment_ajax_error');
     }
     $params = new BASE_CommentsParams($pluginKey, $entityType);
     $params->setEntityId($entityId);
     if (isset($_POST['ownerId'])) {
         $params->setOwnerId((int) $_POST['ownerId']);
     }
     if (isset($_POST['commentCountOnPage'])) {
         $params->setCommentCountOnPage((int) $_POST['commentCountOnPage']);
     }
     if (isset($_POST['displayType'])) {
         $params->setDisplayType($_POST['displayType']);
     }
     if (isset($_POST['initialCount'])) {
         $params->setInitialCommentsCount((int) $_POST['initialCount']);
     }
     if (isset($_POST['loadMoreCount'])) {
         $params->setLoadMoreCount((int) $_POST['loadMoreCount']);
     }
     if ($errorMessage) {
         echo json_encode(array('error' => $errorMessage));
         exit;
     }
     return $params;
 }
 protected function getFeatures($data)
 {
     $configs = $this->sharedData['configs'];
     $featuresData = $this->getFeaturesData($data);
     $out = array('system' => array('comments' => false, 'likes' => false), 'custom' => array());
     $out['custom'] = $featuresData["custom"];
     $systemFeatures = $featuresData["system"];
     if (!empty($systemFeatures["comments"])) {
         $feature = $systemFeatures["comments"];
         $commentsParams = new BASE_CommentsParams($feature["authGroup"], $feature["entityType"]);
         $commentsParams->setEntityId($feature["entityId"]);
         $commentsParams->setInitialCommentsCount($configs['comments_count']);
         $commentsParams->setLoadMoreCount(6);
         $commentsParams->setBatchData($feature["comments"]);
         $commentsParams->setOwnerId($this->action->getUserId());
         $commentsParams->setDisplayType(BASE_CommentsParams::DISPLAY_TYPE_WITH_LOAD_LIST_MINI);
         $commentsParams->setWrapInBox(false);
         $commentsParams->setShowEmptyList(false);
         if (!empty($feature['error'])) {
             $commentsParams->setErrorMessage($feature['error']);
         }
         if (isset($feature['allow'])) {
             $commentsParams->setAddComment($feature['allow']);
         }
         $commentCmp = new BASE_CMP_Comments($commentsParams);
         $out['system']['comments']['cmp'] = $commentCmp->render();
         $out['system']['comments']['count'] = $feature["count"];
         $out['system']['comments']['allow'] = $feature["allow"];
         $out['system']['comments']['expanded'] = $feature["expanded"];
     }
     if (!empty($systemFeatures["likes"])) {
         $feature = $systemFeatures['likes'];
         $out['system']['likes']['count'] = $feature["count"];
         $out['system']['likes']['liked'] = $feature["liked"];
         $out['system']['likes']['allow'] = $feature["allow"];
         $out['system']['likes']['error'] = $feature["error"];
         $likeCmp = new NEWSFEED_CMP_Likes($feature["entityType"], $feature["entityId"], $feature["likes"]);
         $out['system']['likes']['cmp'] = $likeCmp->render();
     }
     return $out;
 }