Search This Blog

Showing posts with label infovijay. Show all posts
Showing posts with label infovijay. Show all posts

Tuesday, June 6, 2023

Ubuntu Port Firewall uwf - not via iptables

 step 1: apt install ufw

step 2: ufw enable

step 3:   sudo nano /etc/default/ufw

          #enable ipv6=yes

step 4: Added default deny of incoming and allow outgoing

   sudo ufw default deny incoming

   sudo ufw default allow outgoing


#. to see the list   

sudo ufw app list


step 5: #. Allow open ssh for all your login and other operations

sudo ufw allow OpenSSH

   sudo ufw allow ssh

   sudo ufw allow 22

   sudo ufw show added

   sudo ufw enable


step 6: #. Allow default web ports and custom ports

   sudo ufw allow http

   sudo ufw allow https

   sudo ufw allow 8099

   sudo ufw allow 88


 

#. To see the port list

   sudo ufw status verbose


#. To deny the ports

   sudo ufw deny <port>


Thank You

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-18-04



Thursday, June 1, 2023

Linux Ubuntu - SSH command to copy server to local or vice versa

 Copy file to Server to Local

    scp -P <port> <localfile path> <server user>@ip:<remote user home path>

    ex: > scp -P 22 mq/target/test.jar drvijay@192.2.2.2:/home/drvijay


Connect server : 

        ssh -p <port> <server user>@<IP>
        ssh -p 22 drvijay@182.2.2.2

Copy file from Server to Local
 





Note: ssh -p <port> small case for port option
          scp -P <port> upper -P for port specify.




Wednesday, May 31, 2023

Linux Ubuntu - See Running process with port number and details for that service

To see the pid details of running process

step 1.

lsof -i TCP:<port number>


lsof -i TCP:99


step 2

ps -ef | grep <pid>

ps -ef | grep 39100


step 3

kill -9 <pid>

Wednesday, March 29, 2023

ModuleNotFoundError: no module named 'gaze_tracking', but installed python 3.x

 #Gaze_tracking

1. Install with below command, 

pip install gaze_tracking

2. find site-packages path with below command

> python -m site


3. extract gaze_tracking.zip and copy into site-packages

        > download the zip and extract into site-packages folder

    > git clone https://github.com/Arsenal-iT/gaze_tracking.git



Friday, February 24, 2023

Apache2 disable directory listing

Step 1: The best way to do this is disable it with webserver apache2. In my Ubuntu 14.X - open /etc/apache2/apache2.conf change from


Sample

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

to

<Directory /var/www/>
        Options FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Thursday, January 12, 2023

Solution Ubuntu - Anydesk Gtalk Teams Skype Screen Sharing Not Working

 Step 1: type below command in terminal

    > echo $XDG_SESSION_TYPE


Step 2: Open this file and remove the Comment # like below & reboot

> sudo nano /etc/gdm3/custom.conf

WaylandEnable=false


>reboot

Monday, January 9, 2023

Error starting Eclipse in Linux: "JVM terminated. Exit code=13"

 Steps 1:

    sudo apt install plocate
    locate javac

 Steps 2:

   Take the javac path and change to java rather in javac at last word

 >  open eclipse.ini and paste under -vm like below

-vm
/usr/lib/jvm/java-18-openjdk-amd64/bin/java

Wednesday, December 14, 2022

Tuesday, October 26, 2021

Ubuntu Linux - Connect Postgresql from Psql and also PGadmin Remotely

 Step 1 :

> sudo su

> vi /etc/postgresql/10/main/postgresql.conf

#listen_addresses = 'localhost'
to 
listen_addresses = '*'

>vi /etc/postgresql/10/main/pg_hba.conf
# IPv4 local connections:
host all all 127.0.0.1/32 md5

to
host all all 0.0.0.0/0 md5


>sudo ufw allow 5432/tcp
>sudo systemctl restart postgresql


>psql -h localhost -d databasename -U userrolename
...enterpasswordfor-userrolename






Monday, October 11, 2021

Install Latest ImageMagick to support PNG, JPG convertions

 #These are the steps required in order to Install ImageMagick with JPG, PNG and TIFF delegates.

sudo apt-get update 

#Install Build-Essential in order to configure and make the final Install

sudo apt-get install build-essential 

#libjpg62-dev required in order to work with basic JPG files

sudo apt-get install -y libjpeg62-dev 

#libtiff-dev is required in order to work with TIFF file format

