Files
faveo/app/Http/Controllers/Utility/LibraryController.php
Sujit Prasad ffa56a43cb update v1.0.7.9 R.C.
This is a Release Candidate. We are still testing.
2016-08-03 20:04:36 +05:30

96 lines
2.8 KiB
PHP

<?php
namespace App\Http\Controllers\Utility;
use App\Http\Controllers\Controller;
use Config;
use Exception;
use Schema;
class LibraryController extends Controller {
public static function getFileVersion() {
try {
$app = Config::get('app.version');
if ($app) {
return preg_replace('/[^0-9,.]/', '', $app);
} else {
return 0;
}
} catch (Exception $ex) {
return 0;
}
}
public static function getDatabaseVersion() {
try {
$database = self::isDatabaseSetup();
if ($database == true) {
if (Schema::hasColumn('settings_system', 'version')) {
return \DB::table('settings_system')->where('id', '=', '1')->first()->version;
} else {
return 0;
}
} else {
return 0;
}
} catch (Exception $ex) {
return 0;
}
}
public static function isDatabaseSetup() {
try {
if (Schema::hasTable('settings_system')) {
return true;
}
} catch (Exception $e) {
return false;
}
}
public static function encryptByFaveoPublicKey($data) {
try {
$path = storage_path() . DIRECTORY_SEPARATOR . 'app' . DIRECTORY_SEPARATOR . 'public.key';
//dd($path);
$key_content = file_get_contents($path);
$public_key = openssl_get_publickey($key_content);
$encrypted = $e = NULL;
openssl_seal($data, $encrypted, $e, array($public_key));
$sealed_data = base64_encode($encrypted);
$envelope = base64_encode($e[0]);
$result = ['seal' => $sealed_data, 'envelope' => $envelope];
return json_encode($result);
} catch (Exception $ex) {
throw new Exception($ex->getMessage());
}
}
public static function decryptByFaveoPrivateKey($encrypted) {
try {
$encrypted = json_decode($encrypted);
$sealed_data = $encrypted->seal;
$envelope = $encrypted->envelope;
$input = base64_decode($sealed_data);
$einput = base64_decode($envelope);
$path = storage_path('app' . DIRECTORY_SEPARATOR . 'private.key');
$key_content = file_get_contents($path);
$private_key = openssl_get_privatekey($key_content);
$plaintext = NULL;
openssl_open($input, $plaintext, $einput, $private_key);
return $plaintext;
} catch (Exception $ex) {
// dd($ex);
}
}
public static function _isCurl() {
return function_exists('curl_version');
}
}