WPF_ADDEDTOPIC::define_trigger()
Define and register the trigger by pushing it into the Automator object
Source Source
File: src/integrations/wpforo/triggers/wpf-addedtopic.php
public function define_trigger() { $forums = WPF()->forum->get_forums( [ 'type' => 'forum' ] ); $forum_options = [ 0 => 'Any Forum' ]; foreach ( $forums as $forum ) { $forum_options[ $forum['forumid'] ] = $forum['title']; } $forum_relevant_tokens = [ 'WPFORO_FORUM' => __( 'Forum title', 'uncanny-automator' ), 'WPFORO_FORUM_ID' => __( 'Forum ID', 'uncanny-automator' ), 'WPFORO_FORUM_URL' => __( 'Forum URL', 'uncanny-automator' ), 'WPFORO_TOPIC' => __( 'Topic title', 'uncanny-automator' ), 'WPFORO_TOPIC_ID' => __( 'Topic ID', 'uncanny-automator' ), 'WPFORO_TOPIC_URL' => __( 'Topic URL', 'uncanny-automator' ), 'WPFORO_TOPIC_CONTENT' => __( 'Topic content', 'uncanny-automator' ), ]; $trigger = array( 'author' => Automator()->get_author_name( $this->trigger_code ), 'support_link' => Automator()->get_author_support_link( $this->trigger_code, 'integration/wpforo/' ), 'integration' => self::$integration, 'code' => $this->trigger_code, /* translators: Logged-in trigger - wpForo */ 'sentence' => sprintf( esc_attr__( 'A user creates a topic in {{a forum:%1$s}} {{a number of:%2$s}} time(s)', 'uncanny-automator' ), $this->trigger_meta, 'NUMTIMES' ), /* translators: Logged-in trigger - wpForo */ 'select_option_name' => esc_attr__( 'A user creates a {{new topic}}', 'uncanny-automator' ), 'action' => 'wpforo_after_add_topic', 'priority' => 5, 'accepted_args' => 1, 'validation_function' => array( $this, 'added_topic' ), 'options' => [ Automator()->helpers->recipe->field->select_field_args( [ 'option_code' => $this->trigger_meta, 'options' => $forum_options, 'label' => esc_attr__( 'Forums', 'uncanny-automator' ), 'required' => true, 'token_name' => 'Forum ID', 'relevant_tokens' => $forum_relevant_tokens, ] ), Automator()->helpers->recipe->options->number_of_times(), ], ); Automator()->register->trigger( $trigger ); return; }
Expand full source code Collapse full source code View on Github