sudo apt-get install -y libtiff-dev 

#libpng-dev required in order to work with basic PNG files

sudo apt-get install -y libpng-dev

#Download ImageMagick

wget https://www.imagemagick.org/download/ImageMagick.tar.gz 

#Untar Imagemagick

tar xvzf ImageMagick.tar.gz 

#Access the working directory

cd ImageMagick-[version_number] 

#Configure and make sure to disable the "shared" option

./configure --disable-shared

#Make

sudo make

#Install

sudo make install

#Final Check

sudo make check

Tuesday, September 7, 2021

Eclipse - Python Import Libraries or Error issues fixes

 step 1) Removing the interpreter, auto configuring it again

step 2) Window - Preferences - PyDev - Interpreters - Python Interpreter Go to the Forced builtins tab Click on New... Type the name of the module (tensorflow in my case) and click OK

step 3) Right click in the project explorer on whichever module is giving errors. Go to PyDev->Code analysis.

Tuesday, August 31, 2021

Python - ImportError: cannot import name 'signature' from 'sklearn.utils.fixes'

 Please install funcsigs directly using

pip install funcsigs

and use from funcsigs import signature instead.


#ex:

#from sklearn.utils.fixes import signature

from funcsigs import signature



-- enjoy

Friday, July 23, 2021

How to install Gnome Extensions

 Extract the downloaded file. Copy the folder to ~/.local/share/gnome-shell/extensions directory. Go to your Home directory and press Crl+H to show hidden folders. Locate .local folder here and from there, you can find your path till extensions directory. 

Once you have the files copied in the correct directory, go inside it and open metadata.json file. Look for the value of uuid. 

Make sure that the name of the extension’s folder is same as the value of uuid in the metadata.json file. If not, rename the directory to the value of this uuid.

Manually install GNOME Shell extension
Name of extension folder should be the same as uuid

Almost there! Now restart GNOME Shell. Press Alt+F2 and enter r to restart GNOME Shell.

Restart GNOME Shell
Restart GNOME Shell

Restart GNOME Tweaks tool as well. You should see the manually installed GNOME extension in the Tweak tool now. You can configure or enable the newly installed extension here.

And that’s all you need to know about installing GNOME Shell Extensions.

Remove GNOME Shell Extensions

It is totally understandable that you might want to remove an installed GNOME Shell Extension.

If you installed it via a web browser, you can go to the installed extensions section on GNOME website and remove it from there (as shown in an earlier picture).

If you installed it manually, you can remove it by deleting the extension files from ~/.local/share/gnome-shell/extensions directory.

Monday, July 19, 2021

Ubuntu KAZAM Screencast Recorder Audio Problem - FIX

1. Install Kazam 

    sudo apt install kazam

 2. modify this file:

/usr/lib/python3/dist-packages/kazam/pulseaudio/pulseaudio.py

and replace

time.clock()

with

time.perf_counter()
OR SIMPLE CLI COMMAND
sudo sed "s/time.clock()/time.perf_counter()/g" -i /usr/lib/python3/dist-packages/kazam/pulseaudio/pulseaudio.py
3. Open Kazam, Go to File -> Preferences. General
    Speakers -> SELECT from the list like 
                   Monitor of Built-in Audio ...



ENJOY


Wednesday, June 30, 2021

How to Host Flask Applications on Namecheap cPanel

Very good. 


1. Follow the link, 

 https://dev.to/lordghostx/how-to-host-flask-applications-on-namecheap-cpanel-299b


2. In Execute Python Script 

-m pip install --upgrade pip

-m pip install -r requirements.txt






Restart the server for app.py changes.


Joomla Wordpress - Friendly URL not working


1. Open Cpanel -> File Manager
    Top right corner ->Settings or find settings 
    Show Hidden Files. 

2. Goto public_html folder/.htaccess
paste the below block, save & close.

<IfModule mod_rewrite.c>
RewriteEngine On
# Removes index.php from ExpressionEngine URLs
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
</IfModule>

3. Now goto global configuration ->joomla -> turn on Friend URL redirection.

Python - Image to Pdf

1. Install img2pdf

> pip/pip3 install img2pdf

2. img2pdfown.py


# importing necessary libraries

import img2pdf

from PIL import Image

import os

  

# CLI  img2pdf *jpg -o output_all_pngs.pdf

