示例#1
0
 public function addStatus($user)
 {
     $loggedInUser = $this->registry->getObject('authenticate')->getUser()->getUserID();
     if ($loggedInUser == $user) {
         require_once 'status.php';
         if (isset($_POST['status_type']) && $_POST['status_type'] != 'update') {
             if ($_POST['status_type'] == 'image') {
                 require_once 'imagestatus.php';
                 $status = new Imagestatus($this->registry, 0, $this->username);
                 $status->processImage('image_file');
             } elseif ($_POST['status_type'] == 'video') {
                 require_once 'videostatus.php';
                 $status = new Videostatus($this->registry, 0, $this->username);
                 $status->setVideoIdFromURL($_POST['video_url']);
             } elseif ($_POST['status_type'] == 'link') {
                 require_once 'linkstatus.php';
                 $status = new Linkstatus($this->registry, 0);
                 $status->setURL($this->registry->getObject('db')->sanitizeData($_POST['link_url']));
                 $status->setDescription($this->registry->getObject('db')->sanitizeData($_POST['link_description']));
             }
         } else {
             $status = new Status($this->registry, 0);
         }
         $status->setProfile($user);
         $status->setPoster($loggedInUser);
         if (isset($_POST['status'])) {
             $status->setStatus($this->registry->getObject('db')->sanitizeData($_POST['status']));
         }
         $status->generateType();
         $status->save();
         // success message display
         $this->registry->getObject('template')->addTemplateBit('status_update_message', 'profile_status_update_confirm.php');
     } else {
         require_once 'relation.php';
         $relationships = new RelationsGet($this->registry);
         $connections = $relationships->getNetwork($user, false);
         if (in_array($loggedInUser, $connections)) {
             require_once 'status.php';
             if (isset($_POST['status_type']) && $_POST['status_type'] != 'update') {
                 if ($_POST['status_type'] == 'image') {
                     require_once 'imagestatus.php';
                     $status = new Imagestatus($this->registry, 0, $this->username);
                     $status->processImage('image_file');
                 } elseif ($_POST['status_type'] == 'video') {
                     require_once 'videostatus.php';
                     $status = new Videostatus($this->registry, 0, $this->username);
                     $status->setVideoIdFromURL($_POST['video_url']);
                 } elseif ($_POST['status_type'] == 'link') {
                     require_once 'linkstatus.php';
                     $status = new Linkstatus($this->registry, 0);
                     $status->setURL($this->registry->getObject('db')->sanitizeData($_POST['link_url']));
                     $status->setDescription($this->registry->getObject('db')->sanitizeData($_POST['link_description']));
                 }
             } else {
                 $status = new Status($this->registry, 0);
             }
             $status->setProfile($user);
             $status->setPoster($loggedInUser);
             $status->setStatus($this->registry->getObject('db')->sanitizeData($_POST['status']));
             $status->generateType();
             $status->save();
             // success message display
             $this->registry->getObject('template')->addTemplateBit('status_update_message', 'profile_status_post_confirm.php');
         } else {
             // error message display
             $this->registry->getObject('template')->addTemplateBit('status_update_message', 'profile_status_error.php');
         }
     }
 }
