GlisWeb framework
_src
_lib
_page.utils.php
Vai alla documentazione di questo file.
1
<?php
2
3
// SDF funzione per la duplicazione di una pagina
4
function
duplicaPagina
( $oldPgId, $newSiteId, $newParentId = NULL, $recursive ){
5
6
global
$cf
;
7
8
$newPgId = 0;
// inizializzo l'id della nuova pagina
9
10
// ID della nuova pagina
11
$newPgId =
mysqlDuplicateRow
( $cf[
'mysql'
][
'connection'
],
'pagine'
, $oldPgId, NULL, array(
'id_sito'
=> $newSiteId,
'id_genitore'
=> $newParentId) );
12
13
// se ho il nuovo id pagina procedo con la duplicazione degli elementi collegati (contenuti, immagini, ...)
14
if
( is_int($newPgId) ) {
15
16
// duplicazione contenuti
17
$oldConts =
mysqlQuery
( $cf[
'mysql'
][
'connection'
],
'SELECT * FROM contenuti WHERE id_pagina = ?'
, array( array(
's'
=> $oldPgId ) ) );
18
foreach
( $oldConts as $cont ) {
19
$dup =
mysqlDuplicateRow
( $cf[
'mysql'
][
'connection'
],
'contenuti'
, $cont[
'id'
], NULL, array(
'id_pagina'
=> $newPgId ) );
20
}
21
22
// duplicazione immagini
23
$oldImgs =
mysqlQuery
( $cf[
'mysql'
][
'connection'
],
'SELECT * FROM immagini WHERE id_pagina = ?'
, array( array(
's'
=> $oldPgId ) ) );
24
foreach
( $oldImgs as $img ) {
25
$dup =
mysqlDuplicateRow
( $cf[
'mysql'
][
'connection'
],
'immagini'
, $img[
'id'
], NULL, array(
'id_pagina'
=> $newPgId ) );
26
}
27
28
// duplicazione file
29
$oldFiles =
mysqlQuery
( $cf[
'mysql'
][
'connection'
],
'SELECT * FROM file WHERE id_pagina = ?'
, array( array(
's'
=> $oldPgId ) ) );
30
foreach
( $oldFiles as
$file
) {
31
$dup =
mysqlDuplicateRow
( $cf[
'mysql'
][
'connection'
],
'file'
, $file[
'id'
], NULL, array(
'id_pagina'
=> $newPgId ) );
32
}
33
34
// duplicazione video
35
$oldVideos =
mysqlQuery
( $cf[
'mysql'
][
'connection'
],
'SELECT * FROM video WHERE id_pagina = ?'
, array( array(
's'
=> $oldPgId ) ) );
36
foreach
( $oldVideos as $video ) {
37
$dup =
mysqlDuplicateRow
( $cf[
'mysql'
][
'connection'
],
'video'
, $video[
'id'
], NULL, array(
'id_pagina'
=> $newPgId ) );
38
}
39
40
// duplicazione metadati
41
$oldMetas =
mysqlQuery
( $cf[
'mysql'
][
'connection'
],
'SELECT * FROM metadati WHERE id_pagina = ?'
, array( array(
's'
=> $oldPgId ) ) );
42
foreach
( $oldMetas as $meta ) {
43
$dup =
mysqlDuplicateRow
( $cf[
'mysql'
][
'connection'
],
'metadati'
, $meta[
'id'
], NULL, array(
'id_pagina'
=> $newPgId ) );
44
}
45
46
// duplicazione associazione pagina menu
47
$oldPgMns =
mysqlQuery
( $cf[
'mysql'
][
'connection'
],
'SELECT * FROM pagine_menu WHERE id_pagina = ?'
, array( array(
's'
=> $oldPgId ) ) );
48
foreach
( $oldPgMns as $pgmn ) {
49
$dup =
mysqlDuplicateRow
( $cf[
'mysql'
][
'connection'
],
'pagine_menu'
, $pgmn[
'id'
], NULL, array(
'id_pagina'
=> $newPgId ) );
50
}
51
52
// duplicazione associazione pagina macro
53
$oldPgMcrs =
mysqlQuery
( $cf[
'mysql'
][
'connection'
],
'SELECT * FROM pagine_macro WHERE id_pagina = ?'
, array( array(
's'
=> $oldPgId ) ) );
54
foreach
( $oldPgMcrs as $pgmcr ) {
55
$dup =
mysqlDuplicateRow
( $cf[
'mysql'
][
'connection'
],
'pagine_macro'
, $pgmcr[
'id'
], NULL, array(
'id_pagina'
=> $newPgId ) );
56
}
57
58
59
// se viene richiesto di duplicare ricorsivamente la pagina...
60
if
( $recursive == 1 ) {
61
62
// verifico se ci sono pagine figlie
63
$childPgs =
mysqlQuery
( $cf[
'mysql'
][
'connection'
],
'SELECT * FROM pagine WHERE id_genitore = ?'
, array( array(
's'
=> $oldPgId ) ) );
64
65
if
( count( $childPgs ) > 0 ){
66
67
// per ogni pagina figlia trovata...
68
foreach
( $childPgs as $pg ) {
69
70
// richiamo la duplicazione della pagina stessa e delle figlie
71
duplicaPagina
( $pg[
'id'
], $newSiteId, $newPgId, 1 );
72
}
73
}
74
}
75
76
}
77
78
return
$newPgId;
79
80
}
81
82
?>
duplicaPagina
duplicaPagina( $oldPgId, $newSiteId, $newParentId=NULL, $recursive)
Definition:
_page.utils.php:4
mysqlQuery
mysqlQuery( $c, $q, $p=false, &$e=array())
Definition:
_mysql.tools.php:69
$cf
$cf['ricerca']['template']
Definition:
_030.common.php:7
$file
$file
Definition:
_osm.php:32
mysqlDuplicateRow
mysqlDuplicateRow( $c, $t, $o, $n=NULL, $x=array())
Definition:
_mysql.tools.php:539
Generato Sab 25 Lug 2020 23:06:28 per GlisWeb framework da
1.8.13