private function parseAsk ( $text, WikiObjectModelCollection $parentObj ) { if ( !defined( 'SMW_VERSION' ) ) return null; if ( trim( strtolower( $parentObj->getFunctionKey() ) ) != 'ask' ) return null; if ( count ( $parentObj->getObjects() ) == 0 ) { return array( 'len' => 0, 'obj' => new WOMQuerystringModel() ); } if ( defined( 'SMW_AGGREGATION_VERSION' ) ) { $r = preg_match( '/^(\s*\?([^>=|}]+)(?:\>([^=|}]*))?(?:=([^|}]*))?)(\||\}|$)/', $text, $m ); if ( !$r ) return null; return array( 'len' => strlen( $m[5] == '|' ? $m[0] : $m[1] ), 'obj' => new WOMQueryPrintoutModel( trim( $m[2] ), trim( $m[4] ), trim( $m[3] ) ) ); } else { $r = preg_match( '/^(\s*\?([^=|}]+)(?:=([^|}]*))?)(\||\}|$)/', $text, $m ); if ( !$r ) return null; return array( 'len' => strlen( $m[4] == '|' ? $m[0] : $m[1] ), 'obj' => new WOMQueryPrintoutModel( trim( $m[2] ), trim( $m[3] ) ) ); } }