本文整理匯總了PHP中vB_DataManager::post_delete方法的典型用法代碼示例。如果您正苦於以下問題:PHP vB_DataManager::post_delete方法的具體用法?PHP vB_DataManager::post_delete怎麽用?PHP vB_DataManager::post_delete使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類vB_DataManager
的用法示例。
在下文中一共展示了vB_DataManager::post_delete方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: eval
function post_delete($doquery = true)
{
($hook = vBulletinHook::fetch_hook('userpicdata_delete')) ? eval($hook) : false;
return parent::post_delete($doquery);
}
示例2: array
/**
* Code to run after deleting
*
* @param boolean Do the query?
*
* @return boolean Was this code executed correctly?
*
*/
function post_delete($doquery = true)
{
$albums = array();
$albums_sql = $this->registry->db->query_read("\n\t\t\tSELECT album.*\n\t\t\tFROM " . TABLE_PREFIX . "albumpicture AS albumpicture\n\t\t\tINNER JOIN " . TABLE_PREFIX . "album AS album ON (album.albumid = albumpicture.albumid)\n\t\t\tWHERE albumpicture.pictureid = " . $this->fetch_field('pictureid'));
while ($album = $this->registry->db->fetch_array($albums_sql)) {
$albums[] = $album;
}
$this->registry->db->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "albumpicture\n\t\t\tWHERE pictureid = " . $this->fetch_field('pictureid'));
if ($this->info['auto_count_update'] and $albums) {
foreach ($albums as $album) {
$albumdata =& datamanager_init('Album', $this->registry, ERRTYPE_SILENT);
$albumdata->set_existing($album);
$albumdata->rebuild_counts();
// for a picture to have been set to the cover, it must have been visible
if ($albumdata->fetch_field('coverpictureid') == $this->fetch_field('pictureid')) {
if ($album['visible'] - 1 > 0) {
$new_cover = $this->registry->db->query_first("\n\t\t\t\t\t\t\tSELECT albumpicture.pictureid\n\t\t\t\t\t\t\tFROM " . TABLE_PREFIX . "albumpicture AS albumpicture\n\t\t\t\t\t\t\tINNER JOIN " . TABLE_PREFIX . "picture AS picture ON (albumpicture.pictureid = picture.pictureid)\n\t\t\t\t\t\t\tWHERE albumpicture.albumid = {$album['albumid']} AND picture.state = 'visible'\n\t\t\t\t\t\t\tORDER BY albumpicture.dateline ASC\n\t\t\t\t\t\t\tLIMIT 1\n\t\t\t\t\t\t");
}
$albumdata->set('coverpictureid', $new_cover['pictureid'] ? $new_cover['pictureid'] : 0);
}
$albumdata->save();
}
}
$del_usercss = array();
foreach ($albums as $album) {
$del_usercss[] = "'{$album['albumid']}," . $this->fetch_field('pictureid') . "'";
}
if ($del_usercss) {
$this->registry->db->query_write("\n\t\t\t\tDELETE FROM " . TABLE_PREFIX . "usercss\n\t\t\t\tWHERE property = 'background_image'\n\t\t\t\t\tAND value IN (" . implode(',', $del_usercss) . ")\n\t\t\t\t\tAND userid = " . intval($this->fetch_field('userid')) . "\n\t\t\t");
$this->info['have_updated_usercss'] = $this->registry->db->affected_rows() > 0;
}
$groups = array();
$groups_sql = $this->registry->db->query_read("\n\t\t\tSELECT DISTINCT socialgroup.*\n\t\t\tFROM " . TABLE_PREFIX . "socialgrouppicture AS socialgrouppicture\n\t\t\tINNER JOIN " . TABLE_PREFIX . "socialgroup AS socialgroup ON (socialgroup.groupid = socialgrouppicture.groupid)\n\t\t\tWHERE socialgrouppicture.pictureid = " . $this->fetch_field('pictureid'));
while ($group = $this->registry->db->fetch_array($groups_sql)) {
$groups[] = $group;
}
$this->registry->db->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "socialgrouppicture\n\t\t\tWHERE pictureid = " . $this->fetch_field('pictureid'));
foreach ($groups as $group) {
$groupdata =& datamanager_init('SocialGroup', $this->registry, ERRTYPE_SILENT);
$groupdata->set_existing($group);
$groupdata->rebuild_picturecount();
$groupdata->save();
}
$this->registry->db->query_write("\n\t\t\tDELETE FROM " . TABLE_PREFIX . "picturecomment\n\t\t\tWHERE pictureid = " . $this->fetch_field('pictureid'));
require_once DIR . '/includes/functions_picturecomment.php';
build_picture_comment_counters($this->fetch_field('userid'));
($hook = vBulletinHook::fetch_hook('picturedata_delete')) ? eval($hook) : false;
return parent::post_delete($doquery);
}
示例3: eval
/**
* Additional data to update after a delete call (such as denormalized values in other tables).
*
* @access protected
*
* @param boolean $doquery Do the query?
*/
function post_delete($doquery = true)
{
require_once(DIR . '/includes/functions_socialgroup.php');
fetch_socialgroup_newest_groups(true, false, !$this->registry->options['sg_enablesocialgroupicons']);
($hook = vBulletinHook::fetch_hook('socgroupicondata_delete')) ? eval($hook) : false;
return parent::post_delete($doquery);
}
示例4: foreach
/**
* Any code to run after deleting
*
* @param Boolean Do the query?
*/
function post_delete($doquery = true)
{
foreach ($this->lists['content'] as $contenttypeid => $list) {
if (!($attach =& vB_Attachment_Dm_Library::fetch_library($this->registry, $contenttypeid))) {
return false;
}
$attach->post_delete($this);
unset($attach);
}
// Update the refcount in the filedata table
if (!empty($this->lists['filedataids'])) {
$this->registry->db->query_write("\n\t\t\t\tUPDATE " . TABLE_PREFIX . "filedata AS fd\n\t\t\t\tSET fd.refcount = (\n\t\t\t\t\tSELECT COUNT(*)\n\t\t\t\t\tFROM " . TABLE_PREFIX . "attachment AS a\n\t\t\t\t\tWHERE fd.filedataid = a.filedataid\n\t\t\t\t)\n\t\t\t\tWHERE fd.filedataid IN (" . implode(", ", array_keys($this->lists['filedataids'])) . ")\n\t\t\t");
}
// Below here only applies to attachments in pictures/groups but I forsee all attachments gaining the ability to have comments
if ($this->info['type'] == 'filedata') {
if (!empty($this->lists['filedataids'])) {
$this->registry->db->query_write("\n\t\t\t\t\tDELETE FROM " . TABLE_PREFIX . "picturecomment\n\t\t\t\t\tWHERE filedataid IN (" . implode(", ", array_keys($this->lists['filedataids'])) . ")\n\t\t\t\t");
}
} else {
if (!empty($this->lists['picturecomments'])) {
foreach ($this->lists['picturecomments'] as $sql) {
if (!($results = $this->registry->db->query_first("\n\t\t\t\t\tSELECT a.attachmentid\n\t\t\t\t\tFROM " . TABLE_PREFIX . "attachment AS a\n\t\t\t\t\tWHERE\n\t\t\t\t\t\t{$sql}\n\t\t\t\t"))) {
$this->registry->db->query_write("\n\t\t\t\t\t\tDELETE FROM " . TABLE_PREFIX . "picturecomment\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t{$sql}\n\t\t\t\t\t");
}
}
}
}
require_once DIR . '/includes/functions_picturecomment.php';
foreach (array_keys($this->lists['userids']) as $userid) {
build_picture_comment_counters($userid);
}
return parent::post_delete($doquery);
}
示例5: COUNT
/**
* Any code to run after deleting
*
* @param Boolean Do the query?
*/
function post_delete($doquery = true)
{
foreach ($this->lists['content'] AS $contenttypeid => $list)
{
if (!($attach =& vB_Attachment_Dm_Library::fetch_library($this->registry, $contenttypeid)))
{
return false;
}
$attach->post_delete($this);
unset($attach);
}
// Update the refcount in the filedata table
if (!empty($this->lists['filedataids']))
{
$this->registry->db->query_write("
UPDATE " . TABLE_PREFIX . "filedata AS fd
SET fd.refcount = (
SELECT COUNT(*)
FROM " . TABLE_PREFIX . "attachment AS a
WHERE fd.filedataid = a.filedataid
)
WHERE fd.filedataid IN (" . implode(", ", array_keys($this->lists['filedataids'])) . ")
");
}
// Hourly cron job will clean out the FS where refcount = 0 and dateline > 1 hour
// Below here only applies to attachments in pictures/groups but I forsee all attachments gaining the ability to have comments
if ($this->info['type'] == 'filedata')
{
if (!empty($this->lists['filedataids']))
{
$this->registry->db->query_write("
DELETE FROM " . TABLE_PREFIX . "picturecomment
WHERE filedataid IN (" . implode(", ", array_keys($this->lists['filedataids'])) . ")
");
}
}
else if (!empty($this->lists['picturecomments'])) // deletion type is by attachment
{
foreach ($this->lists['picturecomments'] AS $sql)
{
if (!($results = $this->registry->db->query_first("
SELECT a.attachmentid
FROM " . TABLE_PREFIX . "attachment AS a
WHERE
$sql
")))
{
$this->registry->db->query_write("
DELETE FROM " . TABLE_PREFIX . "picturecomment
WHERE
$sql
");
}
}
}
require_once(DIR . '/includes/functions_picturecomment.php');
foreach (array_keys($this->lists['userids']) AS $userid)
{
build_picture_comment_counters($userid);
}
return parent::post_delete($doquery);
}
示例6:
function post_delete($doquery = true)
{
return parent::post_delete($doquery);
}