本文整理汇总了PHP中Source::get_authz_status方法的典型用法代码示例。如果您正苦于以下问题:PHP Source::get_authz_status方法的具体用法?PHP Source::get_authz_status怎么用?PHP Source::get_authz_status使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Source
的用法示例。
在下文中一共展示了Source::get_authz_status方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: refresh_cache
/**
* Static function to refresh src_org_cache from src_org
*
* @param Source|src_id|src_uuid $source
* @return int number of rows cached
*/
public static function refresh_cache($source)
{
$conn = AIR2_DBManager::get_master_connection();
// get the src_id
$src_id;
if (is_numeric($source)) {
$src_id = $source;
} elseif (is_string($source)) {
$q = 'select src_id from source where src_uuid = ?';
$src_id = $conn->fetchOne($q, array($source), 0);
} elseif (is_object($source)) {
$src_id = $source->src_id;
}
// sanity!
if (!$src_id) {
Carper::carp("Source !exists");
return;
}
// delete all src_org_cache recs for this source
$conn->execute("delete from src_org_cache where soc_src_id = {$src_id}");
// array of org_id => status
$org_status = Source::get_authz_status($src_id);
// bulk-insert
$vals = array();
foreach ($org_status as $org_id => $status) {
$vals[] = "({$src_id},{$org_id},'{$status}')";
}
if (count($vals)) {
$vals = implode(',', $vals);
$stmt = "insert into src_org_cache (soc_src_id, soc_org_id, soc_status)";
$conn->execute("{$stmt} values {$vals}");
}
return count($vals);
}