/**************************************************************
* Date: 2006-02-04 (V 1.0)
* Author 1: Nicola Pasquini
* Author 2: Fracisc Ungureanu
* License: DO NOT Remove this text block!!!
* If block is removed, some parts of this site
* will no longer work properly, after few days.
* The authors will not be responsable for damnages
* to your website.
* Copyright© by Eurosito Comm. Srl - Italy
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
* IN THE SOFTWARE.
**************************************************************/
# Include session file (loads core)
require_once ("../_includes/session_set.php");
/**************************************************************
* Module Functions
**************************************************************/
function AddEditDoc($adata,$amode,$astage){
global $_CCFG,$_GPV,$_POST,$title,$_nl,$_tab;
if($astage==1 || !isset($astage)){
$descr="Caricamento documenti da rendere accessibili nell'area Downloads.";
$code='
';
$code=do_block($code,"block_corner");
$btns="";
}else{
$ins_id=do_get_max_id("documenti")+1;
$aerr=do_SaveDoc($ins_id);
if((!$aerr[flag] && isset($aerr[descr])) || $amode=='edit'){
$_GPV[tipo_utenti]=array_sum($_POST[tipo_utenti]);
if($amode=="add"){
$sql="INSERT INTO documenti(id,descr,link,tipo_utenti) VALUES(";
$sql.="$ins_id,'$_GPV[descr]','$aerr[descr]','$_GPV[tipo_utenti]')";
}else{
$sql="UPDATE documenti SET descr='$_GPV[descr]'".($amode=='edit' && !$aerr[flag] && isset($aerr[descr])?",link='$aerr[descr]'":"").",tipo_utenti='$_GPV[tipo_utenti]' WHERE id=".$adata[id];
}
$res=db_query_execute($sql) or die(nl2br($sql).'
'.mysql_error());
if($res){
$descr="Il salvataggio é avvenuto con successo.
";
}else{
$descr="Si sono verificati problemi nel salvataggio del documento, riprovare nuovamente. Se il problema persiste, contattare il webmaster.";
}
}else $descr="Errore nel salvataggio delle documento, ".$aerr[_descr].".
";
$code='';
$btns=new cToolbar();
if($amode=="add"){
$btns->addButton("Crea un nuovo documento","window.location.href='".$_CCFG['_PKG_URL_BASE']."admin/documenti.php?mode=add'");
$btns->addButton("Torna a documenti","window.location.href='".$_CCFG['_PKG_URL_BASE']."admin/documenti.php'");
}elseif($amode=="edit"){
$btns->addButton("Torna a documenti","window.location.href='".$_CCFG['_PKG_URL_BASE']."admin/documenti.php'");
}
$code.=$btns->draw().'
';
}
$_out=do_page($title,$descr,$code,"","");
return $_out;
}
function do_SaveDoc($docid){
global $_FILES,$_CCFG,$_DBCFG,$_GPV;
if(isset($_FILES['doc']['type'])){
$aerr_entry[flag]=0;
if($_FILES['doc']['name']!=""){
$filename=$docid.'_'.str_replace(' ','_',$_FILES['doc']['name']);
$aerr_entry[descr]=$filename;
# Set Query for select.
$query = "SELECT *";
$query .= " FROM documenti";
$query .= " WHERE link='$filename'";
if($_GPV[mode]=='edit') $query .= " AND id!=".$_GPV[id];
$query .= " ORDER BY ID ASC";
# Do select and return check
$result = db_query_execute($query);
$numrows = db_query_numrows($result);
if($numrows==0){
$dest=$_CCFG[_PKG_PATH_BASE]."_documenti/".$filename;
if (move_uploaded_file($_FILES['doc']['tmp_name'], $dest)) {
@chmod($dest,0777);
}else{
$aerr_entry[flag]=1;
$aerr_entry[_descr]="Couldn't move uploaded file to $dest";
}
}else{
$data=mysql_fetch_array($result);
$aerr_entry[flag]=1;
$aerr_entry[_descr]="questa documento risulta gią presente.".$data[descr].".";
}
}
}
return $aerr_entry;
}
function DeleteDoc($aid,$astage){
global $_CCFG;
$btns=new cToolbar(16);
$title="Elimina documento";
if($astage==1 || !isset($astage)){
$sql="SELECT descr FROM documenti WHERE id=$aid LIMIT 1";
$res=db_query_execute($sql);
$adata=mysql_fetch_array($res);
$descr='Sei sicuro di voler rimuovere il documento "'.$adata[descr].'" ?
';
$code='';
$btns->addButton("Elimina documento","frm.submit()");
$btns->addButton("Torna a documenti","window.location.href='".$_CCFG['_PKG_URL_BASE']."admin/documenti.php'");
}else{
$sql="SELECT * FROM documenti WHERE id=$aid LIMIT 1";
$res=db_query_execute($sql);
while($data=mysql_fetch_array($res)){
@unlink('../_documenti/'.$data['link']);
$sql="DELETE FROM documenti WHERE id=$aid LIMIT 1";
$res0=db_query_execute($sql);
}
$descr='Il documento selezionato e stato eliminato in modo definitivo.
';
$code='';
$btns->addButton("Torna a documenti","window.location.href='".$_CCFG['_PKG_URL_BASE']."admin/documenti.php'");
$btns->addButton("Amministra","window.location.href='".$_CCFG['_PKG_URL_BASE']."admin/index.php'");
}
$_out=do_page($title,$descr,$code,"",$btns);
return $_out;
}
# Get security vars
$_SEC = get_security_flags();
IF ( !$_SEC['_sadmin_flg'] && $_GPV[mode]!='view')
{
# Set login flag
$_login_flag = 1;
# Call function for clients listings
$_out = ''.$_nl;
$_out .= do_login($data, 'admin', '1').$_nl;
$title="Login";
}
IF ( $_SEC['_sadmin_flg']){
$amode = $_GPV[mode]?$_GPV[mode]:'add';
$astage = $_GPV[stage];
if($amode=='add' || $amode=='edit'){
if($amode=='edit'){
$res="SELECT * FROM documenti WHERE id=".$_GPV[id]." LIMIT 1";
$adata=mysql_fetch_array(mysql_query($res));
$title="Modifica documenti";
}elseif($amode=='add'){
$title="Aggiungi documento";
}
$_out=AddEditDoc($adata,$amode,$astage);
}elseif($amode=='delete'){
$title="Elimina documento";
$_out=DeleteDoc($_GPV[id],$_GPV[stage]);
}
}
echo do_page_content($_out,$title);
?>