View file mooSocial v2.3.0 - PHP Social Network/upload/app/Lib/ActivityListener.php

File size: 3.97Kb
<?php

/**
 * mooSocial - The Web 2.0 Social Network Software
 * @website: http://www.moosocial.com
 */
App::uses('CakeEventListener', 'Event');

class ActivityListener implements CakeEventListener {

    public function implementedEvents() {
        return array(
            'Plugin.Controller.Blog.afterDeleteBlog' => 'afterDeleteBlog',
            'Plugin.Controller.Video.afterDeleteVideo' => 'afterDeleteVideo',
            'Plugin.Controller.Topic.afterDeleteTopic' => 'afterDeleteTopic',
            'Plugin.Controller.Group.afterDeleteGroup' => 'afterDeleteGroup',
            'Plugin.Controller.Event.afterDeleteEvent' => 'afterDeleteEvent',
            'Plugin.Controller.Group.afterDeletePhoto' => 'afterDeletePhoto',
            'Plugin.Controller.Album.afterDeleteAlbum' => 'afterDeleteAlbum',
            'ActivitesController.processVideoUpload' => 'processVideoUpload'
        );
    }

    public function afterDeleteBlog($event) {

        $item = $event->data['item'];

        $activityModel = MooCore::getInstance()->getModel('Activity');

        // delete shared feed
        if (!empty($item['Blog'])) {
            $activityModel->deleteAll(array('Activity.item_type' => 'Blog_Blog', 'Activity.parent_id' => $item['Blog']['id']));
        }
    }

    public function processVideoUpload($event) {
        $item = $event->data['item'];

        if (!Configure::read('UploadVideo.uploadvideo_enabled')) {
            return;
        }

        if (!empty($item)) {
            // update activity set to waiting status, will enable when finish convert video
            $activityModel = MooCore::getInstance()->getModel('Activity');

            $activityModel->updateAll(array('Activity.status' => "'" . ACTIVITY_WAITING . "'"), array('Activity.id' => $item['Activity']['id']));
        }
    }

    public function afterDeleteVideo($event) {
        $item = $event->data['item'];

        $activityModel = MooCore::getInstance()->getModel('Activity');

        // delete shared feed
        if (!empty($item['Video'])) {
            $activityModel->deleteAll(array('Activity.item_type' => 'Video_Video', 'Activity.parent_id' => $item['Video']['id']));
        }
    }

    public function afterDeleteTopic($event) {
        $item = $event->data['item'];

        $activityModel = MooCore::getInstance()->getModel('Activity');

        // delete shared feed
        if (!empty($item['Topic'])) {
            $activityModel->deleteAll(array('Activity.item_type' => 'Topic_Topic', 'Activity.parent_id' => $item['Topic']['id']));
        }
    }

    public function afterDeleteGroup($event) {
        $item = $event->data['item'];

        $activityModel = MooCore::getInstance()->getModel('Activity');

        // delete shared feed
        if (!empty($item['Group'])) {
            $activityModel->deleteAll(array('Activity.item_type' => 'Group_Group', 'Activity.parent_id' => $item['Group']['id']));
        }
    }

    public function afterDeleteEvent($event) {
        $item = $event->data['item'];

        $activityModel = MooCore::getInstance()->getModel('Activity');

        // delete shared feed
        if (!empty($item['Event'])) {
            $activityModel->deleteAll(array('Activity.item_type' => 'Event_Event', 'Activity.parent_id' => $item['Event']['id']));
        }
    }

    public function afterDeletePhoto($event) {
        $item = $event->data['item'];

        $activityModel = MooCore::getInstance()->getModel('Activity');

        // delete shared feed
        if (!empty($item['Photo'])) {
            $activityModel->deleteAll(array('Activity.item_type' => 'Photo_Photo', 'Activity.parent_id' => $item['Photo']['id']));
        }
    }

    public function afterDeleteAlbum($event) {
        $item = $event->data['item'];

        $activityModel = MooCore::getInstance()->getModel('Activity');

        // delete shared feed
        if (!empty($item['Album'])) {
            $activityModel->deleteAll(array('Activity.item_type' => 'Photo_Album', 'Activity.parent_id' => $item['Album']['id']));
        }
    }

}