'''

img_path = "image1.jpg";

pdf_path = "output.pdf";

image = Image.open(img_path);

pdf_bytes = img2pdf.convert(image.filename);

file = open(pdf_path, "wb");

file.write(pdf_bytes);

image.close();

file.close();

'''


# convert all files ending in .jpg inside a directory

dirname = "dump/images/"

imgs = []

#dpix = dpiy = 300;

#layout_fun = img2pdf.get_fixed_dpi_layout_fun((dpix, dpiy))

for fname in os.listdir(dirname):

    if not fname.endswith(".jpg"):

        continue

    path = os.path.join(dirname, fname)

    if os.path.isdir(path):

        continue

    imgs.append(path)

    print ("\n" + path);

with open("dump/output.pdf", "wb") as f:

    #f.write(img2pdf.convert(imgs, layout_fun=layout_fun));

    f.write(img2pdf.convert(imgs));

  

'''    

imgs = ['dump/images/page_1.jpg', 'dump/images/page_2.jpg', 'dump/images/page_10.jpg']

with open("dump/output1.pdf", "wb") as f:

    f.write(img2pdf.convert(imgs))


# specify paper size (A4)

a4inpt = (img2pdf.mm_to_pt(210), img2pdf.mm_to_pt(297))

layout_fun = img2pdf.get_layout_fun(a4inpt)

with open("name.pdf", "wb") as f:

    f.write(img2pdf.convert('test.jpg', layout_fun=layout_fun))


# use a fixed dpi of 300 instead of reading it from the image

dpix = dpiy = 300;

layout_fun = img2pdf.get_fixed_dpi_layout_fun((dpix, dpiy))

with open("name.pdf", "wb") as f:

    f.write(img2pdf.convert('test.jpg', layout_fun=layout_fun))


# create a PDF/A-1b compliant document by passing an ICC profile

with open("name.pdf", "wb") as f:

    f.write(img2pdf.convert('test.jpg', pdfa="/usr/share/color/icc/sRGB.icc"))    

'''

    


Friday, June 18, 2021

React Native - Check Application is in Background or ForeGround with Time Diff - 10 seconds Move to Login Session Expired

 1. Install the below two mandatory npm plugins.

npm install --save react-native-async-storage

npm install --save moment


2. app.js


import React, { Component } from 'react';
import { StyleSheet, Text, View, AppState } from 'react-native';
//import Routing from "./src/routing/routing";
import AsyncStorage from '@react-native-async-storage/async-storage';
import moment from 'moment';
//import { Actions } from 'react-native-router-flux';

export default class App extends Component {
constructor() {
super();
this.state = {
appState: AppState.currentState
}
}
componentDidMount() {
AppState.addEventListener('change', this._handleAppStateChange);
}
componentWillUnmount() {
AppState.removeEventListener('change', this._handleAppStateChange);
}
_handleAppStateChange = async(nextAppState) => {
this.setState({ appState: nextAppState });
if (nextAppState === 'background') {
var previousTime = new Date();
await AsyncStorage.setItem( "previousTime", previousTime.toString() );
// Do something here on app background.
console.log( "App is in Background Mode @ ", previousTime );
}
if (nextAppState === 'active') {
// Do something here on app active foreground mode.
const start = moment( await AsyncStorage.getItem('previousTime') );
const end = moment();
//in original implementation, use minutes and check with N value.
//const range = end.diff(start,'minutes');
const range = end.diff(start,'seconds');
if ( range >= 10 ){
console.log ( "App is exit the Active Range, So moving to Login screen." );
/* Actions.login({"message":"Session Exit"} ); */
}
else{
console.log( "App is in Active Range, So continue your process ...");
}
}
if (nextAppState === 'inactive') {
// Do something here on app inactive mode.
console.log("App is in inactive Mode.")
}
};
render() {
return (
<View style={styles.MainContainer}>
{/* <Routing /> */}
<Text>Current state is: {this.state.appState}</Text>
</View>
);
}
}
const styles = StyleSheet.create({
MainContainer: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
text: {
fontSize: 20,
color: '#000'
}
});

Tuesday, May 11, 2021

Eclipse - PHP Fatal error: Call to undefined function json_decode()

Add PHP 

1. Window->Preferences->Installed PHPs-> Add

    /usr/bin/<search php> select /usr/bin/php7.4.x

2. Check "Window->Preferences->Installed PHPs" checkbox "Use system default php.ini configuration" must be enabled. And I had to setup "apt install php-json" on my Ubuntu.

