setting_function.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. require_once '../path.php';
  3. function get_setting(){
  4. if(!isset($_COOKIE["userid"])){
  5. $setting = array();
  6. }
  7. else{
  8. $setting=json_decode(file_get_contents("../ucenter/default.json"),TRUE);
  9. //打开数据库
  10. $dns = "sqlite:"._FILE_DB_USERINFO_;
  11. $dbh = new PDO($dns, "", "",array(PDO::ATTR_PERSISTENT=>true));
  12. $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
  13. $query = "select setting from user where userid = ? ";
  14. $stmt = $dbh->prepare($query);
  15. $stmt->execute(array($_COOKIE["userid"]));
  16. $fUser = $stmt->fetchAll(PDO::FETCH_ASSOC);
  17. $dbh=null;
  18. if(isset($fUser[0]["setting"])){
  19. $my_setting=json_decode($fUser[0]["setting"],TRUE);
  20. foreach ($setting as $key => $value) {
  21. if(mb_substr($key,0,1,"UTF-8") !== '_' && isset($my_setting[$key])){
  22. $setting[$key] = $my_setting[$key];
  23. }
  24. }
  25. }
  26. }
  27. return($setting);
  28. }
  29. function inLangSetting($lang,$mySetting){
  30. # 通用语言 和 无译文语言 总是被采用
  31. if($lang=="com" && $lang=="none"){
  32. return true;
  33. }
  34. # 用户没有设置语言
  35. if(count($mySetting)==0){
  36. return true;
  37. }
  38. foreach ($mySetting as $key => $value) {
  39. if(strpos($lang,"-")==false){
  40. # 语族
  41. if($lang===$value){
  42. return true;
  43. }
  44. }
  45. else{
  46. $befor = strstr($lang,"-" , TRUE);
  47. if($lang===$value || $befor===$value){
  48. return true;
  49. }
  50. }
  51. }
  52. return false;
  53. }
  54. ?>