Ejemplo n.º 1
0
 private function connect_to_signals($class)
 {
     midgard_object_class::connect_default($class, 'action-loaded-hook', array($this, 'on_loading'), array($class));
     midgard_object_class::connect_default($class, 'action-create-hook', array($this, 'on_creating'), array($class));
     midgard_object_class::connect_default($class, 'action-update-hook', array($this, 'on_updating'), array($class));
     midgard_object_class::connect_default($class, 'action-delete-hook', array($this, 'on_deleting'), array($class));
 }
Ejemplo n.º 2
0
 public function connect_to_signals()
 {
     midgard_object_class::connect_default('midgard_attachment', 'action-created', array($this, 'on_creating'), array('attachment'));
     midgard_object_class::connect_default('midgard_attachment', 'action-deleted', array($this, 'on_deleting'), array());
     // TODO: attachment cache needs undelete support
     // TODO: attachment cache needs approvals support
 }
Ejemplo n.º 3
0
 public function inject_process(midgardmvc_core_request $request)
 {
     static $connected = false;
     if ($connected) {
         return;
     }
     // Subscribe to content changed signals from Midgard
     midgard_object_class::connect_default('fi_openkeidas_groups_group', 'action-created', array('fi_openkeidas_groups_injector', 'handle_created'), array($request));
     $connected = true;
 }
Ejemplo n.º 4
0
 private function connect_to_signals($class)
 {
     if (!isset($_MIDGARD['schema']['types'][$class])) {
         throw new Exception("{$class} is not an MgdSchema class");
     }
     midgard_object_class::connect_default($class, 'action-loaded-hook', array($this, 'on_loading'), array($class));
     midgard_object_class::connect_default($class, 'action-create-hook', array($this, 'on_creating'), array($class));
     midgard_object_class::connect_default($class, 'action-update-hook', array($this, 'on_updating'), array($class));
     midgard_object_class::connect_default($class, 'action-delete-hook', array($this, 'on_deleting'), array($class));
 }
Ejemplo n.º 5
0
 private function get_connected()
 {
     $mvc = midgardmvc_core::get_instance();
     $language = $mvc->configuration->get('default_language');
     if (!$language) {
         $language = 'en_US';
     }
     $mvc->i18n->set_language($language, false);
     midgard_object_class::connect_default('com_meego_comments_comment', 'action-deleted', array('com_meego_ratings_injector', 'delete_rating_handler'));
     $this->connected = true;
 }
Ejemplo n.º 6
0
 public function inject_process(midgardmvc_core_request $request)
 {
     // Subscribe to content changed signals from Midgard so we can send content to FISE for analysis
     $mgdschemas = midgardmvc_core::get_instance()->dispatcher->get_mgdschema_classes();
     foreach ($mgdschemas as $mgdschema) {
         if ($mgdschema == 'midgardmvc_core_login_session' || $mgdschema == 'midgard_parameter') {
             continue;
         }
         midgard_object_class::connect_default($mgdschema, 'action-created', array('eu_iksproject_fise_indexer', 'store'), array());
         midgard_object_class::connect_default($mgdschema, 'action-updated', array('eu_iksproject_fise_indexer', 'store'), array());
     }
 }
Ejemplo n.º 7
0
 public function inject_process(midgardmvc_core_request $request)
 {
     static $connected = false;
     if ($connected) {
         return;
     }
     // Subscribe to content changed signals from Midgard
     midgard_object_class::connect_default('fi_openkeidas_diary_log', 'action-created', array('fi_openkeidas_diary', 'update_sport_and_group'), array($request));
     midgard_object_class::connect_default('fi_openkeidas_diary_challenge', 'action-created', array('fi_openkeidas_diary', 'update_challenge_members'), array($request));
     midgard_object_class::connect_default('fi_openkeidas_diary_challenge', 'action-delete', array('fi_openkeidas_diary', 'remove_challenge_members'), array($request));
     $connected = true;
 }