3. Enable Debug

   Open Terminal -> sudo apt-get install php-xdebug

4. Check "Window->Preferences->Installed PHPs" ->Debuger -> XDebug [from dropdown]



Enjoy

Wednesday, April 7, 2021

Filezilla FTP zip file Uncompress / Extract

1. Copy the below code and paste it into a file and name it unzip.php

2. Copy this file to your current directory in ftp location where zip files are there. 

3. type your url/unzip.php  [ ex: infovijay.com/unzip.php ]

4. now you can see the screen like below. select the zip file and click unzip archieve. ENJOY.

tkx Andreas.



unzip.php


<?php

/**

 * The Unzipper extracts .zip or .rar archives and .gz files on webservers.

 * It's handy if you do not have shell access. E.g. if you want to upload a lot

 * of files (php framework or image collection) as an archive to save time.

 * As of version 0.1.0 it also supports creating archives.

 *

 * @author  Andreas Tasch, at[tec], attec.at

 * @license GNU GPL v3

 * @package attec.toolbox

 * @version 0.1.1

 */

define('VERSION', '0.1.1');


$timestart = microtime(TRUE);

$GLOBALS['status'] = array();


$unzipper = new Unzipper;

if (isset($_POST['dounzip'])) {

  // Check if an archive was selected for unzipping.

  $archive = isset($_POST['zipfile']) ? strip_tags($_POST['zipfile']) : '';

  $destination = isset($_POST['extpath']) ? strip_tags($_POST['extpath']) : '';

  $unzipper->prepareExtraction($archive, $destination);

}


if (isset($_POST['dozip'])) {

  $zippath = !empty($_POST['zippath']) ? strip_tags($_POST['zippath']) : '.';

  // Resulting zipfile e.g. zipper--2016-07-23--11-55.zip.

  $zipfile = 'zipper-' . date("Y-m-d--H-i") . '.zip';

  Zipper::zipDir($zippath, $zipfile);

}


$timeend = microtime(TRUE);

$time = round($timeend - $timestart, 4);


/**

 * Class Unzipper

 */

class Unzipper {

  public $localdir = '.';

  public $zipfiles = array();


  public function __construct() {

    // Read directory and pick .zip, .rar and .gz files.

    if ($dh = opendir($this->localdir)) {

      while (($file = readdir($dh)) !== FALSE) {

        if (pathinfo($file, PATHINFO_EXTENSION) === 'zip'

          || pathinfo($file, PATHINFO_EXTENSION) === 'gz'

          || pathinfo($file, PATHINFO_EXTENSION) === 'rar'

        ) {

          $this->zipfiles[] = $file;

        }

      }

      closedir($dh);


      if (!empty($this->zipfiles)) {

        $GLOBALS['status'] = array('info' => '.zip or .gz or .rar files found, ready for extraction');

      }

      else {

        $GLOBALS['status'] = array('info' => 'No .zip or .gz or rar files found. So only zipping functionality available.');

      }

    }

  }


  /**

   * Prepare and check zipfile for extraction.

   *

   * @param string $archive

   *   The archive name including file extension. E.g. my_archive.zip.

   * @param string $destination

   *   The relative destination path where to extract files.

   */

  public function prepareExtraction($archive, $destination = '') {

    // Determine paths.

    if (empty($destination)) {

      $extpath = $this->localdir;

    }

    else {

      $extpath = $this->localdir . '/' . $destination;

      // Todo: move this to extraction function.

      if (!is_dir($extpath)) {

        mkdir($extpath);

      }

    }

    // Only local existing archives are allowed to be extracted.

    if (in_array($archive, $this->zipfiles)) {

      self::extract($archive, $extpath);

    }

  }


  /**

   * Checks file extension and calls suitable extractor functions.

   *

   * @param string $archive

   *   The archive name including file extension. E.g. my_archive.zip.

   * @param string $destination

   *   The relative destination path where to extract files.

   */

  public static function extract($archive, $destination) {

    $ext = pathinfo($archive, PATHINFO_EXTENSION);

    switch ($ext) {

      case 'zip':

        self::extractZipArchive($archive, $destination);

        break;

      case 'gz':

        self::extractGzipFile($archive, $destination);

        break;

      case 'rar':

        self::extractRarArchive($archive, $destination);

        break;

    }


  }


  /**

   * Decompress/extract a zip archive using ZipArchive.

   *

   * @param $archive

   * @param $destination

   */