示例#2
0
 private function addStatus($array, $user)
 {
     $loggedIn = $this->registry->getObject('authenticate')->isLoggedIn();
     if ($loggedIn == true) {
         require_once 'status.php';
         if (isset($_POST['status_type']) && $_POST['status_type'] != 'update') {
             if ($_POST['status_type'] == 'image') {
                 require_once 'imagestatus.php';
                 $status = new Imagestatus($this->registry, 0, $user);
                 $status->processImage('image_file');
             } elseif ($_POST['status_type'] == 'video') {
                 require_once 'videostatus.php';
                 $status = new Videostatus($this->registry, 0, $user);
                 $status->setVideoIdFromURL($_POST['video_url']);
             } elseif ($_POST['status_type'] == 'link') {
                 require_once 'linkstatus.php';
                 $status = new Linkstatus($this->registry, 0);
                 $status->setURL($this->registry->getObject('db')->sanitizeData($_POST['link_url']));
                 $status->setDescription($this->registry->getObject('db')->sanitizeData($_POST['link_description']));
             }
         } else {
             $status = new Status($this->registry, 0);
         }
         $status->setProfile($user);
         $status->setPoster($user);
         if (isset($_POST['status'])) {
             $status->setStatus($this->registry->getObject('db')->sanitizeData($_POST['status']));
         }
         $status->generateType();
         $status->save();
         $newAddID = $status->getID();
         //Status Wierdness Start
         $this->registry->getObject('template')->getPage()->addTag('referer', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
         require_once 'stream.php';
         $stream = new Stream($this->registry);
         $status = $stream->getStatusByID($newAddID);
         $statusTypes = $stream->getStatusType();
         if (!$stream->isEmpty()) {
             $this->registry->getObject('template')->buildFromTemplate('stream_more.php');
         }
         $streamdata = $stream->getStream();
         $IDs = $stream->getIDs();
         $cacheableIDs = array();
         foreach ($IDs as $id) {
             $i = array();
             $i['status_id'] = $id;
             $cacheableIDs[] = $i;
         }
         $cache = $this->registry->getObject('db')->cacheData($cacheableIDs);
         $this->registry->getObject('template')->getPage()->addTag('stream', array('DATA', $cache));
         //var_dump($cacheableIDs);
         foreach ($streamdata as $data) {
             $datatags = array();
             foreach ($data as $tag => $value) {
                 $datatags['status' . $tag] = $value;
             }
             //var_dump($datatags);
             // your own status updates
             if ($data['profile'] == 0) {
                 // network updates
                 $this->addBit('stream-' . $data['ID'], 'updates/' . $data['type_reference'] . '-general.php', $datatags);
             } elseif ($data['profile'] == $this->registry->getObject('authenticate')->getUser()->getUserID() && $data['poster'] == $this->registry->getObject('authenticate')->getUser()->getUserID()) {
                 $this->registry->getObject('template')->addTemplateBit('stream-' . $data['ID'], 'updates/' . $data['type_reference'] . '-self.php', $datatags);
             } elseif ($data['profile'] == $this->registry->getObject('authenticate')->getUser()->getUserID()) {
                 // updates to you
                 $this->addBit('stream-' . $data['ID'], 'updates/' . $data['type_reference'] . '-toSelf.php', $datatags);
             } elseif ($data['poster'] == $this->registry->getObject('authenticate')->getUser()->getUserID()) {
                 // updates by you
                 $this->addBit('stream-' . $data['ID'], 'updates/' . $data['type_reference'] . '-fromSelf.php', $datatags);
             } elseif ($data['poster'] == $data['profile']) {
                 $this->addBit('stream-' . $data['ID'], 'updates/' . $data['type_reference'] . '-user.php', $datatags);
             } else {
                 // network updates
                 $this->addBit('stream-' . $data['ID'], 'updates/' . $data['type_reference'] . '.php', $datatags);
             }
         }
         // stream comments, likes and dislikes
         $status_ids = implode(',', $IDs);
         $start = array();
         foreach ($IDs as $id) {
             $start[$id] = array();
         }
         // comments
         $this->generateComments($start, $status_ids);
         //rates
         $this->getRates('status', $IDs);
         //$this->getRates('comments', $IDs);
         $this->registry->getObject('template')->getPage()->addTag('offset', 20);
         //$offset +
         $this->registry->getObject('template')->parseOutput();
         $this->registry->ajaxReply(array('content' => $this->registry->getObject('template')->getPage()->getContentToPrint(), 'status' => 'Status Added'));
         //$this->registry->ajaxReply(array('content' => '<script>$(document).ready(function(){window.location.reload();})</script>', 'status' => 'Status Added'));
         //Status Wierdness End
         // success message display
         //$this->registry->ajaxReply( array('status'=>'Status Added', 'content'=>'') );
         //$this->registry->getObject('template')->addTemplateBit( 'status_update_message', 'profile_status_update_confirm.php' );
     } else {
         //$this->registry->ajaxReply( array('status'=>'Access Denied', 'content'=>'') );
         $this->registry->errorPage('Access Denied', 'Login to continue');
     }
 }