/** * @param cbautoactionsActionTable $trigger * @param UserTable $user * @return mixed */ public function execute( $trigger, $user ) { $params = $trigger->getParams()->subTree( 'action' ); $actions = $params->get( 'actions' ); $return = null; if ( $actions ) { $actions = explode( '|*|', $actions ); cbArrayToInts( $actions ); foreach ( $actions as $actionId ) { $action = new cbautoactionsActionTable(); if ( $action->load( $actionId ) ) { $return .= cbautoactionsClass::triggerAction( $action, $user, $trigger->get( '_password' ), $trigger->get( '_extras' ), $trigger->get( '_vars' ) ); } } } return $return; }
/** * Prepares the action to be executed from trigger * * @param cbautoactionsActionTable|int $trigger * @param string $event * @param mixed $var1 * @param mixed $var2 * @param mixed $var3 * @param mixed $var4 * @param mixed $var5 * @param mixed $var6 * @param mixed $var7 * @param mixed $var8 * @param mixed $var9 * @param mixed $var10 * @return mixed */ public function getTrigger( $trigger, $event, &$var1 = null, &$var2 = null, &$var3 = null, &$var4 = null, &$var5 = null, &$var6 = null, &$var7 = null, &$var8 = null, &$var9 = null, &$var10 = null ) { if ( is_integer( $trigger ) ) { $triggerId = $trigger; $trigger = new cbautoactionsActionTable(); $trigger->load( $triggerId ); } if ( $trigger->get( 'id' ) ) { $vars = array( 'trigger' => $event, 'var1' => &$var1, 'var2' => &$var2, 'var3' => &$var3, 'var4' => &$var4, 'var5' => &$var5, 'var6' => &$var6, 'var7' => &$var7, 'var8' => &$var8, 'var9' => &$var9, 'var10' => &$var10 ); if ( $trigger->get( 'object' ) == 3 ) { $user = CBuser::getUserDataInstance( (int) $trigger->get( 'variable' ) ); } elseif ( $trigger->get( 'object' ) == 2 ) { $user = CBuser::getMyUserDataInstance(); } elseif ( $trigger->get( 'object' ) == 1 ) { $user = $this->prepareUser( ${ 'var' . (int) $trigger->get( 'variable' ) } ); if ( $user->get( 'id' ) && $trigger->getParams()->get( 'reload', false, GetterInterface::BOOLEAN ) ) { $user->load( (int) $user->get( 'id' ) ); } } else { $user = $this->getUser( $vars ); if ( $user->get( 'id' ) && $trigger->getParams()->get( 'reload', false, GetterInterface::BOOLEAN ) ) { $user->load( (int) $user->get( 'id' ) ); } } if ( $user->get( 'id' ) ) { $rawPassword = $this->input( 'post/passwd', null, GetterInterface::STRING ); if ( ! $rawPassword ) { $rawPassword = $this->input( 'post/password', null, GetterInterface::STRING ); } } else { $rawPassword = null; } return $this->getAction( $trigger, $user, $rawPassword, $vars ); } return null; }