  public static function extractZipArchive($archive, $destination) {

    // Check if webserver supports unzipping.

    if (!class_exists('ZipArchive')) {

      $GLOBALS['status'] = array('error' => 'Error: Your PHP version does not support unzip functionality.');

      return;

    }


    $zip = new ZipArchive;


    // Check if archive is readable.

    if ($zip->open($archive) === TRUE) {

      // Check if destination is writable

      if (is_writeable($destination . '/')) {

        $zip->extractTo($destination);

        $zip->close();

        $GLOBALS['status'] = array('success' => 'Files unzipped successfully');

      }

      else {

        $GLOBALS['status'] = array('error' => 'Error: Directory not writeable by webserver.');

      }

    }

    else {

      $GLOBALS['status'] = array('error' => 'Error: Cannot read .zip archive.');

    }

  }


  /**

   * Decompress a .gz File.

   *

   * @param string $archive

   *   The archive name including file extension. E.g. my_archive.zip.

   * @param string $destination

   *   The relative destination path where to extract files.

   */

  public static function extractGzipFile($archive, $destination) {

    // Check if zlib is enabled

    if (!function_exists('gzopen')) {

      $GLOBALS['status'] = array('error' => 'Error: Your PHP has no zlib support enabled.');

      return;

    }


    $filename = pathinfo($archive, PATHINFO_FILENAME);

    $gzipped = gzopen($archive, "rb");

    $file = fopen($destination . '/' . $filename, "w");


    while ($string = gzread($gzipped, 4096)) {

      fwrite($file, $string, strlen($string));

    }

    gzclose($gzipped);

    fclose($file);


    // Check if file was extracted.

    if (file_exists($destination . '/' . $filename)) {

      $GLOBALS['status'] = array('success' => 'File unzipped successfully.');


      // If we had a tar.gz file, let's extract that tar file.

      if (pathinfo($destination . '/' . $filename, PATHINFO_EXTENSION) == 'tar') {

        $phar = new PharData($destination . '/' . $filename);

        if ($phar->extractTo($destination)) {

          $GLOBALS['status'] = array('success' => 'Extracted tar.gz archive successfully.');

          // Delete .tar.

          unlink($destination . '/' . $filename);

        }

      }

    }

    else {

      $GLOBALS['status'] = array('error' => 'Error unzipping file.');

    }


  }


  /**

   * Decompress/extract a Rar archive using RarArchive.

   *

   * @param string $archive

   *   The archive name including file extension. E.g. my_archive.zip.

   * @param string $destination

   *   The relative destination path where to extract files.

   */

  public static function extractRarArchive($archive, $destination) {

    // Check if webserver supports unzipping.

    if (!class_exists('RarArchive')) {

      $GLOBALS['status'] = array('error' => 'Error: Your PHP version does not support .rar archive functionality. <a class="info" href="http://php.net/manual/en/rar.installation.php" target="_blank">How to install RarArchive</a>');

      return;

    }

    // Check if archive is readable.

    if ($rar = RarArchive::open($archive)) {

      // Check if destination is writable

      if (is_writeable($destination . '/')) {

        $entries = $rar->getEntries();

        foreach ($entries as $entry) {

          $entry->extract($destination);

        }

        $rar->close();

        $GLOBALS['status'] = array('success' => 'Files extracted successfully.');

      }

      else {

        $GLOBALS['status'] = array('error' => 'Error: Directory not writeable by webserver.');

      }

    }

    else {

      $GLOBALS['status'] = array('error' => 'Error: Cannot read .rar archive.');

    }

  }


}


/**

 * Class Zipper

 *

 * Copied and slightly modified from http://at2.php.net/manual/en/class.ziparchive.php#110719

 * @author umbalaconmeogia

 */

class Zipper {

  /**

   * Add files and sub-directories in a folder to zip file.

   *

   * @param string $folder

   *   Path to folder that should be zipped.

   *

   * @param ZipArchive $zipFile

   *   Zipfile where files end up.

   *

   * @param int $exclusiveLength

   *   Number of text to be exclusived from the file path.

   */

  private static function folderToZip($folder, &$zipFile, $exclusiveLength) {

    $handle = opendir($folder);


    while (FALSE !== $f = readdir($handle)) {

      // Check for local/parent path or zipping file itself and skip.

      if ($f != '.' && $f != '..' && $f != basename(__FILE__)) {

        $filePath = "$folder/$f";

        // Remove prefix from file path before add to zip.

        $localPath = substr($filePath, $exclusiveLength);


        if (is_file($filePath)) {

          $zipFile->addFile($filePath, $localPath);

        }

        elseif (is_dir($filePath)) {

          // Add sub-directory.

          $zipFile->addEmptyDir($localPath);

          self::folderToZip($filePath, $zipFile, $exclusiveLength);

        }

      }

    }

    closedir($handle);

  }


