예제 #1
0
function mportResource($resource_name, $path, $relpath)
{
    global $rsc_dir;
    if (isset($resource_name)) {
        $resource_name = $resource_name;
        $resourcetype = isAValidMedia($resource_name);
        if (!($resourcetype === false)) {
            rename("/var/www/localhost/htdocs/hpenaranda/importar/{$path}/{$resource_name}", "{$rsc_dir}{$relpath}/" . $resource_name);
            chmod("{$rsc_dir}{$relpath}/" . $resource_name, octdec("0777"));
            if (trim($resourcetype['funcion']) != "") {
                $previo = $resourcetype['funcion']($resource_name, $relpath);
            }
            return $previo;
        } else {
            return false;
        }
    }
    return false;
}
예제 #2
0
function outputFile($filename, $path)
{
    if (vwSessionGetVar('downloadz') != true) {
        global $rsc_dir;
        $data = isAValidMedia($filename);
        $size = filesize("{$rsc_dir}{$path}/{$filename}");
        /*echo '<html>
        				';
        		echo '<body onLoad="clow();">
        				&nbsp;
        				<script>
        					function clow()
        						{
        							window.close();}
        				</script>
        				</body >
        			</html>';*/
        header("Pragma: public");
        header("Expires: 0");
        header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
        header("Content-Type: {$data['header']}");
        header("Content-Disposition: attachment; filename={$filename}");
        header("Content-Description: Descarga de recurso");
        header('Content-Length: ' . $size);
        header('Content-Transfer-Encoding: base64');
        vwSessionSetVar('downloadz', true);
        @readfile("{$rsc_dir}{$path}/{$filename}");
        echo "<meta http-equiv='refresh' content='7'>";
        die;
    } else {
        vwSessionSetVar('downloadz', false);
        echo '<body onLoad="clow();">
							&nbsp;
							<script>
								function clow()
									{
										window.close();}
							</script>
							</body >
						</html>';
        die;
    }
}
예제 #3
0
function render_admin_valedrsc($param)
{
    $did = vwVarFromInput('did');
    $rid = vwVarFromInput('rid');
    _startRsc($did);
    list($titulo, $url, $restringido, $archivo, $archivo_name, $oldarc_name) = vwVarFromInput('titulo', 'url', 'restringido', 'archivo', 'archivo_name', 'oldarc_name');
    list($db) = Getdb();
    $tbl = GetTable('recursos');
    $col = GetCols('recursos');
    if (trim($url) == "" && trim($archivo_name) == "") {
        $param['ruta'] = "error";
        $param['mensaje'] = "No se ha introducido ningun recurso. Un recurso debe ser bien un archivo o una URL.";
        render($param);
        die;
    }
    if (trim($url) != "" && trim($archivo_name) != "") {
        $param['ruta'] = "error";
        $param['mensaje'] = "Un recurso no puede ser una url y un archivo, debe de constar de un &uacute;nico elemento..";
        render($param);
        die;
    }
    if (trim($archivo_name) != "") {
        $media = isAValidMedia($archivo_name);
        if ($media === false) {
            $param['ruta'] = "error";
            $param['mensaje'] = "El archivo {$archivo_name} no es de un tipo admitido por el sistema.";
            render($param);
            die;
        } else {
            if (trim($archivo_name) != $oldarc_name) {
                DelOldRsc($rid);
                $test = UploadResource($archivo, $archivo_name, $did);
                if ($media['restricted']) {
                    $restringido = "S";
                } else {
                    $restringido = "N";
                }
            }
        }
    } else {
        if ($url != "") {
            if (!is_url($url)) {
                $param['ruta'] = "error";
                $param['mensaje'] = "La {$url} no es valida.";
                render($param);
                die;
            }
            if ($restringido != "S") {
                $restringido = "N";
            }
            if (trim($oldarc_name) != "") {
                DelOldRsc($rid);
            }
        }
    }
    $seccion = array($col['did'] => $did, $col['rid'] => $rid, $col['titulo'] => "'" . htmlentities($titulo, ENT_QUOTES) . "'", $col['url'] => "'" . htmlentities($url, ENT_QUOTES) . "'", $col['restringido'] => "'" . $restringido . "'", $col['archivo'] => "'{$archivo_name}'");
    array_walk($seccion, 'fixCode');
    $resultado = $db->Replace($tbl, $seccion, array($col['rid']), false);
    if ($resultado != 1) {
        $mensaje = "Ha ocurrido un error al cambiar los datos del recurso en la base de datos";
    } else {
        $mensaje = "Los datos del recurso han sido cambiados correctamente";
    }
    /* $resultado= SmartyInit();
    		$resultado->assign("mensaje",$mensaje);
    		$plantilla="mensaje.tpl";
    		$salida=$resultado->fetch($plantilla);
    		return $salida;*/
    $url = vwSessionGetVar('urlantigua');
    vwSessionDelVar('urlantigua');
    return render_msg($mensaje, 3, $url);
}
function MostrarRecursos($did)
{
    list($db) = Getdb();
    $tbl = GetTable('recursos');
    $col = GetCols('recursos');
    $sql = "SELECT * FROM {$tbl} WHERE {$col['did']}={$did}";
    $rs = $db->Execute($sql);
    if ($db->ErrorNo() != 0) {
        $param['ruta'] = "error";
        $param['mensaje'] = "Ha ocurrido leer el archivo de la base de datos.";
        render($param);
        die;
    }
    $aux = $rs->GetRows();
    foreach ($aux as $value) {
        $value = fromdbtocms($value, "recursos");
        if (trim($value['url']) != "") {
            $total['url']['total'] = $total['url']['total'] + 1;
            $total['url']['rsc'][] = $value;
            $total['url']['prv'] = false;
        } else {
            $media = returnMedia($value['archivo']);
            if (!isset($total[$media]['prv'])) {
                $aux = isAValidMedia($value["archivo"]);
                $total[$media]['prev'] = $aux['preview'];
                if ($media == "pdf") {
                    $total['prevext'] = ".pdf.jpg";
                } else {
                    $total['prevext'] = ".jpg";
                }
            }
            $value['archivo'] = substr($value['archivo'], 0, strrpos($value['archivo'], '.'));
            $total[$media]['total'] = $total[$media]['total'] + 1;
            $total[$media]['rsc'][] = $value;
        }
    }
    $output = "";
    $resultado = SmartyInit();
    if (trim($media) != "") {
        foreach ($total as $k => $v) {
            if ($v['total'] > 0) {
                $resultado->assign('tipo', $k);
                $resultado->assign('recursos', $v['rsc']);
                $resultado->assign('numero', $v['total']);
                $resultado->assign('previo', $v['prev']);
                $resultado->assign('rel', $did);
                $resultado->assign('ext', $v['prevext']);
                $resultado->assign('prevs', vwSessionGetVar('uid'));
                $output = $output . $resultado->fetch("recursos.tpl");
            }
        }
    }
    if (trim($output) == "") {
        return "";
    } else {
        return $output;
    }
}