Пример #1
0
	/**
	 * @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;
	}
Пример #2
0
	/**
	 * 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;
	}