  /**

   * Zip a folder (including itself).

   *

   * Usage:

   *   Zipper::zipDir('path/to/sourceDir', 'path/to/out.zip');

   *

   * @param string $sourcePath

   *   Relative path of directory to be zipped.

   *

   * @param string $outZipPath

   *   Relative path of the resulting output zip file.

   */

  public static function zipDir($sourcePath, $outZipPath) {

    $pathInfo = pathinfo($sourcePath);

    $parentPath = $pathInfo['dirname'];

    $dirName = $pathInfo['basename'];


    $z = new ZipArchive();

    $z->open($outZipPath, ZipArchive::CREATE);

    $z->addEmptyDir($dirName);

    if ($sourcePath == $dirName) {

      self::folderToZip($sourcePath, $z, 0);

    }

    else {

      self::folderToZip($sourcePath, $z, strlen("$parentPath/"));

    }

    $z->close();


    $GLOBALS['status'] = array('success' => 'Successfully created archive ' . $outZipPath);

  }

}

?>


<!DOCTYPE html>

<html>

<head>

  <title>File Unzipper + Zipper</title>

  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

  <style type="text/css">

    <!--

    body {

      font-family: Arial, sans-serif;

      line-height: 150%;

    }


    label {

      display: block;

      margin-top: 20px;

    }


    fieldset {

      border: 0;

      background-color: #EEE;

      margin: 10px 0 10px 0;

    }


    .select {

      padding: 5px;

      font-size: 110%;

    }


    .status {

      margin: 0;

      margin-bottom: 20px;

      padding: 10px;

      font-size: 80%;

      background: #EEE;

      border: 1px dotted #DDD;

    }


    .status--ERROR {

      background-color: red;

      color: white;

      font-size: 120%;

    }


    .status--SUCCESS {

      background-color: green;

      font-weight: bold;

      color: white;

      font-size: 120%

    }


    .small {

      font-size: 0.7rem;

      font-weight: normal;

    }


    .version {

      font-size: 80%;

    }


    .form-field {

      border: 1px solid #AAA;

      padding: 8px;

      width: 280px;

    }


    .info {

      margin-top: 0;

      font-size: 80%;

      color: #777;

    }


    .submit {

      background-color: #378de5;

      border: 0;

      color: #ffffff;

      font-size: 15px;

      padding: 10px 24px;

      margin: 20px 0 20px 0;

      text-decoration: none;

    }


    .submit:hover {

      background-color: #2c6db2;

      cursor: pointer;

    }

    -->

  </style>

</head>

<body>

<p class="status status--<?php echo strtoupper(key($GLOBALS['status'])); ?>">

  Status: <?php echo reset($GLOBALS['status']); ?><br/>

  <span class="small">Processing Time: <?php echo $time; ?> seconds</span>

</p>

<form action="" method="POST">

  <fieldset>

    <h1>Archive Unzipper</h1>

    <label for="zipfile">Select .zip or .rar archive or .gz file you want to extract:</label>

    <select name="zipfile" size="1" class="select">

      <?php foreach ($unzipper->zipfiles as $zip) {

        echo "<option>$zip</option>";

      }

      ?>

    </select>

    <label for="extpath">Extraction path (optional):</label>

    <input type="text" name="extpath" class="form-field" />

    <p class="info">Enter extraction path without leading or trailing slashes (e.g. "mypath"). If left empty current directory will be used.</p>

    <input type="submit" name="dounzip" class="submit" value="Unzip Archive"/>

  </fieldset>


  <fieldset>

    <h1>Archive Zipper</h1>

    <label for="zippath">Path that should be zipped (optional):</label>

    <input type="text" name="zippath" class="form-field" />

    <p class="info">Enter path to be zipped without leading or trailing slashes (e.g. "zippath"). If left empty current directory will be used.</p>

    <input type="submit" name="dozip" class="submit" value="Zip Archive"/>

  </fieldset>

</form>

<p class="version">Unzipper version: <?php echo VERSION; ?></p>

</body>

</html>


Hit Counter


View My Stats