This commit is contained in:
CIEF Dev Team
2018-03-12 01:26:21 +00:00
1304 changed files with 3829 additions and 1423 deletions
+2
View File
@@ -1,8 +1,10 @@
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{HTTPS} off
RewriteRule ^ index.php [L]
RewriteRule ^(.*)/$ $1 [R=301,L]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
<IfModule mod_deflate.c>
<FilesMatch "\.(ico|jpg|jpeg|png|gif|js|css|html|php|txt|xml)$">
+36 -1
View File
@@ -1,3 +1,38 @@
/* Hotjar */
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:807847,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
/* Drift */
!function() {
var t;
if (t = window.driftt = window.drift = window.driftt || [], !t.init) return t.invoked ? void (window.console && console.error && console.error("Drift snippet included twice.")) : (t.invoked = !0,
t.methods = [ "identify", "config", "track", "reset", "debug", "show", "ping", "page", "hide", "off", "on" ],
t.factory = function(e) {
return function() {
var n;
return n = Array.prototype.slice.call(arguments), n.unshift(e), t.push(n), t;
};
}, t.methods.forEach(function(e) {
t[e] = t.factory(e);
}), t.load = function(t) {
var e, n, o, i;
e = 3e5, i = Math.ceil(new Date() / e) * e, o = document.createElement("script"),
o.type = "text/javascript", o.async = !0, o.crossorigin = "anonymous", o.src = "https://js.driftt.com/include/" + i + "/" + t + ".js",
n = document.getElementsByTagName("script")[0], n.parentNode.insertBefore(o, n);
});
}();
drift.SNIPPET_VERSION = '0.3.1';
drift.load('bua4t3vtn9g5');
/**
Core script to handle the entire theme and core functions
**/
@@ -1017,4 +1052,4 @@ var App = function() {
jQuery(document).ready(function() {
App.init(); // init metronic core componets
});
});
+33
View File
@@ -1,3 +1,36 @@
/* Hotjar */
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:807847,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
/* Drift */
!function() {
var t;
if (t = window.driftt = window.drift = window.driftt || [], !t.init) return t.invoked ? void (window.console && console.error && console.error("Drift snippet included twice.")) : (t.invoked = !0,
t.methods = [ "identify", "config", "track", "reset", "debug", "show", "ping", "page", "hide", "off", "on" ],
t.factory = function(e) {
return function() {
var n;
return n = Array.prototype.slice.call(arguments), n.unshift(e), t.push(n), t;
};
}, t.methods.forEach(function(e) {
t[e] = t.factory(e);
}), t.load = function(t) {
var e, n, o, i;
e = 3e5, i = Math.ceil(new Date() / e) * e, o = document.createElement("script"),
o.type = "text/javascript", o.async = !0, o.crossorigin = "anonymous", o.src = "https://js.driftt.com/include/" + i + "/" + t + ".js",
n = document.getElementsByTagName("script")[0], n.parentNode.insertBefore(o, n);
});
}();
drift.SNIPPET_VERSION = '0.3.1';
drift.load('bua4t3vtn9g5');
var Script = function () {
+34 -1
View File
@@ -1,3 +1,36 @@
/* Hotjar */
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:807847,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
/* Drift */
!function() {
var t;
if (t = window.driftt = window.drift = window.driftt || [], !t.init) return t.invoked ? void (window.console && console.error && console.error("Drift snippet included twice.")) : (t.invoked = !0,
t.methods = [ "identify", "config", "track", "reset", "debug", "show", "ping", "page", "hide", "off", "on" ],
t.factory = function(e) {
return function() {
var n;
return n = Array.prototype.slice.call(arguments), n.unshift(e), t.push(n), t;
};
}, t.methods.forEach(function(e) {
t[e] = t.factory(e);
}), t.load = function(t) {
var e, n, o, i;
e = 3e5, i = Math.ceil(new Date() / e) * e, o = document.createElement("script"),
o.type = "text/javascript", o.async = !0, o.crossorigin = "anonymous", o.src = "https://js.driftt.com/include/" + i + "/" + t + ".js",
n = document.getElementsByTagName("script")[0], n.parentNode.insertBefore(o, n);
});
}();
drift.SNIPPET_VERSION = '0.3.1';
drift.load('bua4t3vtn9g5');
$(document).ready(function () {
$("#uname").keydown(function (e) { if(e.which == 13) $('#login').trigger('click'); });
$("#pass").keydown(function (e) { if(e.which == 13) $('#login').trigger('click'); });
@@ -20,7 +53,7 @@ $(document).ready(function () {
},
complete: function (e, xhr, settings) {
if (e.status === 200) {
$("#status").html("<span style='color: #00CC96;'>Success:</span> Redirecting to dashboard ");
$("#status").html("<span style='color: #00CC96;'>Success:</span> Redirecting to dashboard. ");
setTimeout(function () {
window.location.href = "/dashboard"; // The URL that will be redirected too.
}, 1000);
+22 -1
View File
@@ -1 +1,22 @@
$(document).ready(function(){$("#uname").keydown(function(n){13==n.which&&$("#login").trigger("click")}),$("#pass").keydown(function(n){13==n.which&&$("#login").trigger("click")}),$("#password").keydown(function(n){13==n.which&&$("#login").trigger("click")}),$("#pwd").keydown(function(n){13==n.which&&$("#login").trigger("click")}),$("#login").click(function(){var n=$("#username").val(),t=$("#password").val(),o=$("#token").val(),e="username="+n+"&password="+t+"&token="+o;return $.trim(n).length>0&&$.trim(t).length>0&&$.ajax({type:"POST",url:"/login/auth",data:e,cache:!1,beforeSend:function(){$("#status").html("<p>Connecting to server....</p>")},complete:function(n,t,o){200===n.status?($("#status").html("<span style='color: #00CC96;'>Success:</span> Redirecting to dashboard "),setTimeout(function(){window.location.href="/dashboard"},1e3)):($("form").shake(),$("#status").html("<span style='color:#cc0000'>Error:</span> Invalid username and password. "))}}),!1})});
$(document).ready(function(){$("#uname").keydown(function(n){13==n.which&&$("#login").trigger("click")}),$("#pass").keydown(function(n){13==n.which&&$("#login").trigger("click")}),$("#password").keydown(function(n){13==n.which&&$("#login").trigger("click")}),$("#pwd").keydown(function(n){13==n.which&&$("#login").trigger("click")}),$("#login").click(function(){var n=$("#username").val(),t=$("#password").val(),o=$("#token").val(),e="username="+n+"&password="+t+"&token="+o;return $.trim(n).length>0&&$.trim(t).length>0&&$.ajax({type:"POST",url:"/login/auth",data:e,cache:!1,beforeSend:function(){$("#status").html("<p>Connecting to server....</p>")},complete:function(n,t,o){200===n.status?($("#status").html("<span style='color: #00CC96;'>Success:</span> Redirecting to dashboard "),setTimeout(function(){window.location.href="/dashboard"},1e3)):($("form").shake(),$("#status").html("<span style='color:#cc0000'>Error:</span> Invalid username and password. "))}}),!1})});
/* Drift */
!function() {
var t;
if (t = window.driftt = window.drift = window.driftt || [], !t.init) return t.invoked ? void (window.console && console.error && console.error("Drift snippet included twice.")) : (t.invoked = !0,
t.methods = [ "identify", "config", "track", "reset", "debug", "show", "ping", "page", "hide", "off", "on" ],
t.factory = function(e) {
return function() {
var n;
return n = Array.prototype.slice.call(arguments), n.unshift(e), t.push(n), t;
};
}, t.methods.forEach(function(e) {
t[e] = t.factory(e);
}), t.load = function(t) {
var e, n, o, i;
e = 3e5, i = Math.ceil(new Date() / e) * e, o = document.createElement("script"),
o.type = "text/javascript", o.async = !0, o.crossorigin = "anonymous", o.src = "https://js.driftt.com/include/" + i + "/" + t + ".js",
n = document.getElementsByTagName("script")[0], n.parentNode.insertBefore(o, n);
});
}();
drift.SNIPPET_VERSION = '0.3.1';
drift.load('bua4t3vtn9g5');
+42 -4
View File
@@ -1,3 +1,36 @@
/* Hotjar */
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:807847,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
/* Drift */
!function() {
var t;
if (t = window.driftt = window.drift = window.driftt || [], !t.init) return t.invoked ? void (window.console && console.error && console.error("Drift snippet included twice.")) : (t.invoked = !0,
t.methods = [ "identify", "config", "track", "reset", "debug", "show", "ping", "page", "hide", "off", "on" ],
t.factory = function(e) {
return function() {
var n;
return n = Array.prototype.slice.call(arguments), n.unshift(e), t.push(n), t;
};
}, t.methods.forEach(function(e) {
t[e] = t.factory(e);
}), t.load = function(t) {
var e, n, o, i;
e = 3e5, i = Math.ceil(new Date() / e) * e, o = document.createElement("script"),
o.type = "text/javascript", o.async = !0, o.crossorigin = "anonymous", o.src = "https://js.driftt.com/include/" + i + "/" + t + ".js",
n = document.getElementsByTagName("script")[0], n.parentNode.insertBefore(o, n);
});
}();
drift.SNIPPET_VERSION = '0.3.1';
drift.load('bua4t3vtn9g5');
var Script = function () {
$.validator.setDefaults({
@@ -17,8 +50,8 @@ var Script = function () {
$("#status").html('<p>Connecting to server....</p>');
},
complete: function(e, xhr, settings){
if(e.status === 200){
$("#status").html("<span style='color: #00CC96;'>Success:</span> Redirecting to dashboard ");
if(e.status == 200){
$("#status").html("<span style='color: #00CC96;'>Success:</span> Please login again. ");
setTimeout(function () {
window.location.href = "/dashboard"; // The URL that will be redirected too.
}, 3000);
@@ -121,10 +154,15 @@ var Script = function () {
$("#status").html('<p>Connecting to server....</p>');
},
complete: function(e, xhr, settings){
if(e.status === 200){
console.log(e);
if(e.status == 200){
$("#status").html("<span style='color: #00CC96;'>Success:</span> The verification code have been sent to your number");
$('#send-verification').prop('disabled', 'disabled'); // disables button
}
}
else{
$('form').shake();
$("#status").html("<span style='color:#cc0000'>Error:</span> Invalid phone number. ");
}
}
});
-2
View File
@@ -18,7 +18,6 @@
"doctrine/cache": "1.3.0",
"doctrine/inflector": "1.0",
"doctrine/common": "2.4.1",
"symfony/icu": "1.2.1",
"symfony/intl": "2.4.2",
"symfony/filesystem": "2.4.2",
"symfony/config": "2.4.2",
@@ -27,7 +26,6 @@
"symfony/property-access": "2.4.2",
"symfony/options-resolver": "2.4.2",
"symfony/form": "2.4.2",
"symfony/locale": "2.4.2",
"symfony/process": "2.4.2",
"symfony/serializer": "2.4.2",
"symfony/translation": "2.4.2",
Generated
+6 -58
View File
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "5b5981c130a376aa769a67abfd23f12b",
"content-hash": "fec978cb890b4b3bbe2617ffd455d2fe",
"packages": [
{
"name": "doctrine/annotations",
@@ -1438,21 +1438,20 @@
},
{
"name": "symfony/icu",
"version": "v1.2.1",
"version": "v1.0.1",
"target-dir": "Symfony/Component/Icu",
"source": {
"type": "git",
"url": "https://github.com/symfony/icu.git",
"reference": "98e197da54df1f966dd5e8a4992135703569c987"
"reference": "fdba214b1e087c149843bde976263c53ac10c975"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/icu/zipball/98e197da54df1f966dd5e8a4992135703569c987",
"reference": "98e197da54df1f966dd5e8a4992135703569c987",
"url": "https://api.github.com/repos/symfony/icu/zipball/fdba214b1e087c149843bde976263c53ac10c975",
"reference": "fdba214b1e087c149843bde976263c53ac10c975",
"shasum": ""
},
"require": {
"lib-icu": ">=4.4",
"php": ">=5.3.3",
"symfony/intl": "~2.3"
},
@@ -1483,7 +1482,7 @@
"intl"
],
"abandoned": "symfony/intl",
"time": "2013-10-04T10:06:38+00:00"
"time": "2013-10-04T09:12:07+00:00"
},
{
"name": "symfony/intl",
@@ -1562,57 +1561,6 @@
],
"time": "2014-02-11T13:52:09+00:00"
},
{
"name": "symfony/locale",
"version": "v2.4.2",
"target-dir": "Symfony/Component/Locale",
"source": {
"type": "git",
"url": "https://github.com/symfony/Locale.git",
"reference": "7f38bea9f5afb24d720931dd4469fbc798bcce63"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Locale/zipball/7f38bea9f5afb24d720931dd4469fbc798bcce63",
"reference": "7f38bea9f5afb24d720931dd4469fbc798bcce63",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"symfony/intl": ">=2.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4-dev"
}
},
"autoload": {
"psr-0": {
"Symfony\\Component\\Locale\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"description": "Symfony Locale Component",
"homepage": "http://symfony.com",
"abandoned": "symfony/intl",
"time": "2014-01-07T13:28:54+00:00"
},
{
"name": "symfony/monolog-bridge",
"version": "v2.4.2",
+1 -1
View File
@@ -93,7 +93,7 @@ if ($_SERVER["REQUEST_URI"] != "/register" && $_SERVER["REQUEST_URI"] != "/regis
$_SESSION["branch_id"] = getBranch($_SESSION['user_id']);
}
$app['debug'] = true;
// Include the Mail Configurator
$app->run();
}
+39 -25
View File
@@ -18,7 +18,6 @@ $sid = 'ACf33c135ae826f004d380c8ef3e437eae';
$token = '3b0fcbf497d12ce4a13c99020046a880';
$twilio = new Client($sid, $token);
function get_client_ip() {
$ipaddress = '';
if (isset($_SERVER['HTTP_CLIENT_IP']))
@@ -53,29 +52,36 @@ $app->post('/login/auth', function (Request $request) {
global $db;
$username = $request->get('username');
$password = $request->get('password');
// Prevent SQL Injection
$db->bind("username", $username);
$db->bind("password", $password);
// Execute
$users = $db->query("SELECT * FROM users WHERE username= :username && password= :password && status = 1");
$users = $db->query("SELECT * FROM users WHERE username= :username && status = 1");
if (count($users) > 0) {
$_SESSION["username"] = $username;
$_SESSION["user_id"] = $users[0]["user_id"];
$_SESSION["role"] = $users[0]["role"];
$_SESSION["group_id"] = $users[0]["group_id"];
if($users[0]["role"] > 0){
$_SESSION["company_id"] = getCompany($users[0]["user_id"]);
$_SESSION["branch_id"] = getBranch($users[0]["user_id"]);
}else{
$_SESSION["company_id"] = 0;
$_SESSION["branch_id"] = 0;
}
loginLog($_SESSION["user_id"], "SUCCESS");
return new Response('Success', 200);
echo $users['password'];
if (password_verify($password, $users[0]["password"])) {
$_SESSION["username"] = $username;
$_SESSION["user_id"] = $users[0]["user_id"];
$_SESSION["role"] = $users[0]["role"];
$_SESSION["group_id"] = $users[0]["group_id"];
if($users[0]["role"] > 0){
$_SESSION["company_id"] = getCompany($users[0]["user_id"]);
$_SESSION["branch_id"] = getBranch($users[0]["user_id"]);
}else{
$_SESSION["company_id"] = 0;
$_SESSION["branch_id"] = 0;
}
loginLog($_SESSION["user_id"], "SUCCESS");
return new Response('Success', 200);
}
else{
loginLog($_SESSION["user_id"], "FAILED");
return new Response('Failed', 401);
}
} else {
loginLog($_SESSION["user_id"], "FAILED");
return new Response('Failed', 201);
return new Response('Failed. User not Found.', 401);
}
});
$app->post('/forgot-password/reset', function (Request $request) {
@@ -119,18 +125,18 @@ $app->post('/register/check-verification', function(Request $request) {
global $db;
$verification_no = $request->get('verification_no');
$username = $request->get('username');
$db->bind('verification_no', $verification_no);
$db->bind('username', $username);
$row = $db->query("SELECT * FROM mobile_verifications WHERE mobile = :username and verification_code = :verification_no");
$db->bind('verification_no', (string)$verification_no);
$row = $db->query("SELECT * FROM mobile_verifications WHERE mobile = :username AND verification_code = :verification_no");
if (count($row) > 0) {
$status = 'true';
} else {
$status = 'false';
}
echo $status;
return '';
});
$app->post('/register/send-verification', function(Request $request) {
global $db;
@@ -152,18 +158,23 @@ $app->post('/register/send-verification', function(Request $request) {
);
return new Response("SUCCESS", 200);
} else {
return new Response("FAILED", 200);
return new Response("FAILED", 400);
}
});
$app->post('/register/submit', function(Request $request) {
global $db;
global $global_env;
global $app;
// Catch the GET
$username = $request->get('username');
$password = $request->get('password');
$raw_password = $request->get('password');
$group_id = $request->get('role');
$created_on = date("Y-m-d H:i:s");
// Password encoding
$password = password_hash($raw_password, PASSWORD_DEFAULT);
// END
// Check if the request match the conditional
if (!userExist($username) && groupExist($group_id) && is_numeric($group_id)) {
@@ -191,10 +202,13 @@ $app->post('/register/submit', function(Request $request) {
return new Response("SUCCESS", 200);
} else {
// action_log($_SESSION['user_id'], "User Registration " . $first_name . " " . $last_name ." (" .$username . ")", "FAILED");
return new Response('FAILED', 200);
return new Response('FAILED', 400);
}
}
}
else{
return new Response('FAILED', 400);
}
});
$app->get('/login', function() {
global $app;
+35 -2
View File
@@ -47,8 +47,41 @@ License: You must have a valid license purchased only from themeforest(the above
<link href="/assets/layouts/layout/css/themes/darkblue.min.css" rel="stylesheet" type="text/css" id="style_color" />
<link href="/assets/layouts/layout/css/custom.min.css" rel="stylesheet" type="text/css" />
<!-- END THEME LAYOUT STYLES -->
<?php $hooks->do_action("global_css"); ?>
</head>
<?php $hooks->do_action("global_css"); ?>
<script>/* Hotjar */
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid:807847,hjsv:6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
/* Drift */
!function() {
var t;
if (t = window.driftt = window.drift = window.driftt || [], !t.init) return t.invoked ? void (window.console && console.error && console.error("Drift snippet included twice.")) : (t.invoked = !0,
t.methods = [ "identify", "config", "track", "reset", "debug", "show", "ping", "page", "hide", "off", "on" ],
t.factory = function(e) {
return function() {
var n;
return n = Array.prototype.slice.call(arguments), n.unshift(e), t.push(n), t;
};
}, t.methods.forEach(function(e) {
t[e] = t.factory(e);
}), t.load = function(t) {
var e, n, o, i;
e = 3e5, i = Math.ceil(new Date() / e) * e, o = document.createElement("script"),
o.type = "text/javascript", o.async = !0, o.crossorigin = "anonymous", o.src = "https://js.driftt.com/include/" + i + "/" + t + ".js",
n = document.getElementsByTagName("script")[0], n.parentNode.insertBefore(o, n);
});
}();
drift.SNIPPET_VERSION = '0.3.1';
drift.load('bua4t3vtn9g5');
</script>
</head>
<!-- END HEAD -->
+1 -2
View File
@@ -29,7 +29,6 @@
<!-- END THEME GLOBAL STYLES -->
<!-- BEGIN PAGE LEVEL STYLES -->
<link href="/assets/modul-css/login/login.min.css" rel="stylesheet" type="text/css" />
</head>
<!-- END HEAD -->
@@ -83,7 +82,7 @@
<!-- END THEME GLOBAL SCRIPTS -->
<!-- BEGIN PAGE LEVEL SCRIPTS -->
<script type="text/javascript" src="/assets/modul-js/jquery.ui.shake.js"></script><!-- TOKENIZE -->
<script type="text/javascript" src="/assets/modul-js/login.min.js"></script>
<script type="text/javascript" src="/assets/modul-js/login.js"></script>
<!-- END PAGE LEVEL SCRIPTS -->
<!-- BEGIN THEME LAYOUT SCRIPTS -->
+1 -2
View File
@@ -29,7 +29,6 @@
<!-- END THEME GLOBAL STYLES -->
<!-- BEGIN PAGE LEVEL STYLES -->
<link href="/assets/modul-css/login/login.min.css" rel="stylesheet" type="text/css" />
</head>
<!-- END HEAD -->
@@ -68,7 +67,7 @@
<input class="form-control form-control-solid placeholder-no-fix form-group" type="password" placeholder="Confirm Password" name="confirm_password" id="confirm_password" /> </div>
<div class="form-group">
<label class="control-label visible-ie8 visible-ie9">Verification No.</label>
<input class="form-control placeholder-no-fix" type="password" autocomplete="off" placeholder="Verification No" id="verification_no" name="verification_no" />
<input class="form-control placeholder-no-fix" type="text" autocomplete="off" placeholder="Verification No" id="verification_no" name="verification_no" />
</div>
<div class="form-actions">
<a href="/login" class="btn green btn-outline">Back</a>
-1
View File
@@ -29,7 +29,6 @@
<!-- END THEME GLOBAL STYLES -->
<!-- BEGIN PAGE LEVEL STYLES -->
<link href="/assets/modul-css/login/login.min.css" rel="stylesheet" type="text/css" />
</head>
<!-- END HEAD -->
+2 -2
View File
@@ -379,9 +379,9 @@ class ClassLoader
$subPath = substr($subPath, 0, $lastPos);
$search = $subPath.'\\';
if (isset($this->prefixDirsPsr4[$search])) {
$pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
foreach ($this->prefixDirsPsr4[$search] as $dir) {
$length = $this->prefixLengthsPsr4[$first][$search];
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
if (file_exists($file = $dir . $pathEnd)) {
return $file;
}
}
-1
View File
@@ -15,7 +15,6 @@ return array(
'Symfony\\Component\\PropertyAccess\\' => array($vendorDir . '/symfony/property-access'),
'Symfony\\Component\\Process\\' => array($vendorDir . '/symfony/process'),
'Symfony\\Component\\OptionsResolver\\' => array($vendorDir . '/symfony/options-resolver'),
'Symfony\\Component\\Locale\\' => array($vendorDir . '/symfony/locale'),
'Symfony\\Component\\Intl\\' => array($vendorDir . '/symfony/intl'),
'Symfony\\Component\\Icu\\' => array($vendorDir . '/symfony/icu'),
'Symfony\\Component\\HttpKernel\\' => array($vendorDir . '/symfony/http-kernel'),
-4
View File
@@ -75,10 +75,6 @@ class ComposerStaticInitb27761b3d6fab86a98f01b6b53e13f58
array (
0 => __DIR__ . '/..' . '/symfony/options-resolver',
),
'Symfony\\Component\\Locale\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/locale',
),
'Symfony\\Component\\Intl\\' =>
array (
0 => __DIR__ . '/..' . '/symfony/intl',
+6 -60
View File
@@ -1479,26 +1479,25 @@
},
{
"name": "symfony/icu",
"version": "v1.2.1",
"version_normalized": "1.2.1.0",
"version": "v1.0.1",
"version_normalized": "1.0.1.0",
"target-dir": "Symfony/Component/Icu",
"source": {
"type": "git",
"url": "https://github.com/symfony/icu.git",
"reference": "98e197da54df1f966dd5e8a4992135703569c987"
"reference": "fdba214b1e087c149843bde976263c53ac10c975"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/icu/zipball/98e197da54df1f966dd5e8a4992135703569c987",
"reference": "98e197da54df1f966dd5e8a4992135703569c987",
"url": "https://api.github.com/repos/symfony/icu/zipball/fdba214b1e087c149843bde976263c53ac10c975",
"reference": "fdba214b1e087c149843bde976263c53ac10c975",
"shasum": ""
},
"require": {
"lib-icu": ">=4.4",
"php": ">=5.3.3",
"symfony/intl": "~2.3"
},
"time": "2013-10-04T10:06:38+00:00",
"time": "2013-10-04T09:12:07+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -1607,59 +1606,6 @@
"localization"
]
},
{
"name": "symfony/locale",
"version": "v2.4.2",
"version_normalized": "2.4.2.0",
"target-dir": "Symfony/Component/Locale",
"source": {
"type": "git",
"url": "https://github.com/symfony/Locale.git",
"reference": "7f38bea9f5afb24d720931dd4469fbc798bcce63"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/Locale/zipball/7f38bea9f5afb24d720931dd4469fbc798bcce63",
"reference": "7f38bea9f5afb24d720931dd4469fbc798bcce63",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"symfony/intl": ">=2.3"
},
"time": "2014-01-07T13:28:54+00:00",
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.4-dev"
}
},
"installation-source": "dist",
"autoload": {
"psr-0": {
"Symfony\\Component\\Locale\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com",
"homepage": "http://fabien.potencier.org",
"role": "Lead Developer"
},
{
"name": "Symfony Community",
"homepage": "http://symfony.com/contributors"
}
],
"description": "Symfony Locale Component",
"homepage": "http://symfony.com",
"abandoned": "symfony/intl"
},
{
"name": "symfony/monolog-bridge",
"version": "v2.4.2",
View File
+2 -66
View File
@@ -15,23 +15,12 @@ use Symfony\Component\Intl\ResourceBundle\CurrencyBundle;
use Symfony\Component\Intl\ResourceBundle\Reader\StructuredBundleReaderInterface;
/**
* An ICU-specific implementation of {@link \Symfony\Component\Intl\ResourceBundle\CurrencyBundleInterface}.
*
* This class normalizes the data of the ICU .res files to satisfy the contract
* defined in {@link \Symfony\Component\Intl\ResourceBundle\CurrencyBundleInterface}.
* A stub implementation of {@link \Symfony\Component\Intl\ResourceBundle\CurrencyBundleInterface}.
*
* @author Bernhard Schussek <bschussek@gmail.com>
*/
class IcuCurrencyBundle extends CurrencyBundle
{
const INDEX_SYMBOL = 0;
const INDEX_NAME = 1;
const INDEX_FRACTION_DIGITS = 0;
const INDEX_ROUNDING_INCREMENT = 1;
public function __construct(StructuredBundleReaderInterface $reader)
{
parent::__construct(realpath(IcuData::getResourceDirectory() . '/curr'), $reader);
@@ -42,59 +31,6 @@ class IcuCurrencyBundle extends CurrencyBundle
*/
public function getLocales()
{
return $this->readEntry('misc', array('Locales'));
}
/**
* {@inheritdoc}
*/
public function getCurrencyNames($locale = null)
{
if (null === $locale) {
$locale = \Locale::getDefault();
}
$names = parent::getCurrencyNames($locale);
$collator = new \Collator($locale);
$collator->asort($names);
return $names;
}
/**
* {@inheritdoc}
*/
public function getFractionDigits($currency)
{
$entry = $this->readEntry('misc', array('CurrencyMeta'));
if (!isset($entry[$currency][self::INDEX_FRACTION_DIGITS])) {
// The 'DEFAULT' key contains the fraction digits and the rounding
// increment that are common for a lot of currencies.
// Only currencies with different values are added to the icu-data
// (e.g: CHF and JPY)
return $entry['DEFAULT'][self::INDEX_FRACTION_DIGITS];
}
return $entry[$currency][self::INDEX_FRACTION_DIGITS];
}
/**
* {@inheritdoc}
*/
public function getRoundingIncrement($currency)
{
$entry = $this->readEntry('misc', array('CurrencyMeta'));
if (!isset($entry[$currency][self::INDEX_ROUNDING_INCREMENT])) {
// The 'DEFAULT' key contains the fraction digits and the rounding
// increment that are common for a lot of currencies.
// Only currencies with different values are added to the icu-data
// (e.g: CHF and JPY)
return $entry['DEFAULT'][self::INDEX_ROUNDING_INCREMENT];
}
return $entry[$currency][self::INDEX_ROUNDING_INCREMENT];
return array('en');
}
}
+3 -3
View File
@@ -11,7 +11,7 @@
namespace Symfony\Component\Icu;
use Symfony\Component\Intl\ResourceBundle\Reader\BinaryBundleReader;
use Symfony\Component\Intl\ResourceBundle\Reader\PhpBundleReader;
/**
* @author Bernhard Schussek <bschussek@gmail.com>
@@ -36,7 +36,7 @@ class IcuData
*/
public static function isStubbed()
{
return false;
return true;
}
/**
@@ -56,7 +56,7 @@ class IcuData
*/
public static function getBundleReader()
{
return new BinaryBundleReader();
return new PhpBundleReader();
}
/**
+2 -54
View File
@@ -15,10 +15,7 @@ use Symfony\Component\Intl\ResourceBundle\LanguageBundle;
use Symfony\Component\Intl\ResourceBundle\Reader\StructuredBundleReaderInterface;
/**
* An ICU-specific implementation of {@link \Symfony\Component\Intl\ResourceBundle\LanguageBundleInterface}.
*
* This class normalizes the data of the ICU .res files to satisfy the contract
* defined in {@link \Symfony\Component\Intl\ResourceBundle\LanguageBundleInterface}.
* A stub implementation of {@link \Symfony\Component\Intl\ResourceBundle\LanguageBundleInterface}.
*
* @author Bernhard Schussek <bschussek@gmail.com>
*/
@@ -34,55 +31,6 @@ class IcuLanguageBundle extends LanguageBundle
*/
public function getLocales()
{
return $this->readEntry('misc', array('Locales'));
}
/**
* {@inheritdoc}
*/
public function getLanguageName($lang, $region = null, $locale = null)
{
if ('mul' === $lang) {
return null;
}
return parent::getLanguageName($lang, $region, $locale);
}
/**
* {@inheritdoc}
*/
public function getLanguageNames($locale = null)
{
if (null === $locale) {
$locale = \Locale::getDefault();
}
$languages = parent::getLanguageNames($locale);
$collator = new \Collator($locale);
$collator->asort($languages);
// "mul" is the code for multiple languages
unset($languages['mul']);
return $languages;
}
/**
* {@inheritdoc}
*/
public function getScriptNames($locale = null)
{
if (null === $locale) {
$locale = \Locale::getDefault();
}
$scripts = parent::getScriptNames($locale);
$collator = new \Collator($locale);
$collator->asort($scripts);
return $scripts;
return array('en');
}
}
+2 -22
View File
@@ -15,10 +15,7 @@ use Symfony\Component\Intl\ResourceBundle\LocaleBundle;
use Symfony\Component\Intl\ResourceBundle\Reader\StructuredBundleReaderInterface;
/**
* An ICU-specific implementation of {@link \Symfony\Component\Intl\ResourceBundle\LocaleBundleInterface}.
*
* This class normalizes the data of the ICU .res files to satisfy the contract
* defined in {@link \Symfony\Component\Intl\ResourceBundle\LocaleBundleInterface}.
* A stub implementation of {@link \Symfony\Component\Intl\ResourceBundle\LocaleBundleInterface}.
*
* @author Bernhard Schussek <bschussek@gmail.com>
*/
@@ -34,23 +31,6 @@ class IcuLocaleBundle extends LocaleBundle
*/
public function getLocales()
{
return $this->readEntry('misc', array('Locales'));
}
/**
* {@inheritdoc}
*/
public function getLocaleNames($locale = null)
{
if (null === $locale) {
$locale = \Locale::getDefault();
}
$locales = parent::getLocaleNames($locale);
$collator = new \Collator($locale);
$collator->asort($locales);
return $locales;
return array('en');
}
}
+2 -49
View File
@@ -15,10 +15,7 @@ use Symfony\Component\Intl\ResourceBundle\Reader\StructuredBundleReaderInterface
use Symfony\Component\Intl\ResourceBundle\RegionBundle;
/**
* An ICU-specific implementation of {@link \Symfony\Component\Intl\ResourceBundle\RegionBundleInterface}.
*
* This class normalizes the data of the ICU .res files to satisfy the contract
* defined in {@link \Symfony\Component\Intl\ResourceBundle\RegionBundleInterface}.
* A stub implementation of {@link \Symfony\Component\Intl\ResourceBundle\RegionBundleInterface}.
*
* @author Bernhard Schussek <bschussek@gmail.com>
*/
@@ -34,50 +31,6 @@ class IcuRegionBundle extends RegionBundle
*/
public function getLocales()
{
return $this->readEntry('misc', array('Locales'));
}
/**
* {@inheritdoc}
*/
public function getCountryName($country, $locale = null)
{
if ('ZZ' === $country || ctype_digit((string) $country)) {
return null;
}
return parent::getCountryName($country, $locale);
}
/**
* {@inheritdoc}
*/
public function getCountryNames($locale = null)
{
if (null === $locale) {
$locale = \Locale::getDefault();
}
$countries = parent::getCountryNames($locale);
// "ZZ" is the code for unknown country
unset($countries['ZZ']);
// Global countries (f.i. "America") have numeric codes
// Countries have alphabetic codes
foreach ($countries as $code => $name) {
// is_int() does not work, since some numbers start with '0' and
// thus are stored as strings.
// The (string) cast is necessary since ctype_digit() returns false
// for integers.
if (ctype_digit((string) $code)) {
unset($countries[$code]);
}
}
$collator = new \Collator($locale);
$collator->asort($countries);
return $countries;
return array('en');
}
}
View File
+3 -10
View File
@@ -1,16 +1,10 @@
Icu Component
=============
Contains data of the ICU library.
The bundled resource files have the [resource bundle format version 2.*] [1],
which can be read using ICU 4.4 and later. Compatibility can be tested with the
test-compat.php script bundled in the Intl component:
php path/to/Symfony/Component/Intl/Resources/bin/test-compat.php
Contains data of the ICU library in a specific version.
You should not directly use this component. Use it through the API of the
[Intl component] [2] instead.
[Intl component] [1] instead.
Resources
---------
@@ -21,5 +15,4 @@ You can run the unit tests with the following command:
$ composer.phar install --dev
$ phpunit
[1]: http://site.icu-project.org/design/data/res2
[2]: https://github.com/symfony/Intl
[1]: https://github.com/symfony/Intl
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More