本文整理汇总了PHP中SMW\DIProperty::findPropertyLabel方法的典型用法代码示例。如果您正苦于以下问题:PHP DIProperty::findPropertyLabel方法的具体用法?PHP DIProperty::findPropertyLabel怎么用?PHP DIProperty::findPropertyLabel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SMW\DIProperty
的用法示例。
在下文中一共展示了DIProperty::findPropertyLabel方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testRegister
public function testRegister()
{
$instance = new PropertyRegistry();
$instance->register();
$this->assertNotEmpty(DIProperty::findPropertyLabel(PropertyRegistry::SBL_PARENTPAGE));
$this->assertSame(SBL_PROP_PARENTPAGE, DIProperty::findPropertyLabel(PropertyRegistry::SBL_PARENTPAGE));
}
示例2: createUpdateJobsForSmwIdRange
/**
* @param integer $id
* @param UpdateJob[] &$updatejobs
*/
private function createUpdateJobsForSmwIdRange($id, &$updatejobs, &$emptyrange)
{
// update by internal SMW id --> make sure we get all objects in SMW
$db = $this->store->getConnection('mw.db');
$res = $db->select(\SMWSql3SmwIds::TABLE_NAME, array('smw_id', 'smw_title', 'smw_namespace', 'smw_iw', 'smw_subobject', 'smw_proptable_hash'), array("smw_id >= {$id} ", " smw_id < " . $db->addQuotes($id + $this->iterationLimit)), __METHOD__);
foreach ($res as $row) {
$emptyrange = false;
// note this even if no jobs were created
if ($this->namespaces && !in_array($row->smw_namespace, $this->namespaces)) {
continue;
}
// Find page to refresh, even for special properties:
if ($row->smw_title != '' && $row->smw_title[0] != '_') {
$titleKey = $row->smw_title;
} elseif ($row->smw_namespace == SMW_NS_PROPERTY && $row->smw_iw == '' && $row->smw_subobject == '') {
$titleKey = str_replace(' ', '_', DIProperty::findPropertyLabel($row->smw_title));
} else {
$titleKey = '';
}
if ($row->smw_subobject !== '' && $row->smw_iw !== SMW_SQL3_SMWDELETEIW) {
// leave subobjects alone; they ought to be changed with their pages
} elseif ($this->isPlainObjectValue($row)) {
$this->propertyTableOutdatedReferenceDisposer->attemptToRemoveOutdatedEntryFromIDTable($row->smw_id);
} elseif ($row->smw_iw === '' && $titleKey != '') {
// objects representing pages
$title = Title::makeTitleSafe($row->smw_namespace, $titleKey);
if ($title !== null) {
$updatejobs[] = $this->newUpdateJob($title);
}
} elseif ($row->smw_iw == SMW_SQL3_SMWREDIIW && $titleKey != '') {
// TODO: special treatment of redirects needed, since the store will
// not act on redirects that did not change according to its records
$title = Title::makeTitleSafe($row->smw_namespace, $titleKey);
if ($title !== null && !$title->exists()) {
$updatejobs[] = $this->newUpdateJob($title);
}
} elseif ($row->smw_iw == SMW_SQL3_SMWIW_OUTDATED || $row->smw_iw == SMW_SQL3_SMWDELETEIW) {
// remove outdated internal object references
$this->propertyTableOutdatedReferenceDisposer->removeAnyReferenceFromPropertyTablesFor($row->smw_id);
} elseif ($titleKey != '') {
// "normal" interwiki pages or outdated internal objects -- delete
$diWikiPage = new DIWikiPage($titleKey, $row->smw_namespace, $row->smw_iw);
$emptySemanticData = new SemanticData($diWikiPage);
$this->store->updateData($emptySemanticData);
}
}
$db->freeResult($res);
}
示例3: newDiWikiPageFromHash
/**
* @note This method does not make additional checks therefore it is assumed
* that the input hash is derived or generated from HashBuilder::getSegmentedHashId
*
* @since 2.1
*
* @param string
*
* @return DIWikiPage|null
*/
public static function newDiWikiPageFromHash($hash)
{
list($title, $namespace, $interwiki, $subobjectName) = explode('#', $hash, 4);
// A leading underscore is an internal SMW convention to describe predefined
// properties and as such need to be transformed into a valid representation
if ($title[0] === '_') {
$title = str_replace(' ', '_', DIProperty::findPropertyLabel($title));
}
return new DIWikiPage($title, $namespace, $interwiki, $subobjectName);
}
示例4: getPredefinedData
/**
* Normalize the information for an SMW object (page etc.) and return
* the predefined ID if any. All parameters are call-by-reference and
* will be changed to perform any kind of built-in normalization that
* SMW requires. This mainly applies to predefined properties that
* should always use their property key as a title, have fixed
* sortkeys, etc. Some very special properties also have fixed IDs that
* do not require any DB lookups. In such cases, the method returns
* this ID; otherwise it returns 0.
*
* @note This function could be extended to account for further kinds
* of normalization and predefined ID. However, both getSMWPropertyID
* and makeSMWPropertyID must then also be adjusted to do the same.
*
* @since 1.8
* @param string $title DB key
* @param integer $namespace namespace
* @param string $iw interwiki prefix
* @param string $subobjectName
* @param string $sortkey
* @return integer predefined id or 0 if none
*/
protected function getPredefinedData(&$title, &$namespace, &$iw, &$subobjectName, &$sortkey)
{
if ($namespace == SMW_NS_PROPERTY && ($iw === '' || $iw == SMW_SQL3_SMWINTDEFIW) && $title != '') {
// Check if this is a predefined property:
if ($title[0] != '_') {
// This normalization also applies to
// subobjects of predefined properties.
$newTitle = SMW\DIProperty::findPropertyID(str_replace('_', ' ', $title));
if ($newTitle) {
$title = $newTitle;
$sortkey = SMW\DIProperty::findPropertyLabel($title);
if ($sortkey === '') {
$iw = SMW_SQL3_SMWINTDEFIW;
}
}
}
// Check if this is a property with a fixed SMW ID:
if ($subobjectName === '' && array_key_exists($title, self::$special_ids)) {
return self::$special_ids[$title];
}
}
return 0;
}