protected function private_core()
 {
     /// ¿El usuario tiene permiso para eliminar en esta página?
     $this->allow_delete = $this->user->allow_delete_on(__CLASS__);
     $eje = new ejercicio();
     $this->ejercicios = $eje->all();
     $this->serie = new serie();
     $fsvar = new fs_var();
     if (isset($_GET['num_personalizada'])) {
         if ($_GET['num_personalizada'] == 'TRUE') {
             $this->num_personalizada = TRUE;
             $fsvar->simple_save('numeracion_personalizada', $this->num_personalizada);
         } else {
             $this->num_personalizada = FALSE;
             $fsvar->simple_delete('numeracion_personalizada');
         }
     } else {
         $this->num_personalizada = $fsvar->simple_get('numeracion_personalizada');
     }
     if (isset($_POST['codserie'])) {
         $this->modificar_serie();
     } else {
         if (isset($_GET['delete'])) {
             if (!$this->user->admin) {
                 $this->new_error_msg('Sólo un administrador puede eliminar ' . FS_SERIES . '.');
             } else {
                 $serie = $this->serie->get($_GET['delete']);
                 if ($serie) {
                     if ($serie->delete()) {
                         $this->new_message('Datos eliminados correctamente: ' . FS_SERIE . ' ' . $_GET['delete'], TRUE);
                     } else {
                         $this->new_error_msg("¡Imposible eliminar " . FS_SERIE . ' ' . $_GET['delete'] . "!");
                     }
                 } else {
                     $this->new_error_msg('Datos no encontrados: ' . FS_SERIE . ' ' . $_GET['delete']);
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
 protected function private_core()
 {
     $almacen = new almacen();
     $this->pais = new pais();
     /// ¿El usuario tiene permiso para eliminar en esta página?
     $this->allow_delete = $this->user->allow_delete_on(__CLASS__);
     if (isset($_POST['scodalmacen'])) {
         $al0 = $almacen->get($_POST['scodalmacen']);
         if (!$al0) {
             $al0 = new almacen();
             $al0->codalmacen = $_POST['scodalmacen'];
         }
         $al0->nombre = $_POST['snombre'];
         $al0->codpais = $_POST['scodpais'];
         $al0->provincia = $_POST['sprovincia'];
         $al0->poblacion = $_POST['spoblacion'];
         $al0->direccion = $_POST['sdireccion'];
         $al0->codpostal = $_POST['scodpostal'];
         $al0->telefono = $_POST['stelefono'];
         $al0->fax = $_POST['sfax'];
         $al0->contacto = $_POST['scontacto'];
         if ($al0->save()) {
             $this->new_message("Almacén " . $al0->codalmacen . " guardado correctamente.");
         } else {
             $this->new_error_msg("¡Imposible guardar el almacén!");
         }
     } else {
         if (isset($_GET['delete'])) {
             $al0 = $almacen->get($_GET['delete']);
             if ($al0) {
                 if (!$this->user->admin) {
                     $this->new_error_msg("Solo un administrador puede eliminar un almacén.");
                 } else {
                     if ($al0->delete()) {
                         $this->new_message("Almacén " . $al0->codalmacen . " eliminado correctamente");
                     } else {
                         $this->new_error_msg("¡Imposible eliminar el almacén!");
                     }
                 }
             } else {
                 $this->new_error_msg("¡Almacén no encontrado!");
             }
         } else {
             /// ¿Guardamos las opciones avanzadas?
             $guardar = FALSE;
             foreach ($GLOBALS['config2'] as $i => $value) {
                 if (isset($_POST[$i])) {
                     $GLOBALS['config2'][$i] = $_POST[$i];
                     $guardar = TRUE;
                 }
             }
             if ($guardar) {
                 $file = fopen('tmp/' . FS_TMP_NAME . 'config2.ini', 'w');
                 if ($file) {
                     foreach ($GLOBALS['config2'] as $i => $value) {
                         if (is_numeric($value)) {
                             fwrite($file, $i . " = " . $value . ";\n");
                         } else {
                             fwrite($file, $i . " = '" . $value . "';\n");
                         }
                     }
                     fclose($file);
                 }
                 $this->new_message('Datos guardados correctamente.');
             }
         }
     }
     $this->almacenes = $almacen->all();
     /// si hay más de un almacén activamos el soporte multi-almacén en los listados
     $fsvar = new fs_var();
     if (count($this->almacenes) > 1) {
         $fsvar->simple_save('multi_almacen', TRUE);
     } else {
         $fsvar->simple_delete('multi_almacen');
     }
 }
 protected function private_core()
 {
     $this->check_htaccess();
     $this->get_download_list();
     $fsvar = new fs_var();
     if (isset($_GET['check4updates'])) {
         $this->template = FALSE;
         if ($this->check_for_updates2()) {
             echo 'Hay actualizaciones disponibles.';
         } else {
             echo 'No hay actualizaciones.';
         }
     } else {
         if (isset($_GET['updated'])) {
             /// el sistema ya se ha actualizado
             $fsvar->simple_delete('updates');
         } else {
             if (FS_DEMO) {
                 $this->new_advice('En el modo demo no se pueden hacer cambios en esta página.');
                 $this->new_advice('Si te gusta FacturaScripts y quieres saber más, consulta la ' . '<a href="https://www.facturascripts.com/comm3/index.php?page=community_questions">sección preguntas</a>.');
             } else {
                 if (!$this->user->admin) {
                     $this->new_error_msg('Sólo un administrador puede hacer cambios en esta página.');
                 } else {
                     if (isset($_POST['modpages'])) {
                         /// activar/desactivas páginas del menú
                         if (!$this->step) {
                             $this->step = '1';
                             $fsvar->simple_save('install_step', $this->step);
                         }
                         foreach ($this->all_pages() as $p) {
                             if (!$p->exists) {
                                 if ($p->delete()) {
                                     $this->new_message('Se ha eliminado automáticamente la página ' . $p->name . ' ya que no tiene un controlador asociado en la carpeta controller.');
                                 }
                             } else {
                                 if (!isset($_POST['enabled'])) {
                                     $this->disable_page($p);
                                 } else {
                                     if (!$p->enabled and in_array($p->name, $_POST['enabled'])) {
                                         $this->enable_page($p);
                                     } else {
                                         if ($p->enabled and !in_array($p->name, $_POST['enabled'])) {
                                             $this->disable_page($p);
                                         }
                                     }
                                 }
                             }
                         }
                         $this->new_message('Datos guardados correctamente.');
                     } else {
                         if (isset($_GET['enable'])) {
                             /// activar plugin
                             $this->enable_plugin($_GET['enable']);
                             if ($this->step == '1') {
                                 $this->step = '2';
                                 $fsvar->simple_save('install_step', $this->step);
                             }
                         } else {
                             if (isset($_GET['disable'])) {
                                 /// desactivar plugin
                                 $this->disable_plugin($_GET['disable']);
                             } else {
                                 if (isset($_GET['delete_plugin'])) {
                                     /// eliminar plugin
                                     if (is_writable('plugins/' . $_GET['delete_plugin'])) {
                                         if ($this->delTree('plugins/' . $_GET['delete_plugin'])) {
                                             $this->new_message('Plugin ' . $_GET['delete_plugin'] . ' eliminado correctamente.');
                                         } else {
                                             $this->new_error_msg('Imposible eliminar el plugin ' . $_GET['delete_plugin']);
                                         }
                                     } else {
                                         $this->new_error_msg('No tienes permisos de escritura sobre la carpeta plugins/' . $_GET['delete_plugin']);
                                     }
                                 } else {
                                     if (isset($_POST['install'])) {
                                         $disabled = FALSE;
                                         if (defined('FS_DISABLE_ADD_PLUGINS')) {
                                             $disabled = FS_DISABLE_ADD_PLUGINS;
                                         }
                                         /// instalar plugin (copiarlo y descomprimirlo)
                                         if ($disabled) {
                                             $this->new_error_msg('La subida de plugins está desactivada.');
                                         } else {
                                             if (is_uploaded_file($_FILES['fplugin']['tmp_name'])) {
                                                 $zip = new ZipArchive();
                                                 $res = $zip->open($_FILES['fplugin']['tmp_name']);
                                                 if ($res === TRUE) {
                                                     $zip->extractTo('plugins/');
                                                     $zip->close();
                                                     $this->new_message('Plugin ' . $_FILES['fplugin']['name'] . ' añadido correctamente. Ya puedes activarlo.');
                                                 } else {
                                                     $this->new_error_msg('Error al abrir el archivo ZIP. Código: ' . $res);
                                                 }
                                             } else {
                                                 $this->new_error_msg('Archivo no encontrado.');
                                             }
                                         }
                                     } else {
                                         if (isset($_GET['download'])) {
                                             /// descargamos un plugin de la lista fija
                                             $this->download1();
                                         } else {
                                             if (isset($_GET['download2'])) {
                                                 /// descargamos un plugin de la lista de la comunidad
                                                 $this->download2();
                                             } else {
                                                 if (isset($_GET['reset'])) {
                                                     /// reseteamos la configuración avanzada
                                                     if (file_exists('tmp/' . FS_TMP_NAME . 'config2.ini')) {
                                                         unlink('tmp/' . FS_TMP_NAME . 'config2.ini');
                                                         $this->new_message('Configuración reiniciada correctamente, pulsa <a href="' . $this->url() . '#avanzado">aquí</a> para continuar.');
                                                     }
                                                 } else {
                                                     /// ¿Guardamos las opciones de la pestaña avanzado?
                                                     $guardar = FALSE;
                                                     foreach ($GLOBALS['config2'] as $i => $value) {
                                                         if (isset($_POST[$i])) {
                                                             $GLOBALS['config2'][$i] = $_POST[$i];
                                                             $guardar = TRUE;
                                                         }
                                                     }
                                                     if ($guardar) {
                                                         $file = fopen('tmp/' . FS_TMP_NAME . 'config2.ini', 'w');
                                                         if ($file) {
                                                             foreach ($GLOBALS['config2'] as $i => $value) {
                                                                 if (is_numeric($value)) {
                                                                     fwrite($file, $i . " = " . $value . ";\n");
                                                                 } else {
                                                                     fwrite($file, $i . " = '" . $value . "';\n");
                                                                 }
                                                             }
                                                             fclose($file);
                                                         }
                                                         $this->new_message('Datos guardados correctamente.');
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     $this->paginas = $this->all_pages();
     $this->load_menu(TRUE);
 }