forked from Wavyzz/dolibarr
code syntax core directory
This commit is contained in:
@@ -24,14 +24,28 @@
|
||||
|
||||
//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER', '1'); // Not disabled cause need to load personalized language
|
||||
//if (! defined('NOREQUIREDB')) define('NOREQUIREDB', '1');
|
||||
if (!defined('NOREQUIRESOC')) define('NOREQUIRESOC', '1');
|
||||
if (!defined('NOREQUIRESOC')) {
|
||||
define('NOREQUIRESOC', '1');
|
||||
}
|
||||
//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN', '1'); // Not disabled cause need to do translations
|
||||
if (!defined('NOCSRFCHECK')) define('NOCSRFCHECK', 1);
|
||||
if (!defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL', 1);
|
||||
if (!defined('NOLOGIN')) define('NOLOGIN', 1);
|
||||
if (!defined('NOREQUIREMENU')) define('NOREQUIREMENU', 1);
|
||||
if (!defined('NOREQUIREHTML')) define('NOREQUIREHTML', 1);
|
||||
if (!defined('NOREQUIREAJAX')) define('NOREQUIREAJAX', '1');
|
||||
if (!defined('NOCSRFCHECK')) {
|
||||
define('NOCSRFCHECK', 1);
|
||||
}
|
||||
if (!defined('NOTOKENRENEWAL')) {
|
||||
define('NOTOKENRENEWAL', 1);
|
||||
}
|
||||
if (!defined('NOLOGIN')) {
|
||||
define('NOLOGIN', 1);
|
||||
}
|
||||
if (!defined('NOREQUIREMENU')) {
|
||||
define('NOREQUIREMENU', 1);
|
||||
}
|
||||
if (!defined('NOREQUIREHTML')) {
|
||||
define('NOREQUIREHTML', 1);
|
||||
}
|
||||
if (!defined('NOREQUIREAJAX')) {
|
||||
define('NOREQUIREAJAX', '1');
|
||||
}
|
||||
|
||||
session_cache_limiter('public');
|
||||
|
||||
@@ -40,133 +54,136 @@ require_once '../../main.inc.php';
|
||||
// Define javascript type
|
||||
top_httphead('text/javascript; charset=UTF-8');
|
||||
// Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access.
|
||||
if (empty($dolibarr_nocache)) header('Cache-Control: max-age=10800, public, must-revalidate');
|
||||
else header('Cache-Control: no-cache');
|
||||
if (empty($dolibarr_nocache)) {
|
||||
header('Cache-Control: max-age=10800, public, must-revalidate');
|
||||
} else {
|
||||
header('Cache-Control: no-cache');
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
function get_avatar_from_service(service, userid, size) {
|
||||
// this return the url that redirects to the according user image/avatar/profile picture
|
||||
// implemented services: google profiles, facebook, gravatar, twitter, tumblr, default fallback
|
||||
// for google use get_avatar_from_service('google', profile-name or user-id , size-in-px )
|
||||
// for facebook use get_avatar_from_service('facebook', vanity url or user-id , size-in-px or size-as-word )
|
||||
// for gravatar use get_avatar_from_service('gravatar', md5 hash email@adress, size-in-px )
|
||||
// for twitter use get_avatar_from_service('twitter', username, size-in-px or size-as-word )
|
||||
// for tumblr use get_avatar_from_service('tumblr', blog-url, size-in-px )
|
||||
// everything else will go to the fallback
|
||||
// google and gravatar scale the avatar to any site, others will guided to the next best version
|
||||
var url = '';
|
||||
// this return the url that redirects to the according user image/avatar/profile picture
|
||||
// implemented services: google profiles, facebook, gravatar, twitter, tumblr, default fallback
|
||||
// for google use get_avatar_from_service('google', profile-name or user-id , size-in-px )
|
||||
// for facebook use get_avatar_from_service('facebook', vanity url or user-id , size-in-px or size-as-word )
|
||||
// for gravatar use get_avatar_from_service('gravatar', md5 hash email@adress, size-in-px )
|
||||
// for twitter use get_avatar_from_service('twitter', username, size-in-px or size-as-word )
|
||||
// for tumblr use get_avatar_from_service('tumblr', blog-url, size-in-px )
|
||||
// everything else will go to the fallback
|
||||
// google and gravatar scale the avatar to any site, others will guided to the next best version
|
||||
var url = '';
|
||||
|
||||
switch (service) {
|
||||
switch (service) {
|
||||
|
||||
case "google":
|
||||
// see http://googlesystem.blogspot.com/2011/03/unedited-google-profile-pictures.html (couldn't find a better link)
|
||||
// available sizes: all, google rescales for you
|
||||
url = "http://profiles.google.com/s2/photos/profile/" + userid + "?sz=" + size;
|
||||
break;
|
||||
case "google":
|
||||
// see http://googlesystem.blogspot.com/2011/03/unedited-google-profile-pictures.html (couldn't find a better link)
|
||||
// available sizes: all, google rescales for you
|
||||
url = "http://profiles.google.com/s2/photos/profile/" + userid + "?sz=" + size;
|
||||
break;
|
||||
|
||||
case "facebook":
|
||||
// see https://developers.facebook.com/docs/reference/api/
|
||||
// available sizes: square (50x50), small (50xH) , normal (100xH), large (200xH)
|
||||
var sizeparam = '';
|
||||
if (isNumberOrNot(size)) {
|
||||
if (size >= 200) {
|
||||
sizeparam = 'large'
|
||||
};
|
||||
if (size >= 100 && size < 200) {
|
||||
sizeparam = 'normal'
|
||||
};
|
||||
if (size >= 50 && size < 100) {
|
||||
sizeparam = 'small'
|
||||
};
|
||||
if (size < 50) {
|
||||
sizeparam = 'square'
|
||||
};
|
||||
} else {
|
||||
sizeparam = size;
|
||||
}
|
||||
url = "https://graph.facebook.com/" + userid + "/picture?type=" + sizeparam;
|
||||
break;
|
||||
case "facebook":
|
||||
// see https://developers.facebook.com/docs/reference/api/
|
||||
// available sizes: square (50x50), small (50xH) , normal (100xH), large (200xH)
|
||||
var sizeparam = '';
|
||||
if (isNumberOrNot(size)) {
|
||||
if (size >= 200) {
|
||||
sizeparam = 'large'
|
||||
};
|
||||
if (size >= 100 && size < 200) {
|
||||
sizeparam = 'normal'
|
||||
};
|
||||
if (size >= 50 && size < 100) {
|
||||
sizeparam = 'small'
|
||||
};
|
||||
if (size < 50) {
|
||||
sizeparam = 'square'
|
||||
};
|
||||
} else {
|
||||
sizeparam = size;
|
||||
}
|
||||
url = "https://graph.facebook.com/" + userid + "/picture?type=" + sizeparam;
|
||||
break;
|
||||
|
||||
case "gravatar":
|
||||
// see http://en.gravatar.com/site/implement/images/
|
||||
// available sizes: all, gravatar rescales for you
|
||||
url = "http://www.gravatar.com/avatar/" + userid + "?s=" + size
|
||||
break;
|
||||
case "gravatar":
|
||||
// see http://en.gravatar.com/site/implement/images/
|
||||
// available sizes: all, gravatar rescales for you
|
||||
url = "http://www.gravatar.com/avatar/" + userid + "?s=" + size
|
||||
break;
|
||||
|
||||
case "twitter":
|
||||
// see https://dev.twitter.com/docs/api/1/get/users/profile_image/%3Ascreen_name
|
||||
// available sizes: bigger (73x73), normal (48x48), mini (24x24), no param will give you full size
|
||||
var sizeparam = '';
|
||||
if (isNumberOrNot(size)) {
|
||||
if (size >= 73) {
|
||||
sizeparam = 'bigger'
|
||||
};
|
||||
if (size >= 48 && size < 73) {
|
||||
sizeparam = 'normal'
|
||||
};
|
||||
if (size < 48) {
|
||||
sizeparam = 'mini'
|
||||
};
|
||||
} else {
|
||||
sizeparam = size;
|
||||
}
|
||||
case "twitter":
|
||||
// see https://dev.twitter.com/docs/api/1/get/users/profile_image/%3Ascreen_name
|
||||
// available sizes: bigger (73x73), normal (48x48), mini (24x24), no param will give you full size
|
||||
var sizeparam = '';
|
||||
if (isNumberOrNot(size)) {
|
||||
if (size >= 73) {
|
||||
sizeparam = 'bigger'
|
||||
};
|
||||
if (size >= 48 && size < 73) {
|
||||
sizeparam = 'normal'
|
||||
};
|
||||
if (size < 48) {
|
||||
sizeparam = 'mini'
|
||||
};
|
||||
} else {
|
||||
sizeparam = size;
|
||||
}
|
||||
|
||||
url = "http://api.twitter.com/1/users/profile_image?screen_name=" + userid + "&size=" + sizeparam;
|
||||
break;
|
||||
url = "http://api.twitter.com/1/users/profile_image?screen_name=" + userid + "&size=" + sizeparam;
|
||||
break;
|
||||
|
||||
case "tumblr":
|
||||
// see http://www.tumblr.com/docs/en/api/v2#blog-avatar
|
||||
//TODO do something smarter with the ranges
|
||||
// available sizes: 16, 24, 30, 40, 48, 64, 96, 128, 512
|
||||
var sizeparam = '';
|
||||
if (size >= 512) {
|
||||
sizeparam = 512
|
||||
};
|
||||
if (size >= 128 && size < 512) {
|
||||
sizeparam = 128
|
||||
};
|
||||
if (size >= 96 && size < 128) {
|
||||
sizeparam = 96
|
||||
};
|
||||
if (size >= 64 && size < 96) {
|
||||
sizeparam = 64
|
||||
};
|
||||
if (size >= 48 && size < 64) {
|
||||
sizeparam = 48
|
||||
};
|
||||
if (size >= 40 && size < 48) {
|
||||
sizeparam = 40
|
||||
};
|
||||
if (size >= 30 && size < 40) {
|
||||
sizeparam = 30
|
||||
};
|
||||
if (size >= 24 && size < 30) {
|
||||
sizeparam = 24
|
||||
};
|
||||
if (size < 24) {
|
||||
sizeparam = 16
|
||||
};
|
||||
case "tumblr":
|
||||
// see http://www.tumblr.com/docs/en/api/v2#blog-avatar
|
||||
//TODO do something smarter with the ranges
|
||||
// available sizes: 16, 24, 30, 40, 48, 64, 96, 128, 512
|
||||
var sizeparam = '';
|
||||
if (size >= 512) {
|
||||
sizeparam = 512
|
||||
};
|
||||
if (size >= 128 && size < 512) {
|
||||
sizeparam = 128
|
||||
};
|
||||
if (size >= 96 && size < 128) {
|
||||
sizeparam = 96
|
||||
};
|
||||
if (size >= 64 && size < 96) {
|
||||
sizeparam = 64
|
||||
};
|
||||
if (size >= 48 && size < 64) {
|
||||
sizeparam = 48
|
||||
};
|
||||
if (size >= 40 && size < 48) {
|
||||
sizeparam = 40
|
||||
};
|
||||
if (size >= 30 && size < 40) {
|
||||
sizeparam = 30
|
||||
};
|
||||
if (size >= 24 && size < 30) {
|
||||
sizeparam = 24
|
||||
};
|
||||
if (size < 24) {
|
||||
sizeparam = 16
|
||||
};
|
||||
|
||||
url = "http://api.tumblr.com/v2/blog/" + userid + "/avatar/" + sizeparam;
|
||||
break;
|
||||
url = "http://api.tumblr.com/v2/blog/" + userid + "/avatar/" + sizeparam;
|
||||
break;
|
||||
|
||||
default:
|
||||
// http://www.iconfinder.com/icondetails/23741/128/avatar_devil_evil_green_monster_vampire_icon
|
||||
// find your own
|
||||
url = "http://i.imgur.com/RLiDK.png"; // 48x48
|
||||
}
|
||||
default:
|
||||
// http://www.iconfinder.com/icondetails/23741/128/avatar_devil_evil_green_monster_vampire_icon
|
||||
// find your own
|
||||
url = "http://i.imgur.com/RLiDK.png"; // 48x48
|
||||
}
|
||||
|
||||
|
||||
return url;
|
||||
return url;
|
||||
}
|
||||
|
||||
|
||||
// helper methods
|
||||
|
||||
function isNumberOrNot(n) {
|
||||
// see http://stackoverflow.com/questions/18082/validate-numbers-in-javascript-isnumeric
|
||||
return !isNaN(parseFloat(n)) && isFinite(n);
|
||||
// see http://stackoverflow.com/questions/18082/validate-numbers-in-javascript-isnumeric
|
||||
return !isNaN(parseFloat(n)) && isFinite(n);
|
||||
}
|
||||
|
||||
// End of lib_gravatar.js.php
|
||||
|
||||
Reference in New Issue
Block a user