...
This commit is contained in:
parent
aa75b75277
commit
a37efa448e
10 changed files with 785 additions and 84 deletions
109
web/admin/imgs/carica.svg
Normal file
109
web/admin/imgs/carica.svg
Normal file
|
@ -0,0 +1,109 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 5.8208332 5.8208335"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14"
|
||||
sodipodi:docname="carica.svg">
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd"
|
||||
inkscape:isstock="true">
|
||||
<g
|
||||
id="g2301"
|
||||
style="stroke:#000000;stroke-opacity:1;fill:#ffffff;fill-opacity:1">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:1.15;stroke-linecap:square;stroke-opacity:1;fill-opacity:1"
|
||||
d="M 0,0 L -2,0"
|
||||
id="path2316" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-opacity:1;fill-opacity:1"
|
||||
d="M 0,0 L -13,4 L -9,0 -13,-4 L 0,0 z "
|
||||
id="path2312" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-opacity:1;fill-opacity:1"
|
||||
d="M 0,-4 L 0,40"
|
||||
id="path2314" />
|
||||
</g>
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="45.254834"
|
||||
inkscape:cx="4.2945831"
|
||||
inkscape:cy="10.274574"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:window-width="3840"
|
||||
inkscape:window-height="2037"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Livello 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-291.17916)">
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:#3088d4;fill-opacity:1;stroke:none;stroke-width:0.37526914;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect861"
|
||||
width="5.8208332"
|
||||
height="5.8208265"
|
||||
x="-1.110223e-16"
|
||||
y="291.17917"
|
||||
ry="0.78214943" />
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4521"
|
||||
width="1.5827367"
|
||||
height="4.2721367"
|
||||
x="2.0668476"
|
||||
y="292.41998"
|
||||
ry="0.4608396" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.23701932;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 2.9026735,291.48711 c -0.051063,0.002 -0.097206,0.0195 -0.1224421,0.0473 l -1.87802118,2.0275 c -0.0584756,0.0623 0.0135137,0.1407 0.12934038,0.14082 h 3.7577667 c 0.1157814,-1.3e-4 0.1877481,-0.0784 0.1293403,-0.14078 l -1.8780211,-2.0275 c -0.027985,-0.0307 -0.08135,-0.049 -0.137963,-0.0473 z"
|
||||
id="path4529"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccccc" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5 KiB |
BIN
web/admin/imgs/loading.gif
Normal file
BIN
web/admin/imgs/loading.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 8.6 KiB |
110
web/admin/imgs/salva.svg
Normal file
110
web/admin/imgs/salva.svg
Normal file
|
@ -0,0 +1,110 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 5.8208332 5.8208335"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14"
|
||||
sodipodi:docname="salva.svg">
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd"
|
||||
inkscape:isstock="true">
|
||||
<g
|
||||
id="g2301"
|
||||
style="stroke:#000000;stroke-opacity:1;fill:#ffffff;fill-opacity:1">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:1.15;stroke-linecap:square;stroke-opacity:1;fill-opacity:1"
|
||||
d="M 0,0 L -2,0"
|
||||
id="path2316" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-opacity:1;fill-opacity:1"
|
||||
d="M 0,0 L -13,4 L -9,0 -13,-4 L 0,0 z "
|
||||
id="path2312" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-opacity:1;fill-opacity:1"
|
||||
d="M 0,-4 L 0,40"
|
||||
id="path2314" />
|
||||
</g>
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="45.254834"
|
||||
inkscape:cx="4.2945831"
|
||||
inkscape:cy="10.274574"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:window-width="3840"
|
||||
inkscape:window-height="2037"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Livello 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-291.17916)">
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:#3088d4;fill-opacity:1;stroke:none;stroke-width:0.37526914;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect861"
|
||||
width="5.8208332"
|
||||
height="5.8208265"
|
||||
x="-1.110223e-16"
|
||||
y="291.17917"
|
||||
ry="0.78214943" />
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4521"
|
||||
width="1.5827367"
|
||||
height="4.2721367"
|
||||
x="2.0668476"
|
||||
y="-295.75919"
|
||||
ry="0.4608396"
|
||||
transform="scale(1,-1)" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.23701932;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 2.9026735,296.69205 c -0.051063,-0.002 -0.097206,-0.0195 -0.1224421,-0.0473 l -1.87802118,-2.0275 c -0.0584756,-0.0623 0.0135137,-0.1407 0.12934038,-0.14082 h 3.7577667 c 0.1157814,1.3e-4 0.1877481,0.0784 0.1293403,0.14078 l -1.8780211,2.0275 c -0.027985,0.0307 -0.08135,0.049 -0.137963,0.0473 z"
|
||||
id="path4529"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccccc" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5 KiB |
132
web/admin/imgs/salvacome.svg
Normal file
132
web/admin/imgs/salvacome.svg
Normal file
|
@ -0,0 +1,132 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="22"
|
||||
height="22"
|
||||
viewBox="0 0 5.8208332 5.8208335"
|
||||
version="1.1"
|
||||
id="svg8"
|
||||
inkscape:version="0.92.4 5da689c313, 2019-01-14"
|
||||
sodipodi:docname="salvacome.svg">
|
||||
<defs
|
||||
id="defs2">
|
||||
<marker
|
||||
style="overflow:visible"
|
||||
id="DistanceEnd"
|
||||
refX="0.0"
|
||||
refY="0.0"
|
||||
orient="auto"
|
||||
inkscape:stockid="DistanceEnd"
|
||||
inkscape:isstock="true">
|
||||
<g
|
||||
id="g2301"
|
||||
style="stroke:#000000;stroke-opacity:1;fill:#ffffff;fill-opacity:1">
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:1.15;stroke-linecap:square;stroke-opacity:1;fill-opacity:1"
|
||||
d="M 0,0 L -2,0"
|
||||
id="path2316" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#000000;stroke-opacity:1;fill-opacity:1"
|
||||
d="M 0,0 L -13,4 L -9,0 -13,-4 L 0,0 z "
|
||||
id="path2312" />
|
||||
<path
|
||||
style="fill:#ffffff;stroke:#000000;stroke-width:1;stroke-linecap:square;stroke-opacity:1;fill-opacity:1"
|
||||
d="M 0,-4 L 0,40"
|
||||
id="path2314" />
|
||||
</g>
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="128"
|
||||
inkscape:cx="15.505395"
|
||||
inkscape:cy="14.672595"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
units="px"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-page="true"
|
||||
inkscape:bbox-nodes="true"
|
||||
inkscape:window-width="3840"
|
||||
inkscape:window-height="2037"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Livello 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-291.17916)">
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:#3088d4;fill-opacity:1;stroke:none;stroke-width:0.37526914;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect861"
|
||||
width="5.8208332"
|
||||
height="5.8208265"
|
||||
x="-1.110223e-16"
|
||||
y="291.17917"
|
||||
ry="0.78214943" />
|
||||
<rect
|
||||
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
id="rect4521"
|
||||
width="1.5827367"
|
||||
height="4.2721367"
|
||||
x="2.0668476"
|
||||
y="-295.75919"
|
||||
ry="0.4608396"
|
||||
transform="scale(1,-1)" />
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.23701932;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 2.9026735,296.69205 c -0.051063,-0.002 -0.097206,-0.0195 -0.1224421,-0.0473 l -1.87802118,-2.0275 c -0.0584756,-0.0623 0.0135137,-0.1407 0.12934038,-0.14082 h 3.7577667 c 0.1157814,1.3e-4 0.1877481,0.0784 0.1293403,0.14078 l -1.8780211,2.0275 c -0.027985,0.0307 -0.08135,0.049 -0.137963,0.0473 z"
|
||||
id="path4529"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccccc" />
|
||||
<g
|
||||
id="g836"
|
||||
transform="matrix(0.45915813,0,0,0.45915611,5.6734009,158.05177)"
|
||||
style="fill:#ffffff">
|
||||
<rect
|
||||
ry="0.5610584"
|
||||
y="290.60983"
|
||||
x="-2.5985863"
|
||||
height="4.4471259"
|
||||
width="1.1221168"
|
||||
id="rect817"
|
||||
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
|
||||
<rect
|
||||
transform="rotate(90)"
|
||||
ry="0.5610584"
|
||||
y="-0.18603504"
|
||||
x="292.27234"
|
||||
height="4.4471259"
|
||||
width="1.1221168"
|
||||
id="rect817-9"
|
||||
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458335;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6 KiB |
|
@ -146,9 +146,9 @@ $cols=array(
|
|||
|
||||
'Languages.NameIT'=>array('field'=>'Languages%.NameIT','name'=>'Una lingua dichiarata','type'=>'joini','join'=>array('InstLangs AS InstLangs% ON InstLangs%.InstID=Instances.ID','Languages AS Languages% ON Languages%.ID=InstLangs%.LangID'),'subtype'=>'text','ord'=>true,'ordname'=>'Lingue dichiarate','ordjoin'=>array('InstLangs AS OrdInstLangs ON OrdInstLangs.InstID=Instances.ID','Languages AS OrdLanguages ON OrdLanguages.ID=OrdInstLangs.LangID'),'ordselmore'=>'GROUP_CONCAT(OrdLanguages.NameIT ORDER BY OrdInstLangs.Pos ASC SEPARATOR \'\') AS xOrdLangs','ordby'=>'xOrdLangs'),
|
||||
|
||||
'InstLangs.LangID.First'=>array('field'=>'InstLangs%.LangID','name'=>'Lingua primaria dichiarata ⮞','type'=>'join','join'=>array('InstLangs AS InstLangs% ON InstLangs%.InstID=Instances.ID AND InstLangs%.Pos=1'),'ord'=>false),
|
||||
'InstLangs.LangID.First'=>array('field'=>'InstLangs.LangID','name'=>'Lingua primaria dichiarata ⮞','type'=>'join','join'=>array('InstLangs AS InstLangs ON InstLangs.InstID=Instances.ID AND InstLangs.Pos=1'),'ord'=>false),
|
||||
|
||||
'Languages.NameIT.First'=>array('field'=>'Languages%.NameIT','name'=>'Lingua primaria dichiarata','type'=>'joini','join'=>array('InstLangs AS InstLangs% ON InstLangs%.InstID=Instances.ID AND InstLangs%.Pos=1','Languages AS Languages% ON Languages%.ID=InstLangs%.LangID'),'subtype'=>'text','ord'=>false),
|
||||
'Languages.NameIT.First'=>array('field'=>'Languages.NameIT','name'=>'Lingua primaria dichiarata','type'=>'joini','join'=>array('InstLangs AS InstLangs ON InstLangs.InstID=Instances.ID AND InstLangs.Pos=1','Languages AS Languages ON Languages.ID=InstLangs.LangID'),'subtype'=>'text','ord'=>false),
|
||||
|
||||
//--------------------------------
|
||||
|
||||
|
@ -158,9 +158,9 @@ $cols=array(
|
|||
|
||||
'OurLanguages.NameIT'=>array('field'=>'OurLanguages%.NameIT','name'=>'Una lingua impostata da noi','type'=>'joini','join'=>array('InstOurLangs AS InstOurLangs% ON InstOurLangs%.InstID=Instances.ID','Languages AS OurLanguages% ON OurLanguages%.ID=InstOurLangs%.OurLangID'),'subtype'=>'text','ord'=>true,'ordname'=>'Lingue impostate da noi','ordjoin'=>array('InstOurLangs AS OrdInstOurLangs ON OrdInstOurLangs.InstID=Instances.ID','Languages AS OrdOurLanguages ON OrdOurLanguages.ID=OrdInstOurLangs.OurLangID'),'ordselmore'=>'GROUP_CONCAT(OrdOurLanguages.NameIT ORDER BY OrdInstOurLangs.Pos ASC SEPARATOR \'\') AS xOrdOurLangs','ordby'=>'xOrdOurLangs'),
|
||||
|
||||
'InstOurLangs.OurLangID.First'=>array('field'=>'InstOurLangs%.OurLangID','name'=>'Lingua primaria impostata da noi ⮞','type'=>'join','join'=>array('InstOurLangs AS InstOurLangs% ON InstOurLangs%.InstID=Instances.ID AND InstOurLangs%.Pos=1'),'ord'=>false),
|
||||
'InstOurLangs.OurLangID.First'=>array('field'=>'InstOurLangs.OurLangID','name'=>'Lingua primaria impostata da noi ⮞','type'=>'join','join'=>array('InstOurLangs AS InstOurLangs ON InstOurLangs.InstID=Instances.ID AND InstOurLangs.Pos=1'),'ord'=>false),
|
||||
|
||||
'OurLanguages.NameIT.First'=>array('field'=>'OurLanguages%.NameIT','name'=>'Lingua primaria impostata da noi','type'=>'joini','join'=>array('InstOurLangs AS InstOurLangs% ON InstOurLangs%.InstID=Instances.ID AND InstOurLangs%.Pos=1','Languages AS OurLanguages% ON OurLanguages%.ID=InstOurLangs%.OurLangID'),'subtype'=>'text','ord'=>false),
|
||||
'OurLanguages.NameIT.First'=>array('field'=>'OurLanguages.NameIT','name'=>'Lingua primaria impostata da noi','type'=>'joini','join'=>array('InstOurLangs AS InstOurLangs ON InstOurLangs.InstID=Instances.ID AND InstOurLangs.Pos=1','Languages AS OurLanguages ON OurLanguages.ID=InstOurLangs.OurLangID'),'subtype'=>'text','ord'=>false),
|
||||
|
||||
//--------------------------------
|
||||
|
||||
|
@ -170,9 +170,9 @@ $cols=array(
|
|||
|
||||
'Financing.Type'=>array('field'=>'Financing%.Type','name'=>'Una modalità di finanziamento','type'=>'joini','join'=>array('InstFinancing AS InstFinancing% ON InstFinancing%.InstID=Instances.ID','Financing AS Financing% ON Financing%.ID=InstFinancing%.FinID'),'subtype'=>'text','ord'=>true,'ordname'=>'Modalità di finanziamento','ordjoin'=>array('InstFinancing AS OrdInstFinancing ON OrdInstFinancing.InstID=Instances.ID','Financing AS OrdFinancing ON OrdFinancing.ID=OrdInstFinancing.FinID'),'ordselmore'=>'GROUP_CONCAT(OrdFinancing.Type ORDER BY OrdInstFinancing.Pos ASC SEPARATOR \'\') AS xOrdFinancing','ordby'=>'xOrdFinancing'),
|
||||
|
||||
'InstFinancing.FinID.First'=>array('field'=>'InstFinancing%.FinID','name'=>'Modalità di finanziamento primaria ⮞','type'=>'join','join'=>array('InstFinancing AS InstFinancing% ON InstFinancing%.InstID=Instances.ID AND InstFinancing%.Pos=1'),'ord'=>false),
|
||||
'InstFinancing.FinID.First'=>array('field'=>'InstFinancing.FinID','name'=>'Modalità di finanziamento primaria ⮞','type'=>'join','join'=>array('InstFinancing AS InstFinancing ON InstFinancing.InstID=Instances.ID AND InstFinancing.Pos=1'),'ord'=>false),
|
||||
|
||||
'Financing.Type.First'=>array('field'=>'Financing%.Type','name'=>'Modalità di finanziamento primaria','type'=>'joini','join'=>array('InstFinancing AS InstFinancing% ON InstFinancing%.InstID=Instances.ID AND InstFinancing%.Pos=1','Financing AS Financing% ON Financing%.ID=InstFinancing%.FinID'),'subtype'=>'text','ord'=>false),
|
||||
'Financing.Type.First'=>array('field'=>'Financing.Type','name'=>'Modalità di finanziamento primaria','type'=>'joini','join'=>array('InstFinancing AS InstFinancing ON InstFinancing.InstID=Instances.ID AND InstFinancing.Pos=1','Financing AS Financing ON Financing.ID=InstFinancing.FinID'),'subtype'=>'text','ord'=>false),
|
||||
|
||||
//--------------------------------
|
||||
|
||||
|
@ -182,9 +182,9 @@ $cols=array(
|
|||
|
||||
'Policies.Name'=>array('field'=>'Policies%.Name','name'=>'Una restrizione sui contenuti','type'=>'joini','join'=>array('InstPolicies AS InstPolicies% ON InstPolicies%.InstID=Instances.ID','Policies AS Policies% ON Policies%.ID=InstPolicies%.PolID'),'subtype'=>'text','ord'=>true,'ordname'=>'Restrizioni sui contenuti','ordjoin'=>array('InstPolicies AS OrdInstPolicies ON OrdInstPolicies.InstID=Instances.ID','Policies AS OrdPolicies ON OrdPolicies.ID=OrdInstPolicies.PolID'),'ordselmore'=>'GROUP_CONCAT(OrdPolicies.Name ORDER BY OrdInstPolicies.Pos ASC SEPARATOR \'\') AS xOrdPolicies','ordby'=>'xOrdPolicies'),
|
||||
|
||||
'InstPolicies.PolID.First'=>array('field'=>'InstPolicies%.PolID','name'=>'Restrizione sui contenuti primaria ⮞','type'=>'join','join'=>array('InstPolicies AS InstPolicies% ON InstPolicies%.InstID=Instances.ID AND InstPolicies%.Pos=1'),'ord'=>false),
|
||||
'InstPolicies.PolID.First'=>array('field'=>'InstPolicies.PolID','name'=>'Restrizione sui contenuti primaria ⮞','type'=>'join','join'=>array('InstPolicies AS InstPolicies ON InstPolicies.InstID=Instances.ID AND InstPolicies.Pos=1'),'ord'=>false),
|
||||
|
||||
'Policies.Name.First'=>array('field'=>'Policies%.Name','name'=>'Restrizione sui contenuti primaria','type'=>'joini','join'=>array('InstPolicies AS InstPolicies% ON InstPolicies%.InstID=Instances.ID AND InstPolicies%.Pos=1','Policies AS Policies% ON Policies%.ID=InstPolicies%.PolID'),'subtype'=>'text','ord'=>false),
|
||||
'Policies.Name.First'=>array('field'=>'Policies.Name','name'=>'Restrizione sui contenuti primaria','type'=>'joini','join'=>array('InstPolicies AS InstPolicies ON InstPolicies.InstID=Instances.ID AND InstPolicies.Pos=1','Policies AS Policies ON Policies.ID=InstPolicies.PolID'),'subtype'=>'text','ord'=>false),
|
||||
|
||||
//--------------------------------
|
||||
|
||||
|
@ -194,9 +194,9 @@ $cols=array(
|
|||
|
||||
'Tags.Name'=>array('field'=>'Tags%.Name','name'=>'Una tag','type'=>'joini','join'=>array('InstTags AS InstTags% ON InstTags%.InstID=Instances.ID','Tags AS Tags% ON Tags%.ID=InstTags%.TagID'),'subtype'=>'text','ord'=>true,'ordname'=>'Tags','ordjoin'=>array('InstTags AS OrdInstTags ON OrdInstTags.InstID=Instances.ID','Tags AS OrdTags ON OrdTags.ID=OrdInstTags.TagID'),'ordselmore'=>'GROUP_CONCAT(OrdTags.Name ORDER BY OrdInstTags.Pos ASC SEPARATOR \'\') AS xOrdTags','ordby'=>'xOrdTags'),
|
||||
|
||||
'InstTags.TagID.First'=>array('field'=>'InstTags%.TagID','name'=>'Tag primaria ⮞','type'=>'join','join'=>array('InstTags AS InstTags% ON InstTags%.InstID=Instances.ID AND InstTags%.Pos=1'),'ord'=>false),
|
||||
'InstTags.TagID.First'=>array('field'=>'InstTags.TagID','name'=>'Tag primaria ⮞','type'=>'join','join'=>array('InstTags AS InstTags ON InstTags.InstID=Instances.ID AND InstTags.Pos=1'),'ord'=>false),
|
||||
|
||||
'Tags.Name.First'=>array('field'=>'Tags%.Name','name'=>'Tag primaria','type'=>'joini','join'=>array('InstTags AS InstTags% ON InstTags%.InstID=Instances.ID AND InstTags%.Pos=1','Tags AS Tags% ON Tags%.ID=InstTags%.TagID'),'subtype'=>'text','ord'=>false),
|
||||
'Tags.Name.First'=>array('field'=>'Tags.Name','name'=>'Tag primaria','type'=>'joini','join'=>array('InstTags AS InstTags ON InstTags.InstID=Instances.ID AND InstTags.Pos=1','Tags AS Tags ON Tags.ID=InstTags.TagID'),'subtype'=>'text','ord'=>false),
|
||||
|
||||
//--------------------------------
|
||||
|
||||
|
@ -566,11 +566,19 @@ if (mysqli_num_rows($res)<1) {
|
|||
$out.='<div class="bigtabfoot"></div>';
|
||||
}
|
||||
|
||||
$filtpresopts='<option value="null"></option>'.N;
|
||||
$res=mysqli_query($link,'SELECT * FROM FilterPresets')
|
||||
|
||||
$presid=0;
|
||||
if (array_key_exists('presets',$_POST) && preg_match('/^[0-9]+$/',$_POST['presets'])===1)
|
||||
$presid=$_POST['presets'];
|
||||
$presopts='<option value="null"></option>'.N;
|
||||
$res=mysqli_query($link,'SELECT * FROM Presets ORDER BY Name ASC')
|
||||
or muoribene(mysqli_error($link),true);
|
||||
while ($row=mysqli_fetch_assoc($res))
|
||||
$filtpresopts.='<option value="'.$row['ID'].'">'.hspech($row['Name']).'</option>'.N;
|
||||
while ($row=mysqli_fetch_assoc($res)) {
|
||||
if ($row['ID']!=$presid)
|
||||
$presopts.='<option value="'.$row['ID'].'">'.hspech($row['Name']).'</option>'.N;
|
||||
else
|
||||
$presopts.='<option value="'.$row['ID'].'" selected>'.hspech($row['Name']).'</option>'.N;
|
||||
}
|
||||
|
||||
mysqli_close($link);
|
||||
|
||||
|
@ -735,7 +743,8 @@ function popusels(index,valselval) {
|
|||
pupwait(false);
|
||||
};
|
||||
xhr.onerror=function() {
|
||||
alert('Request failed');
|
||||
pupwait(false);
|
||||
alert('La richiesta è fallita.');
|
||||
};
|
||||
} else {
|
||||
alert('Attenziò: non so che farmene del tipo "'+type+'": diglielo, al programmatore.');
|
||||
|
@ -1003,51 +1012,130 @@ function pupwait(on) {
|
|||
}
|
||||
|
||||
//function setrow(index,openparv,fieldselv,condselv,valueselv,valueinpv,closeparv,andorv)
|
||||
function loadfiltpres() {
|
||||
pupwait(true);
|
||||
truncfil();
|
||||
let formdata=new FormData();
|
||||
formdata.append('act','loadfil');
|
||||
formdata.append('fid',document.getElementById('filtpres').value);
|
||||
let xhr=new XMLHttpRequest();
|
||||
xhr.open('POST','loadsavepres.php');
|
||||
xhr.responseType='json';
|
||||
xhr.send(formdata);
|
||||
xhr.onload=function() {
|
||||
let jarr=xhr.response;
|
||||
for (i=0; i<jarr.length; i++) {
|
||||
console.log(jarr[i]);
|
||||
addrow(i+1,false);
|
||||
}
|
||||
synctai();
|
||||
for (i=0; i<jarr.length; i++) {
|
||||
setrow(i+1, jarr[i]['OpenPar'], jarr[i]['Field'], jarr[i]['Cond'], jarr[i]['ValueSel'], jarr[i]['ValueInp'], jarr[i]['ClosePar'], jarr[i]['AndOr']);
|
||||
}
|
||||
if (jarr.length>0)
|
||||
document.getElementById('filbut').value='Rimuovi tutti i criteri di ricerca';
|
||||
pupwait(false);
|
||||
};
|
||||
xhr.onerror=function() {
|
||||
alert('Request failed');
|
||||
};
|
||||
function loadpres() {
|
||||
let pres=document.getElementById('presets');
|
||||
if (pres.value!='null') {
|
||||
pupwait(true);
|
||||
let formdata=new FormData();
|
||||
formdata.append('act','load');
|
||||
formdata.append('pid',pres.value);
|
||||
let xhr=new XMLHttpRequest();
|
||||
xhr.open('POST','loadsavepres.php');
|
||||
xhr.responseType='json';
|
||||
xhr.send(formdata);
|
||||
xhr.onload=function() {
|
||||
let jarr=xhr.response;
|
||||
truncfil();
|
||||
for (i=0; i<jarr['f'].length; i++) {
|
||||
console.log(jarr['f'][i]);
|
||||
addrow(i+1,false);
|
||||
}
|
||||
synctai();
|
||||
for (i=0; i<jarr['f'].length; i++) {
|
||||
setrow(i+1, jarr['f'][i]['OpenPar'], jarr['f'][i]['Field'], jarr['f'][i]['Cond'], jarr['f'][i]['ValueSel'], jarr['f'][i]['ValueInp'], jarr['f'][i]['ClosePar'], jarr['f'][i]['AndOr']);
|
||||
}
|
||||
if (jarr['f'].length>0)
|
||||
document.getElementById('filbut').value='Rimuovi tutti i criteri di ricerca';
|
||||
truncord();
|
||||
for (i=0; i<jarr['o'].length; i++) {
|
||||
console.log(jarr['o'][i]);
|
||||
ordaddrow(i+1,false);
|
||||
}
|
||||
synctoi();
|
||||
for (i=0; i<jarr['o'].length; i++) {
|
||||
ordsetrow(i+1, jarr['o'][i]['Field'], jarr['o'][i]['Sort']);
|
||||
}
|
||||
if (jarr['o'].length>0)
|
||||
document.getElementById('ordbut').value='Rimuovi tutti i criteri di ordinamento';
|
||||
pupwait(false);
|
||||
};
|
||||
xhr.onerror=function() {
|
||||
pupwait(false);
|
||||
alert('La richiesta è fallita.');
|
||||
};
|
||||
} else {
|
||||
alerta('<p>Non hai selezionato alcun preset ;)</p>');
|
||||
}
|
||||
}
|
||||
function savefiltpres() {
|
||||
function savepres(txt,asnew) {
|
||||
pupwait(true);
|
||||
let pres=document.getElementById('presets');
|
||||
let formdata=new FormData(document.forms.f);
|
||||
formdata.append('act','savefil');
|
||||
formdata.append('fid',document.getElementById('filtpres').value);
|
||||
formdata.append('act','save');
|
||||
formdata.append('txt',txt);
|
||||
if (!asnew)
|
||||
formdata.append('pid',pres.value);
|
||||
let xhr=new XMLHttpRequest();
|
||||
xhr.open('POST','loadsavepres.php');
|
||||
xhr.responseType='json';
|
||||
xhr.send(formdata);
|
||||
xhr.onload=function() {
|
||||
console.log(xhr.response);
|
||||
if (!asnew) {
|
||||
pres.options[pres.selectedIndex].text=txt;
|
||||
} else {
|
||||
let jarr=xhr.response;
|
||||
pres.add(new Option(txt,jarr['pid']));
|
||||
pres.selectedIndex=pres.options.length-1;
|
||||
}
|
||||
pupwait(false);
|
||||
};
|
||||
xhr.onerror=function() {
|
||||
alert('Request failed');
|
||||
pupwait(false);
|
||||
alert('La richiesta è fallita.');
|
||||
};
|
||||
}
|
||||
function pupsavepres(asnew) {
|
||||
var pres=document.getElementById('presets');
|
||||
if (pres.value!='null' || asnew) {
|
||||
var pup=document.getElementById('popup'), inpup=document.getElementById('inpopup');
|
||||
var prestext=pres.options[pres.selectedIndex].text;
|
||||
var pre='<p>Se vuoi puoi modificare il nome del preset che stai per sovrascrivere</p>';
|
||||
if (asnew) pre='<p>Dai un nuovo nome al nuovo preset che stai per salvare</p>';
|
||||
inpup.innerHTML='<div class="loadsavepresbub">'+pre+'<input type="text" maxlength="256" value="'+prestext.replace(/"/g,'"')+'" id="presname"><input type="button" value="Salva" onClick="ckpresname('+asnew+');"><input type="button" value="Annulla" onClick="pupoff();"><div id="ckmsg"></div></div>';
|
||||
pup.style.display='table';
|
||||
} else {
|
||||
alerta('<p>Non hai selezionato alcun preset ;)</p>');
|
||||
}
|
||||
}
|
||||
function ckpresname(asnew) {
|
||||
var pres=document.getElementById('presets');
|
||||
var presname=document.getElementById('presname').value;
|
||||
var ckmsg=document.getElementById('ckmsg');
|
||||
var ok=true;
|
||||
var i;
|
||||
if (presname.trim=='') {
|
||||
presname='';
|
||||
ok=false;
|
||||
ckmsg.innerHTML='Non puoi salvare un preset senza nome';
|
||||
}
|
||||
if (!asnew) {
|
||||
for (i=0; i<pres.options.length; i++) {
|
||||
if (i!=pres.selectedIndex && presname==pres.options[i].text) {
|
||||
ok=false;
|
||||
ckmsg.innerHTML='<p>Esiste già un altro preset con questo nome</p>';
|
||||
break;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (i=0; i<pres.options.length; i++) {
|
||||
if (presname==pres.options[i].text) {
|
||||
ok=false;
|
||||
ckmsg.innerHTML='<p>Esiste già un preset con questo nome</p>';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
pupoff();
|
||||
savepres(presname,asnew);
|
||||
}
|
||||
}
|
||||
function pupoff() {
|
||||
var pup=document.getElementById('popup'), inpup=document.getElementById('inpopup');
|
||||
inpup.innerHTML='<div id="popupcont">...</div>';
|
||||
pup.style.display='none';
|
||||
}
|
||||
|
||||
//-->
|
||||
</script>
|
||||
|
@ -1073,11 +1161,13 @@ function savefiltpres() {
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
<div id="footer">
|
||||
<form action="edinst.php" name="addinst" method="post">
|
||||
<table><tr><td>Aggiungi un’istanza:</td><td><input type="text" name="URI" maxlength="512"></td><td><input type="button" value="Vai" onClick="ckaif();"></td></tr></table>
|
||||
</form>
|
||||
</div>
|
||||
-->
|
||||
|
||||
<div id="debug">
|
||||
<?php echo($dbg); ?>
|
||||
|
@ -1088,10 +1178,10 @@ function savefiltpres() {
|
|||
<table id="planciafil" class="planciatab">
|
||||
<tr><td colspan="8"><input type="button" id="filbut" value="Aggiungi criteri di ricerca" class="ctrlbut" onclick="manfil();"></td></tr>
|
||||
</table>
|
||||
<table class="planciatab"><tr><td style="width:1%">Preset di ricerca: </td><td style="width:96%"><select name="filtpres" id="filtpres" class="preset" onchange="loadfiltpres();"><?php echo($filtpresopts); ?></select></td><td style="width:1%"><img src="imgs/salva.svg" class="lilbut" onclick="savefiltpres(false);" title="Salva i criteri impostati nel preset selezionato sovrascrivendolo"></td><td style="width:1%"><img src="imgs/salvacome.svg" class="lilbut" onclick="savefiltpres(true);" title="Salva i criteri impostati come nuovo preset ..."></td><td style="width:1%"><img src="imgs/minus.svg" class="lilbut" onclick="remfiltpres();" title="Elimina il preset selezionato"></td></tr></table>
|
||||
<table id="planciaord" class="planciatab">
|
||||
<tr><td colspan="4"><input type="button" id="ordbut" value="Aggiungi criteri di ordinamento" class="ctrlbut" onclick="manord();"></td></tr>
|
||||
</table>
|
||||
<table class="planciatab"><tr><td style="width:1%">Preset: </td><td style="width:95%"><select name="presets" id="presets" class="presets"><?php echo($presopts); ?></select></td><td style="width:1%"><img src="imgs/carica.svg" class="lilbut" onclick="loadpres();" title="Carica i criteri dal preset selezionato"></td><td style="width:1%"><img src="imgs/salva.svg" class="lilbut" onclick="pupsavepres(false);" title="Salva i criteri impostati nel preset selezionato sovrascrivendolo"></td><td style="width:1%"><img src="imgs/salvacome.svg" class="lilbut" onclick="pupsavepres(true);" title="Salva i criteri impostati come nuovo preset ..."></td><td style="width:1%"><img src="imgs/minus.svg" class="lilbut" onclick="rempres();" title="Elimina il preset selezionato"></td></tr></table>
|
||||
<table id="planciaothers" class="planciatab">
|
||||
<tr><td><input type="button" id="subbut" value="Applica" class="ctrlbut" onclick="ckf();"></td></tr>
|
||||
</table>
|
||||
|
|
117
web/admin/loadsavepres.php
Normal file
117
web/admin/loadsavepres.php
Normal file
|
@ -0,0 +1,117 @@
|
|||
<?php
|
||||
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
|
||||
require('include/glob.php');
|
||||
require('include/muoribene.php');
|
||||
require('include/sessionstart.php');
|
||||
require('include/myconn.php');
|
||||
|
||||
use function mysqli_real_escape_string as myesc;
|
||||
|
||||
if (array_key_exists('act',$_POST)) {
|
||||
if ($_POST['act']=='load' && array_key_exists('pid',$_POST) && preg_match('/^[0-9]+$/',$_POST['pid'])===1) {
|
||||
$res=mysqli_query($link,'SELECT * FROM PresFiltConds WHERE PresID='.$_POST['pid'].' ORDER BY Pos ASC')
|
||||
or muoribene(mysqli_error($link),true);
|
||||
$buf=array('f'=>array(),'o'=>array());
|
||||
while ($row=mysqli_fetch_assoc($res))
|
||||
$buf['f'][]=$row;
|
||||
$res=mysqli_query($link,'SELECT * FROM PresOrdConds WHERE PresID='.$_POST['pid'].' ORDER BY Pos ASC')
|
||||
or muoribene(mysqli_error($link),true);
|
||||
while ($row=mysqli_fetch_assoc($res))
|
||||
$buf['o'][]=$row;
|
||||
echo(json_encode($buf));
|
||||
} elseif ($_POST['act']=='save' && array_key_exists('txt',$_POST)) {
|
||||
$fi=-1;
|
||||
$oi=-1;
|
||||
$fqueries=array(array());
|
||||
$oqueries=array(array());
|
||||
foreach ($_POST as $key=>$val) {
|
||||
if (preg_match('/^openpar-\d+$/',$key)===1) {
|
||||
$fi++;
|
||||
if ($val=='null')
|
||||
$val='NULL';
|
||||
else
|
||||
$val="'".myesc($link,$val)."'";
|
||||
$fqueries[$fi]['OpenPar']=$val;
|
||||
}
|
||||
if (preg_match('/^fieldsel-\d+$/',$key)===1) {
|
||||
$fqueries[$fi]['Field']="'".myesc($link,$val)."'";
|
||||
}
|
||||
if (preg_match('/^condsel-\d+$/',$key)===1) {
|
||||
$fqueries[$fi]['Cond']="'".myesc($link,$val)."'";
|
||||
}
|
||||
if (preg_match('/^valuesel-\d+$/',$key)===1) {
|
||||
$fqueries[$fi]['ValueSel']="'".myesc($link,$val)."'";
|
||||
}
|
||||
if (preg_match('/^valueinp-\d+$/',$key)===1) {
|
||||
$fqueries[$fi]['ValueInp']="'".myesc($link,$val)."'";
|
||||
}
|
||||
if (preg_match('/^closepar-\d+$/',$key)===1) {
|
||||
if ($val=='null')
|
||||
$val='NULL';
|
||||
else
|
||||
$val="'".myesc($link,$val)."'";
|
||||
$fqueries[$fi]['ClosePar']=$val;
|
||||
}
|
||||
if (preg_match('/^andor-\d+$/',$key)===1) {
|
||||
$fqueries[$fi]['AndOr']="'".myesc($link,$val)."'";
|
||||
}
|
||||
if (preg_match('/^ordfieldsel-\d+$/',$key)===1) {
|
||||
$oi++;
|
||||
$oqueries[$oi]['Field']="'".myesc($link,$val)."'";
|
||||
}
|
||||
if (preg_match('/^ascdesc-\d+$/',$key)===1) {
|
||||
$oqueries[$oi]['Sort']="'".myesc($link,$val)."'";
|
||||
}
|
||||
}
|
||||
// print_r($fqueries).N;
|
||||
// print_r($oqueries).N;
|
||||
if (array_key_exists('pid',$_POST) && preg_match('/^[0-9]+$/',$_POST['pid'])===1) {
|
||||
$pid=$_POST['pid'];
|
||||
mysqli_query($link,'DELETE FROM PresFiltConds WHERE PresID='.$pid)
|
||||
or muoribene(mysqli_error($link),true);
|
||||
mysqli_query($link,'DELETE FROM PresOrdConds WHERE PresID='.$pid)
|
||||
or muoribene(mysqli_error($link),true);
|
||||
mysqli_query($link,'UPDATE Presets SET Name=\''.myesc($link,$_POST['txt']).'\' WHERE ID='.$pid)
|
||||
or muoribene(mysqli_error($link),true);
|
||||
} else {
|
||||
mysqli_query($link,'INSERT INTO Presets SET Name=\''.myesc($link,$_POST['txt']).'\'')
|
||||
or muoribene(mysqli_error($link),true);
|
||||
$pid=mysqli_insert_id($link);
|
||||
echo('{ "pid": '.$pid.' }'.N);
|
||||
}
|
||||
$fi=0;
|
||||
foreach ($fqueries as $row) {
|
||||
$fi++;
|
||||
$query='INSERT INTO PresFiltConds SET PresID='.$pid.', OpenPar='.$row['OpenPar'].', Field='.$row['Field'].', Cond='.$row['Cond'].', ';
|
||||
if (array_key_exists('ValueSel',$row))
|
||||
$query.='ValueSel='.$row['ValueSel'].', ';
|
||||
if (array_key_exists('ValueInp',$row))
|
||||
$query.='ValueInp='.$row['ValueInp'].', ';
|
||||
$query.='ClosePar='.$row['ClosePar'];
|
||||
if (array_key_exists('AndOr',$row))
|
||||
$query.=', AndOr='.$row['AndOr'];
|
||||
$query.=', Pos='.$fi;
|
||||
// echo($query.N);
|
||||
mysqli_query($link,$query)
|
||||
or muoribene(mysqli_error($link),true);
|
||||
}
|
||||
$oi=0;
|
||||
foreach ($oqueries as $row) {
|
||||
$oi++;
|
||||
$query='INSERT INTO PresOrdConds SET PresID='.$pid.', Field='.$row['Field'].', Sort='.$row['Sort'].', Pos='.$oi;
|
||||
// echo($query.N);
|
||||
mysqli_query($link,$query)
|
||||
or muoribene(mysqli_error($link),true);
|
||||
}
|
||||
} elseif ($_POST['act']=='remove' && array_key_exists('pid',$_POST) && preg_match('/^[0-9]+$/',$_POST['pid'])===1) {
|
||||
echo(json_encode($_POST));
|
||||
}
|
||||
}
|
||||
|
||||
mysqli_close($link);
|
||||
|
||||
exit(0);
|
||||
|
||||
?>
|
|
@ -254,6 +254,25 @@ input {
|
|||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
#inpopup .loadsavepresbub {
|
||||
background-color: black;
|
||||
color: #78b1e2;
|
||||
padding: 16px;
|
||||
border-radius: 20px;
|
||||
width: 320px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
#inpopup .loadsavepresbub input {
|
||||
font-size: 8pt;
|
||||
height: 24px;
|
||||
}
|
||||
#inpopup .loadsavepresbub #ckmsg p {
|
||||
color: red;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
margin-top: 16px;
|
||||
}
|
||||
#popupcont {
|
||||
position: relative;
|
||||
margin-left: auto;
|
||||
|
@ -420,11 +439,11 @@ input {
|
|||
width: 120px;
|
||||
}
|
||||
/* questi li definisco e li applico solo per avere qualcosa su cui fare "querySelectorAll" */
|
||||
#plancia .openpar, #plancia .fieldsel, #plancia .condsel, #plancia .valuesel, #plancia .valueinp, #plancia .andor, #plancia .closepar, #plancia .ordfieldsel, #plancia .ascdesc, #plancia .preset { min-width: 100%; }
|
||||
#plancia .openpar, #plancia .fieldsel, #plancia .condsel, #plancia .valuesel, #plancia .valueinp, #plancia .andor, #plancia .closepar, #plancia .ordfieldsel, #plancia .ascdesc, #plancia .presets { min-width: 100%; }
|
||||
#plancia .valuesel:disabled, #plancia .valueinp:disabled {
|
||||
opacity: 0.5;
|
||||
}
|
||||
#plancia .preset {
|
||||
#plancia .presets {
|
||||
max-width: 400px;
|
||||
}
|
||||
#plancia .minus, #plancia .plus, #plancia .lilbut {
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
-- https://www.phpmyadmin.net/
|
||||
--
|
||||
-- Host: localhost
|
||||
-- Creato il: Gen 11, 2020 alle 19:59
|
||||
-- Creato il: Gen 27, 2020 alle 17:23
|
||||
-- Versione del server: 10.4.11-MariaDB
|
||||
-- Versione PHP: 7.4.1
|
||||
-- Versione PHP: 7.4.2
|
||||
|
||||
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
|
||||
SET AUTOCOMMIT = 0;
|
||||
|
@ -75,7 +75,8 @@ CREATE TABLE `InstActivity` (
|
|||
`Week` int(10) UNSIGNED NOT NULL,
|
||||
`Statuses` int(10) UNSIGNED NOT NULL,
|
||||
`Logins` int(10) UNSIGNED NOT NULL,
|
||||
`Registrations` int(10) UNSIGNED NOT NULL
|
||||
`Registrations` int(10) UNSIGNED NOT NULL,
|
||||
`Pos` tinyint(3) UNSIGNED NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
@ -96,7 +97,7 @@ CREATE TABLE `Instances` (
|
|||
`ShortDesc` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`LongDesc` text COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`OurDesc` varchar(8192) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`PlaceID` int(10) UNSIGNED DEFAULT NULL,
|
||||
`LocalityID` int(10) UNSIGNED DEFAULT NULL,
|
||||
`Email` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`Software` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`Version` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
|
@ -222,6 +223,18 @@ CREATE TABLE `Languages` (
|
|||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Struttura della tabella `Localities`
|
||||
--
|
||||
|
||||
CREATE TABLE `Localities` (
|
||||
`ID` int(10) UNSIGNED NOT NULL,
|
||||
`Locality` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`ProvinceID` int(10) UNSIGNED NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Struttura della tabella `Notifications`
|
||||
--
|
||||
|
@ -236,20 +249,6 @@ CREATE TABLE `Notifications` (
|
|||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Struttura della tabella `Places`
|
||||
--
|
||||
|
||||
CREATE TABLE `Places` (
|
||||
`ID` int(10) UNSIGNED NOT NULL,
|
||||
`State` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`Region` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`Province` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`Locality` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Struttura della tabella `Platforms`
|
||||
--
|
||||
|
@ -272,6 +271,72 @@ CREATE TABLE `Policies` (
|
|||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Struttura della tabella `Presets`
|
||||
--
|
||||
|
||||
CREATE TABLE `Presets` (
|
||||
`ID` int(10) UNSIGNED NOT NULL,
|
||||
`Name` varchar(256) COLLATE utf8mb4_unicode_ci NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Struttura della tabella `PresFiltConds`
|
||||
--
|
||||
|
||||
CREATE TABLE `PresFiltConds` (
|
||||
`PresID` int(10) UNSIGNED NOT NULL,
|
||||
`OpenPar` varchar(3) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`Field` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`Cond` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`ValueSel` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`ValueInp` varchar(256) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`ClosePar` varchar(3) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`AndOr` varchar(3) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`Pos` tinyint(3) UNSIGNED NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Struttura della tabella `PresOrdConds`
|
||||
--
|
||||
|
||||
CREATE TABLE `PresOrdConds` (
|
||||
`PresID` int(10) UNSIGNED NOT NULL,
|
||||
`Field` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`Sort` varchar(4) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`Pos` tinyint(3) UNSIGNED NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Struttura della tabella `Provinces`
|
||||
--
|
||||
|
||||
CREATE TABLE `Provinces` (
|
||||
`ID` int(10) UNSIGNED NOT NULL,
|
||||
`Province` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`RegionID` int(10) UNSIGNED NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Struttura della tabella `Regions`
|
||||
--
|
||||
|
||||
CREATE TABLE `Regions` (
|
||||
`ID` int(10) UNSIGNED NOT NULL,
|
||||
`Region` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`StateID` int(10) UNSIGNED NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Struttura della tabella `StartNodes`
|
||||
--
|
||||
|
@ -283,6 +348,17 @@ CREATE TABLE `StartNodes` (
|
|||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Struttura della tabella `States`
|
||||
--
|
||||
|
||||
CREATE TABLE `States` (
|
||||
`ID` int(10) UNSIGNED NOT NULL,
|
||||
`State` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Struttura della tabella `Tags`
|
||||
--
|
||||
|
@ -338,15 +414,15 @@ ALTER TABLE `Languages`
|
|||
ADD PRIMARY KEY (`ID`);
|
||||
|
||||
--
|
||||
-- Indici per le tabelle `Notifications`
|
||||
-- Indici per le tabelle `Localities`
|
||||
--
|
||||
ALTER TABLE `Notifications`
|
||||
ALTER TABLE `Localities`
|
||||
ADD PRIMARY KEY (`ID`);
|
||||
|
||||
--
|
||||
-- Indici per le tabelle `Places`
|
||||
-- Indici per le tabelle `Notifications`
|
||||
--
|
||||
ALTER TABLE `Places`
|
||||
ALTER TABLE `Notifications`
|
||||
ADD PRIMARY KEY (`ID`);
|
||||
|
||||
--
|
||||
|
@ -361,12 +437,36 @@ ALTER TABLE `Platforms`
|
|||
ALTER TABLE `Policies`
|
||||
ADD PRIMARY KEY (`ID`);
|
||||
|
||||
--
|
||||
-- Indici per le tabelle `Presets`
|
||||
--
|
||||
ALTER TABLE `Presets`
|
||||
ADD PRIMARY KEY (`ID`);
|
||||
|
||||
--
|
||||
-- Indici per le tabelle `Provinces`
|
||||
--
|
||||
ALTER TABLE `Provinces`
|
||||
ADD PRIMARY KEY (`ID`);
|
||||
|
||||
--
|
||||
-- Indici per le tabelle `Regions`
|
||||
--
|
||||
ALTER TABLE `Regions`
|
||||
ADD PRIMARY KEY (`ID`);
|
||||
|
||||
--
|
||||
-- Indici per le tabelle `StartNodes`
|
||||
--
|
||||
ALTER TABLE `StartNodes`
|
||||
ADD PRIMARY KEY (`ID`);
|
||||
|
||||
--
|
||||
-- Indici per le tabelle `States`
|
||||
--
|
||||
ALTER TABLE `States`
|
||||
ADD PRIMARY KEY (`ID`);
|
||||
|
||||
--
|
||||
-- Indici per le tabelle `Tags`
|
||||
--
|
||||
|
@ -413,18 +513,18 @@ ALTER TABLE `Instances`
|
|||
ALTER TABLE `Languages`
|
||||
MODIFY `ID` int(11) UNSIGNED NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT per la tabella `Localities`
|
||||
--
|
||||
ALTER TABLE `Localities`
|
||||
MODIFY `ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT per la tabella `Notifications`
|
||||
--
|
||||
ALTER TABLE `Notifications`
|
||||
MODIFY `ID` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT per la tabella `Places`
|
||||
--
|
||||
ALTER TABLE `Places`
|
||||
MODIFY `ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT per la tabella `Platforms`
|
||||
--
|
||||
|
@ -437,12 +537,36 @@ ALTER TABLE `Platforms`
|
|||
ALTER TABLE `Policies`
|
||||
MODIFY `ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT per la tabella `Presets`
|
||||
--
|
||||
ALTER TABLE `Presets`
|
||||
MODIFY `ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT per la tabella `Provinces`
|
||||
--
|
||||
ALTER TABLE `Provinces`
|
||||
MODIFY `ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT per la tabella `Regions`
|
||||
--
|
||||
ALTER TABLE `Regions`
|
||||
MODIFY `ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT per la tabella `StartNodes`
|
||||
--
|
||||
ALTER TABLE `StartNodes`
|
||||
MODIFY `ID` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT per la tabella `States`
|
||||
--
|
||||
ALTER TABLE `States`
|
||||
MODIFY `ID` int(10) UNSIGNED NOT NULL AUTO_INCREMENT;
|
||||
|
||||
--
|
||||
-- AUTO_INCREMENT per la tabella `Tags`
|
||||
--
|
||||
|
|
|
@ -92,20 +92,20 @@
|
|||
|
||||
<section>
|
||||
<h3><a name="Introduction" id="Introduction" class="anchor"></a>Introduzione</h3>
|
||||
<p>Mastodon è una innovativa piattaforma di microblogging open source le cui funzionalità possono ricordare Twitter o Tumblr. Lo sviluppo inizia nel 2016 da parte dello sviluppatore Eugen Rochko e da allora Mastodon ha continuato a crescere grazie a sempre più comunità che lo adottano in cerca di un ambiente social indipendente, slegato da grandi compagnie e libero da censura.</p>
|
||||
<p>Mastodon è una innovativa piattaforma di microblogging open source le cui funzionalità possono ricordare Twitter o Tumblr. Eugen Rochko ne inizia lo sviluppo nel 2016 e da allora Mastodon continua ad attrarre nuovi utenti e comunità in cerca di un ambiente social indipendente, slegato da grandi compagnie e libero da censura.</p>
|
||||
<p>Ma Mastodon non è un clone di Twitter: per concetto, struttura e funzionalità è qualcosa di totalmente diverso e molto più interessante!</p>
|
||||
<p>Questo sito è un’introduzione a funzionalità e concetti base che permettono di comprendere e apprezzare appieno il funzionamento di Mastodon. È concepito come una serie di capitoli indipendenti selezionabili da menù (clicca su “Guida” per visualizzare l’indice dei capitoli), ma può essere tranquillamente letto come un testo unico. Contiene inoltre un <a href="instances/it">elenco di Istanze Mastodon</a> suggerite tra cui scegliere quella che meglio si addice alle tue esigenze.</p>
|
||||
<p>Questo sito è un'introduzione a funzionalità e concetti base che permettono di comprendere ed apprezzare appieno il funzionamento di Mastodon. È concepito come una serie di capitoli indipendenti selezionabili da menù (clicca su "Guida" per visualizzare l'indice dei capitoli), ma può esser tranquillamente letto come un testo unico. Contiene inoltre un <a href="instances/it">elenco di Istanze Mastodon</a> suggerite tra cui scegliere quella che meglio si addice alle tue esigenze.</p>
|
||||
</section>
|
||||
|
||||
<section class="lev1sect">
|
||||
<h2><a name="WhatIsMastodon" id="WhatIsMastodon" class="anchor"></a>Cos’è mastodon?</h2>
|
||||
<h2><a name="WhatIsMastodon" id="WhatIsMastodon" class="anchor"></a>Cos’è Mastodon?</h2>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<h3><a name="MastodonIsNotASocial" id="MastodonIsNotASocial" class="anchor"></a>Mastodon non è <em>un</em> social network</h3>
|
||||
<p>Non c’è <em>un</em> social network chiamato Mastodon! Ci sono, invece, migliaia di social network indipendenti chiamati Istanze Mastodon.</p>
|
||||
<p>Ogni Istanza ha il proprio server indipendente, la sua homepage, comunità, regole e persone responsabili dell’amministrazione e moderazione.</p>
|
||||
<p>Da ogni Istanza puoi interagire con persone che si trovano sulle altre Istanze. Funziona un po’ come l’e-mail (si può spedire un’e-mail da Gmail a un indirizzo Yahoo, giusto?). Questo perché tutte le Istanze possono connettersi tra loro.</p>
|
||||
<p>Da ogni Istanza puoi interagire con persone che si trovano sulle altre Istanze. Funziona un po’ come l’e-mail (si può spedire un’e-mail da Gmail a un indirizzo Yahoo, giusto? Stessa cosa!). Questo perché tutte le Istanze possono connettersi tra loro.</p>
|
||||
<p>Chi amministra un’Istanza può silenziare o bloccare utenti della sua Istanza ma anche quelli di Istanze diverse e questi blocchi avranno però effetto solo sull’Istanza che amministra. Può anche decidere di bloccare completamente un’altra Istanza (per esempio perché permette la pubblicazione di contenuti offensivi o perché non è moderata adeguatamente).</p>
|
||||
</section>
|
||||
|
||||
|
@ -118,9 +118,9 @@
|
|||
|
||||
<section>
|
||||
<h3><a name="WhoOwnsMastodon" id="WhoOwnsMastodon" class="anchor"></a>Di chi è Mastodon?</h3>
|
||||
<p>Del mondo intero! Poiché Mastodon è una piattaforma libera, gratuita e open source, chiunque può usarla, modificarla e, volendo, installarla su un proprio server per creare un’Istanza. Chi ne porta avanti lo sviluppo non ha alcun copyright sul software che realizza e mette a disposizione gratuitamente. Questo è un classico esempio della filosofia alla base del software libero: realizzare e condividere senza alcuna restrizione strumenti software aperti affinché chiunque possa utilizzarli come preferisce e collaborare al loro miglioramento.</p>
|
||||
<p><img src="<?php echo($prepath); ?>imgs/WhoOwnsMastodon.jpg" class="image" alt="Una ragazza con le braccia aperte davanti a un cielo azzurro. Foto di Jess Hall." title="Foto di Jess Hall."></p>
|
||||
<p>I tuoi dati personali e i contenuti che pubblichi si trovano materialmente sul server dell’Istanza su cui ti registri. Questo significa che oltre a te solo chi amministra la tua Istanza ha la possibilità di accedervi, esattamente come su qualsiasi piattaforma commerciale e non.</p>
|
||||
<p>Di tutti! Poiché Mastodon è una piattaforma libera, gratuita e open source, chiunque può usarla, modificarla e, volendo, installarla su un proprio server per creare un’Istanza. Chi ne porta avanti lo sviluppo non ha alcun copyright sul software che realizza e mette a disposizione gratuitamente. Questo è un classico esempio della filosofia alla base del software libero: realizzare e condividere senza alcuna restrizione strumenti software aperti affinché chiunque possa utilizzarli come preferisce e collaborare al loro miglioramento.</p>
|
||||
<p><img src="<?php echo($prepath); ?>imgs/WhoOwnsMastodon.png" class="image" alt="Quattro mani che si stringono a vicenda."></p>
|
||||
<p>I tuoi dati personali e i contenuti che pubblichi si trovano materialmente sul server dell’Istanza su cui ti registri. Questo significa che oltre a te, solo gli amministratori dell’Istanza su cui sei registrato hanno la possibilità di accedervi, esattamente come su qualsiasi piattaforma commerciale e non.</p>
|
||||
</section>
|
||||
|
||||
<section class="lev1sect">
|
||||
|
|
BIN
web/imgs/WhoOwnsMastodon.png
Normal file
BIN
web/imgs/WhoOwnsMastodon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 839 KiB |
Loading…
Reference in a new issue