public function setOperation($operation)
    {
        $op    = null;
        $opArg = null;

        // Regexp matching all GPG "operational" arguments
        $regexp = '/--('
            . 'version|import|list-public-keys|list-secret-keys'
            . '|list-keys|delete-key|delete-secret-key|encrypt|sign|clearsign'
            . '|detach-sign|decrypt|verify|export-secret-keys|export|gen-key'
            . ')/';

        if (strpos($operation, ' ') === false) {
            $op = trim($operation, '- ');
        } else if (preg_match($regexp, $operation, $matches, PREG_OFFSET_CAPTURE)) {
            $op      = trim($matches[0][0], '-');
            $op_len  = $matches[0][1] + mb_strlen($op, '8bit') + 3;
            $command = mb_substr($operation, $op_len, null, '8bit');

            // we really need the argument if it is a key ID/fingerprint or email
            // address se we can use simplified regexp to "revert escapeshellarg()"
            if (preg_match('/^[\'"]([a-zA-Z0-9:@._-]+)[\'"]/', $command, $matches)) {
                $opArg = $matches[1];
            }
        }

        $this->operation        = $op;
        $this->operationArg     = $opArg;
        $this->data['Warnings'] = array();
    }
public function setOperation($operation)
    {
        $op    = null;
        $opArg = null;

        // Regexp matching all GPG "operational" arguments
        $regexp = '/--('
            . 'version|import|list-public-keys|list-secret-keys'
            . '|list-keys|delete-key|delete-secret-key|encrypt|sign|clearsign'
            . '|detach-sign|decrypt|verify|export-secret-keys|export|gen-key'
            . ')/';

        if (strpos($operation, ' ') === false) {
            $op = trim($operation, '- ');
        } else if (preg_match($regexp, $operation, $matches, PREG_OFFSET_CAPTURE)) {
            $op      = trim($matches[0][0], '-');
            $op_len  = $matches[0][1] + mb_strlen($op, '8bit') + 3;
            $command = mb_substr($operation, $op_len, null, '8bit');

            // we really need the argument if it is a key ID/fingerprint or email
            // address se we can use simplified regexp to "revert escapeshellarg()"
            if (preg_match('/^[\'"]([a-zA-Z0-9:@._-]+)[\'"]/', $command, $matches)) {
                $opArg = $matches[1];
            }
        }

        $this->operation        = $op;
        $this->operationArg     = $opArg;
        $this->data['Warnings'] = array();
    }
public function setOperation ( $ operation ) { $ op = null ; $ opArg = null ; // Regexp matching all GPG "operational" arguments $ regexp = '/--(' . 'version|import|list-public-keys|list-secret-keys' . '|list-keys|delete-key|delete-secret-key|encrypt|sign|clearsign' . '|detach-sign|decrypt|verify|export-secret-keys|export|gen-key' . ')/' ; if ( strpos ( $ operation , ' ' ) === false ) { $ op = trim ( $ operation , '- ' ) ; } else if ( preg_match ( $ regexp , $ operation , $ matches , PREG_OFFSET_CAPTURE ) ) { $ op = trim ( $ matches [ 0 ] [ 0 ] , '-' ) ; $ op_len = $ matches [ 0 ] [ 1 ] + mb_strlen ( $ op , '8bit' ) + 3 ; $ command = mb_substr ( $ operation , $ op_len , null , '8bit' ) ; // we really need the argument if it is a key ID/fingerprint or email // address se we can use simplified regexp to "revert escapeshellarg()" if ( preg_match ( '/^[\'"]([a-zA-Z0-9:@._-]+)[\'"]/' , $ command , $ matches ) ) { $ opArg = $ matches [ 1 ] ; } } $ this -> operation = $ op ; $ this -> operationArg = $ opArg ; $ this -> data [ 'Warnings' ] = array ( ) ; }
Sets the operation that is being performed by the engine.

@param string $operation The GPG operation to perform.

@return void
Sets the operation that is being performed by the engine .