本文整理汇总了PHP中thebuggenie\core\entities\Issue::extractIssueNoFromNumber方法的典型用法代码示例。如果您正苦于以下问题:PHP Issue::extractIssueNoFromNumber方法的具体用法?PHP Issue::extractIssueNoFromNumber怎么用?PHP Issue::extractIssueNoFromNumber使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类thebuggenie\core\entities\Issue
的用法示例。
在下文中一共展示了Issue::extractIssueNoFromNumber方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addToCriteria
/**
*
* @param \b2db\Criteria $crit
* @param array|\thebuggenie\core\entities\SearchFilter $filters
* @param \b2db\Criterion $ctn
* @return null
*/
public function addToCriteria($crit, $filters, $ctn = null)
{
$filter_key = $this->getFilterKey();
if (in_array($this['operator'], array('=', '!=', '<=', '>=', '<', '>'))) {
if ($filter_key == 'text') {
if ($this['value'] != '') {
$searchterm = mb_strpos($this['value'], '%') !== false ? $this['value'] : "%{$this['value']}%";
$issue_no = Issue::extractIssueNoFromNumber($this['value']);
if ($this['operator'] == '=') {
if ($ctn === null) {
$ctn = $crit->returnCriterion(tables\Issues::TITLE, $searchterm, Criteria::DB_LIKE);
}
$ctn->addOr(tables\Issues::DESCRIPTION, $searchterm, Criteria::DB_LIKE);
$ctn->addOr(tables\Issues::REPRODUCTION_STEPS, $searchterm, Criteria::DB_LIKE);
$ctn->addOr(tables\IssueCustomFields::OPTION_VALUE, $searchterm, Criteria::DB_LIKE);
if (is_numeric($issue_no)) {
$ctn->addOr(tables\Issues::ISSUE_NO, $issue_no, Criteria::DB_EQUALS);
}
$ctn->addOr(tables\IssueCustomFields::OPTION_VALUE, $searchterm, Criteria::DB_LIKE);
if (is_numeric($issue_no)) {
$ctn->addOr(tables\Issues::ISSUE_NO, $issue_no, Criteria::DB_EQUALS);
}
// $ctn->addOr(tables\IssueCustomFields::OPTION_VALUE, $searchterm, Criteria::DB_LIKE);
} else {
if ($ctn === null) {
$ctn = $crit->returnCriterion(tables\Issues::TITLE, $searchterm, Criteria::DB_NOT_LIKE);
}
$ctn->addWhere(tables\Issues::DESCRIPTION, $searchterm, Criteria::DB_NOT_LIKE);
$ctn->addWhere(tables\Issues::REPRODUCTION_STEPS, $searchterm, Criteria::DB_NOT_LIKE);
$ctn->addOr(tables\IssueCustomFields::OPTION_VALUE, $searchterm, Criteria::DB_NOT_LIKE);
if (is_numeric($issue_no)) {
$ctn->addWhere(tables\Issues::ISSUE_NO, $issue_no, Criteria::DB_EQUALS);
}
$ctn->addOr(tables\IssueCustomFields::OPTION_VALUE, $searchterm, Criteria::DB_NOT_LIKE);
if (is_numeric($issue_no)) {
$ctn->addWhere(tables\Issues::ISSUE_NO, $issue_no, Criteria::DB_EQUALS);
}
// $ctn->addOr(tables\IssueCustomFields::OPTION_VALUE, $searchterm, Criteria::DB_NOT_LIKE);
}
return $ctn;
}
} elseif (in_array($filter_key, self::getValidSearchFilters())) {
if ($filter_key == 'subprojects') {
if (framework\Context::isProjectContext()) {
if ($ctn === null) {
$ctn = $crit->returnCriterion(tables\Issues::PROJECT_ID, framework\Context::getCurrentProject()->getID());
}
if ($this->hasValue()) {
foreach ($this->getValues() as $value) {
switch ($value) {
case 'all':
$subprojects = Project::getIncludingAllSubprojectsAsArray(framework\Context::getCurrentProject());
foreach ($subprojects as $subproject) {
if ($subproject->getID() == framework\Context::getCurrentProject()->getID()) {
continue;
}
$ctn->addOr(tables\Issues::PROJECT_ID, $subproject->getID());
}
break;
case 'none':
case '':
break;
default:
$ctn->addOr(tables\Issues::PROJECT_ID, (int) $value);
break;
}
}
}
return $ctn;
}
} elseif (in_array($filter_key, array('build', 'edition', 'component'))) {
switch ($filter_key) {
case 'component':
$tbl = tables\IssueAffectsComponent::getTable();
$fk = tables\IssueAffectsComponent::ISSUE;
break;
case 'edition':
$tbl = tables\IssueAffectsEdition::getTable();
$fk = tables\IssueAffectsEdition::ISSUE;
break;
case 'build':
$tbl = tables\IssueAffectsBuild::getTable();
$fk = tables\IssueAffectsBuild::ISSUE;
break;
}
$crit->addJoin($tbl, $fk, tables\Issues::ID, array(array($tbl->getB2DBAlias() . '.' . $filter_key, $this->getValues())), \b2db\Criteria::DB_INNER_JOIN);
return null;
} else {
if ($filter_key == 'project_id' && in_array('subprojects', $filters)) {
return null;
}
$values = $this->getValues();
$num_values = 0;
//.........这里部分代码省略.........