Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
D
doctrine-dbal
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Tomáš Trávníček
doctrine-dbal
Commits
af7d3add
Commit
af7d3add
authored
Jul 12, 2007
by
zYne
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
--no commit message
--no commit message
parent
d8771405
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
172 additions
and
3 deletions
+172
-3
Search.php
lib/Doctrine/Search.php
+9
-2
Standard.php
lib/Doctrine/Search/Analyzer/Standard.php
+1
-1
Query.php
lib/Doctrine/Search/Query.php
+96
-0
Scorer.php
lib/Doctrine/Search/Scorer.php
+66
-0
No files found.
lib/Doctrine/Search.php
View file @
af7d3add
...
@@ -88,6 +88,13 @@ class Doctrine_Search
...
@@ -88,6 +88,13 @@ class Doctrine_Search
}
}
public
function
buildDefinition
(
Doctrine_Table
$table
)
public
function
buildDefinition
(
Doctrine_Table
$table
)
{
{
$name
=
$table
->
getComponentName
();
$className
=
$name
.
'Index'
;
if
(
class_exists
(
$className
))
{
return
false
;
}
$columns
=
array
(
'keyword'
=>
array
(
'type'
=>
'string'
,
$columns
=
array
(
'keyword'
=>
array
(
'type'
=>
'string'
,
'length'
=>
200
,
'length'
=>
200
,
...
@@ -99,9 +106,8 @@ class Doctrine_Search
...
@@ -99,9 +106,8 @@ class Doctrine_Search
'length'
=>
8
));
'length'
=>
8
));
$id
=
$table
->
getIdentifier
();
$id
=
$table
->
getIdentifier
();
$name
=
$table
->
getComponentName
();
$options
=
array
(
'className'
=>
$
name
.
'Index'
);
$options
=
array
(
'className'
=>
$
className
);
$fk
=
array
();
$fk
=
array
();
...
@@ -134,5 +140,6 @@ class Doctrine_Search
...
@@ -134,5 +140,6 @@ class Doctrine_Search
if
(
!
$this
->
_options
[
'generateFiles'
])
{
if
(
!
$this
->
_options
[
'generateFiles'
])
{
eval
(
$def
);
eval
(
$def
);
}
}
return
true
;
}
}
}
}
lib/Doctrine/Search/Analyzer/Standard.php
View file @
af7d3add
...
@@ -266,7 +266,7 @@ class Doctrine_Search_Analyzer_Standard implements Doctrine_Search_Analyzer_Inte
...
@@ -266,7 +266,7 @@ class Doctrine_Search_Analyzer_Standard implements Doctrine_Search_Analyzer_Inte
public
function
analyze
(
$text
)
public
function
analyze
(
$text
)
{
{
$text
=
preg_replace
(
'/[.()&#!,]/'
,
' '
,
$text
);
$text
=
preg_replace
(
'/[.()&#!,
?^£@%&{}
+]/'
,
' '
,
$text
);
$text
=
str_replace
(
' '
,
' '
,
$text
);
$text
=
str_replace
(
' '
,
' '
,
$text
);
$terms
=
explode
(
' '
,
$text
);
$terms
=
explode
(
' '
,
$text
);
...
...
lib/Doctrine/Search/Query.php
0 → 100644
View file @
af7d3add
<?php
/*
* $Id: Hook.php 1939 2007-07-05 23:47:48Z zYne $
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* Doctrine_Search_Query
*
* @package Doctrine
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @since 1.0
* @version $Revision: 1939 $
* @author Konsta Vesterinen <kvesteri@cc.hut.fi>
*/
class
Doctrine_Search_Query
{
/**
* @var Doctrine_Query $query the base query
*/
protected
$_query
;
/**
* @var array $_aliases an array of searchable component aliases
*/
protected
$_aliases
=
array
();
/**
* @param Doctrine_Query $query the base query
*/
public
function
__construct
(
$query
)
{
if
(
is_string
(
$query
))
{
$this
->
_query
=
new
Doctrine_Query
();
$this
->
_query
->
parseQuery
(
$query
);
}
elseif
(
$query
instanceof
Doctrine_Query
)
{
$this
->
_query
=
$query
;
}
else
{
throw
new
Doctrine_Exception
(
'Constructor argument should be either Doctrine_Query object or a valid DQL query string'
);
}
$this
->
_query
->
getQuery
();
}
/**
* getQuery
*
* @return Doctrine_Query returns the query object associated with this object
*/
public
function
getQuery
()
{
return
$this
->
_query
;
}
public
function
addAlias
(
$alias
)
{
$this
->
_aliases
[]
=
$alias
;
}
public
function
search
(
$text
)
{
$text
=
strtolower
(
$text
);
$terms
=
Doctrine_Tokenizer
::
quoteExplode
(
$text
);
foreach
(
$this
->
_aliases
as
$alias
)
{
$a
=
array
();
foreach
(
$terms
as
$term
)
{
$a
[]
=
'i.keyword = ?'
;
}
$this
->
_query
->
addWhere
(
implode
(
' OR '
,
$a
),
$terms
);
}
}
public
function
execute
()
{
$resultSet
=
$this
->
_query
->
execute
();
return
$resultSet
;
}
}
lib/Doctrine/Search/Scorer.php
0 → 100644
View file @
af7d3add
<?php
/*
* $Id$
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This software consists of voluntary contributions made by many individuals
* and is licensed under the LGPL. For more information, see
* <http://www.phpdoctrine.com>.
*/
/**
* Doctrine_Search_Scorer
*
* @author Konsta Vesterinen <kvesteri@cc.hut.fi>
* @package Doctrine
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL
* @version $Revision$
* @category Object Relational Mapping
* @link www.phpdoctrine.com
* @since 1.0
*/
class
Doctrine_Search_Scorer
{
protected
$_resultSet
;
protected
$_components
=
array
();
public
function
__construct
(
$resultSet
)
{
$this
->
_resultSet
=
$resultSet
;
}
public
function
addComponent
(
$component
)
{
$this
->
_components
[]
=
$component
;
}
public
function
process
()
{
foreach
(
$this
->
_resultSet
as
$mainRow
)
{
if
(
isset
(
$mainRow
[
$component
]))
{
if
(
!
is_array
(
$mainRow
[
$component
]))
{
throw
new
Doctrine_Search_Exception
(
'Wrong data type in result set.'
);
}
foreach
(
$mainRow
[
$component
]
as
$indexRow
)
{
}
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment