Aš nedariau migracijos, tai nežinau. Kaip atrodo atkurtos nuotraukos, galima pamatyti toje pačioje temoje ankstesniuose puslapiuose.
Skelbimas
Collapse
No announcement yet.
Pagalba kuriant nuotraukų talpyklos-puslapio projektą
Collapse
X
-
Turėtų būti seni forumo backupai, gal būtų galima pažiūrėti, be papildomos informacijos ar prieigų sunku kažkuo padėti.Parašė digital Rodyti pranešimąAš nedariau migracijos, tai nežinau.
Comment
-
Ar atkūrinėjant nuotraukas neteko pastebėt koreliacijos tarp seno ID ir naujo ID?Parašė digital Rodyti pranešimąAš nedariau migracijos, tai nežinau. Kaip atrodo atkurtos nuotraukos, galima pamatyti toje pačioje temoje ankstesniuose puslapiuose.
Comment
-
Kaip suprantu nuotraukos sugedo po migracijos iš vBulletin versijos 3.8 į 5.x, ir konkrečiai neveikia failo pasiekimas per nuorodos formatą "picture.php?albumid=***&pictureid=***".
Nors vBulletin nėra atviro kodo, bet pagūglinus galima rasti, kur kas nors įmetė savo forumo kodą į viešą Git repo, tad galima pažiūrėti kaip anksčiau veikė tas nebeveikiantis picture.php skriptas. Versijoje 3.8.7 daroma tokia SQL užklausa:
t.y. pagal "albumid" ir "pictureid" surandamas įrašas lentelėje "albumpicture", ir tada per JOIN su lentele "picture" randamas stulpelis "pictureid", kuris turbūt atitinka naujuose URL naudojamą ID. Jei lentelė "albumpicture" vis dar egzistuoja forumo duombazėje, galima paruošti skriptą, kuris seno tipo nuotraukų nuorodas pakeistų į veikiančias.Kodas:$imageinfo = $db->query_first_slave(" SELECT picture.pictureid, picture.userid, picture.extension, picture.idhash, picture.state, albumpicture.dateline, album.state AS albumstate, profileblockprivacy.requirement AS privacy_requirement, " . ($vbulletin->GPC['thumb'] ? "picture.thumbnail AS filedata, picture.thumbnail_filesize AS filesize" : 'picture.filedata, picture.filesize' ) . " FROM " . TABLE_PREFIX . "albumpicture AS albumpicture INNER JOIN " . TABLE_PREFIX . "picture AS picture ON (albumpicture.pictureid = picture.pictureid) INNER JOIN " . TABLE_PREFIX . "album AS album ON (albumpicture.albumid = album.albumid) LEFT JOIN " . TABLE_PREFIX . "profileblockprivacy AS profileblockprivacy ON (profileblockprivacy.userid = picture.userid AND profileblockprivacy.blockid = 'albums') WHERE albumpicture.albumid = " . $vbulletin->GPC['albumid'] . " AND albumpicture.pictureid = " . $vbulletin->GPC['pictureid'] );
Jei migracija vyko ne tiesiogiai tarp versijų 3 -> 5, o paeiliui 3 -> 4 -> 5, verta pažiūrėti ir į versiją 4.2.2, kur picture.php veikia kitaip:
t.y. ten visi reikiami ID turėtų būti lentelėje "picturelegacy".Kodas:$imageinfo = $db->query_first_slave(" SELECT pl.attachmentid FROM " . TABLE_PREFIX . "picturelegacy AS pl INNER JOIN " . TABLE_PREFIX . "attachment AS a ON (pl.attachmentid = a.attachmentid) WHERE pl.pictureid = " . $vbulletin->GPC['pictureid'] . " " . (($vbulletin->GPC['albumid']) ? "AND pl.type = 'album' AND pl.primaryid = " . $vbulletin->GPC['albumid'] : "") . " " . (($vbulletin->GPC['groupid']) ? "AND pl.type = 'group' AND pl.primaryid = " . $vbulletin->GPC['groupid'] : "") . " ");
- 2 patinka
Comment
Comment