Ejemplo n.º 8
0
 public function __construct()
 {
     static $connected = false;
     $this->check_dependencies();
     $this->load_root_node();
     if ($connected) {
         return;
     }
     // Subscribe to node editing signals
     midgard_object_class::connect_default('midgardmvc_core_node', 'action-updated', array($this, 'refresh_node'));
     midgard_object_class::connect_default('midgardmvc_core_node', 'action-create', array($this, 'check_node'));
     midgard_object_class::connect_default('midgardmvc_core_node', 'action-created', array($this, 'refresh_node_parent'));
     $connected = true;
 }
Ejemplo n.º 9
0
 public function inject_process(midgardmvc_core_request $request)
 {
     static $connected = false;
     if ($connected) {
         return;
     }
     // Subscribe to content changed signals from Midgard
     midgard_object_class::connect_default('com_meego_planet_feed', 'action-delete-hook', function ($feed) {
         array_walk(com_meego_planet_utils::get_items_for_feed($feed), function ($item) {
             $item->delete();
         });
     });
     $connected = true;
 }
Ejemplo n.º 10
0
 private function connect_type($type, array $events)
 {
     if (!isset($this->connected_types[$type])) {
         $this->connected_types[$type] = array();
     }
     foreach ($events as $event) {
         if (isset($this->connected_types[$type][$event])) {
             // We already listen for this signal
             return;
         }
         try {
             midgard_object_class::connect_default($type, $event, array($this, 'trigger'), array('type' => $type, 'event' => $event));
         } catch (midgard_error_exception $e) {
             // Midgard connection not available. Ignore
         }
     }
 }
Ejemplo n.º 11
0
 public function inject_process(midgardmvc_core_request $request)
 {
     static $connected = false;
     if (!$connected) {
         // Subscribe to content changed signals from Midgard
         midgard_object_class::connect_default('fi_openkeidas_articles_article', 'action-create', array('fi_openkeidas_articles_injector', 'check_node'), array($request));
         $connected = true;
     }
     $component = $request->get_node()->get_component();
     /* Patch out article authorization 200712 */
     /*
             if ($component == 'fi_openkeidas_articles')
             {
                 midgardmvc_core::get_instance()->authorization->require_user();
             }
     */
 }
Ejemplo n.º 12
0
 /**
  * Sets language, connectes signal handlers
  */
 private function get_connected()
 {
     $this->mvc = midgardmvc_core::get_instance();
     $this->mvc->i18n->set_translation_domain('com_meego_packages');
     $default_language = $this->mvc->configuration->default_language;
     if (!isset($default_language)) {
         $default_language = 'en_US';
     }
     $this->mvc->i18n->set_language($default_language, false);
     $request = $this->mvc->dispatcher->get_request();
     //midgard_object_class::connect_default('midgard_attachment', 'action_loaded_hook', array('com_meego_packages_injector', 'register_download'), array($request));
     midgard_object_class::connect_default('com_meego_ratings_rating', 'action_created', array('com_meego_packages_injector', 'register_rate_comment'), array($request));
     midgard_object_class::connect_default('midgardmvc_ui_forms_form_instance', 'action_created', array('com_meego_packages_injector', 'register_qa_post'), array($request));
     // Default title for Packages pages, override in controllers when possible
     $this->mvc->head->set_title($this->mvc->i18n->get('title_apps'));
     $_mc = midgard_connection::get_instance();
     $res = $_mc->enable_replication(false);
     $this->connected = true;
 }
Ejemplo n.º 13
0
 private function connect_to_signals($class)
 {
     // Subscribe to the "after the fact" signals
     midgard_object_class::connect_default($class, 'action-loaded', array($this, 'register_object'), array($class));
     midgard_object_class::connect_default($class, 'action-update', array($this, 'invalidate_object'), array($class));
     midgard_object_class::connect_default($class, 'action-delete', array($this, 'invalidate_object'), array($class));
 }