Difference between revisions of "Utilities"

From OpenKM Documentation
Jump to: navigation, search
(Replaced content with 'These are OpenKM utilities created by the community. == Crontab Utilites == == PHP Utilities == * PHP AutoImport (Import pdf files from some local path to specific Open…')
Line 5: Line 5:
 
== PHP Utilities ==
 
== PHP Utilities ==
 
* [[PHP AutoImport]] (Import pdf files from some local path to specific OpenKM server path  
 
* [[PHP AutoImport]] (Import pdf files from some local path to specific OpenKM server path  
 
+
* [[PHP fileUpoad]]
  
 
== File upload ==
 
== File upload ==
<source lang="php">
 
  <?php
 
  $okmurl="http://localhost:8080/OpenKM/";
 
  $okmid="username";
 
  $okmpw="password";
 
  $impfile = $argv[1];
 
 
  $OKMAuth = new SoapClient($okmurl."OKMAuth?wsdl");
 
  $OKMDocument = new SoapClient($okmurl."OKMDocument?wsdl");
 
 
  // open file and encode if necessary
 
  $handle = fopen($impfile,'rb');
 
  $file_content = fread($handle,filesize($impfile));
 
  fclose($handle);
 
  $encoded = base64_encode($file_content);
 
 
  // Login
 
  $token = $OKMAuth->login($okmid, $okmpw);
 
  $OKMDocument->createSimple($token,"/okm:root/file.to.upload",$file_content);
 
 
  // Logout
 
  $OKMAuth->logout($token);
 
?>
 
</source>
 
 
<source lang="bash">
 
#!/bin/bash
 
# JOAKO Import 1.0.0 - Copyright 2011 Andrew Joakimsen
 
# Distributed under the terms of the GNU General Public
 
# License Version 2 and no future versions.
 
#
 
# Script to import files into OpenKM and report error/success.
 
# Requires the PHP import script written by snowman, with a
 
# few small tweaks.
 
 
###################################
 
###                            ###
 
###  C O N F I G U R A T I O N  ###
 
###                            ###
 
###################################
 
 
# OpenKM directory where files are imported to
 
OKM_IMPORT_DIR=NEW
 
 
# Filesystem directory (no trailing slash) where we put imported files (it will be created)
 
STORE_DIR=~/we-test
 
 
# Filesystem directory (no trailing slash) where we put files that encountered import errors
 
ERROR_STORE_DIR=~/error-test
 
 
####################################
 
# First let's see if the runtime condition is sane
 
if [ -z "$1" ]; then
 
    echo "JOAKO Import: Missing file name"
 
    echo "Usage: import.sh [filename] [target-directory]"
 
    exit 1
 
fi
 
 
# If ARG1 is a real file
 
if [ -d "$1" ]; then
 
    echo "ERROR: \"$1\" is a directory!"
 
    exit 1
 
fi
 
if [ ! -f "$1" ]; then
 
    echo "ERROR: \"$1\" Invalid file name "
 
    exit 1
 
else
 
    INFILE=$1
 
fi
 
 
# Check if OKM_IMPORT_DIR was passed as argument
 
if [ -z "$2" ]; then
 
    OKM_DIR=$OKM_IMPORT_DIR
 
else
 
    OKM_DIR=$2
 
fi
 
 
# Check if the imported files directory exsists
 
if [ ! -d $STORE_DIR/$OKM_DIR ]; then
 
    if [ ! -d ~/$STORE_DIR ]; then
 
        mkdir $STORE_DIR
 
    fi
 
    mkdir $STORE_DIR/$OKM_DIR
 
fi
 
 
# Run the import Process
 
RESULT=$(php /opt/openkm/import.php $INFILE ${INFILE##*/} $OKM_DIR 2>&1)
 
RESULTCODE=$?
 
 
# Deal with the consequences
 
function importer-error {
 
    # Check if the import error directory exsists
 
    if [ ! -d $ERROR_STORE_DIR/$OKM_DIR ]; then
 
        if [ ! -d $ERROR_STORE_DIR ]; then
 
            mkdir $ERROR_STORE_DIR
 
        fi
 
        mkdir $ERROR_STORE_DIR/$OKM_DIR
 
    fi
 
    echo "`date` JOAKO Import Encountered an error type $RESULTCODE."
 
    echo "$RESULT"
 
    mv $INFILE $ERROR_STORE_DIR/$OKM_DIR &> /dev/null
 
    exit $?
 
}
 
  
if [ $RESULTCODE -ne 0 ]; then # There was an error
 
    importer-error
 
else # We check further
 
    if [ -n "$RESULT" ]; then # There was an error
 
        importer-error
 
    else # No error detected
 
        echo "`date` JOAKO Import: Imported file [${INFILE##*/}] to [$OKM_DIR] directory"
 
        mv $INFILE $STORE_DIR/$OKM_DIR &> /dev/null
 
        exit 0
 
    fi
 
fi
 
</source>
 
  
 
[[Category: Utilities]]
 
[[Category: Utilities]]

Revision as of 11:23, 8 November 2012

These are OpenKM utilities created by the community.

Crontab Utilites

PHP Utilities

File upload