From ce54d468fa97453d949185c0128b435add9aa68d Mon Sep 17 00:00:00 2001 From: Michael Wallner Date: Wed, 19 Aug 2015 21:39:04 +0200 Subject: [PATCH] remove hard dependency on ext/posix --- bin/pharext | Bin 74788 -> 74847 bytes src/pharext/Tempname.php | 12 +++++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/bin/pharext b/bin/pharext index f3ff98a63bad652eaf537cbd8877e2c814d42573..7640c6dff29c0b68c23dd6bfd4acd8e6fae23539 100755 GIT binary patch delta 825 zcmZ2-g5~}RmJOa#!pnFW7*rV;7zBZs5r`QWv?j+$Nmv*fS}8fCq?YOCCKi{Z7AaX5 zTbWrYWuzviKsctRR!RjKiAAXuB?@Io3MbE(vSG2%HMHD(UuqvK^XHpaCNEIX1=AN4 z48SzAq7DyGJXDZ{f#F$6O3dU3Dk78p6$QbP$xuldJ_d%JIa5x7CD%hG4=d_`6@60F z6qpTkEyxrQEfe`jcCxmT9#}F)31VH3k_p(FDpm%D@7h-$O%_xYnfyRW6s+ink};Up zQ-)}YS2hCkrzjhO=@ZJ9V46h*!naU?sLxX|1RMIAiGktdi`iF!hDuI8q9OoRd|d@% z7>6pvFk4k)u;MvDkEZ@CnKju_MRM{~RftDds+xf{JyJCR(~@csO@3;SP-;{&1&i-g z(*)B`)gXQsQHOZXMO{;%f*BG9Aev)$`Gv`~>Z)MHOCgFjUsach`TK_?&!T%%^B5 z733FZRw!vIsHrKWmF6XvfaFpuGK))!p>pv+QwqvUGgFi_A?9!vrIwTy9nBV!-HTaCh=`0ssmmKw|&^ delta 740 zcmcbAf@R4GmJOa#!ZUdp7*rV;7zBZs5r`QWWGBZ+Nobo|DVgXQ=ou(k7h9QGDP^Q4 zrlb~uI3|`>N(C8-MX41f3T0p=lh;Vuu$bx^8Ek$dwU3oqMki+SS_NG&eOJK%ObaOL zfN6V0JuqDW<0-XUgBNRl>O#CM_*+L1TDN_kz=u9OOupt+ejKDOj zvN4#pR)(m{QHF>wR5k>QUsbjQ(}F4xzN-pEeKnN7UIn85iHaT%$l_Hj3=DIgoAFN8 zSCg7-p~?@|?4=6P)BvToshWYs->X6#qoxKiBw7vP<32T0u>3JKO)&jQ4H5#1>JU!^ zs%r`)FhP6@qB(5*3MO}{tAZ78f+*VjNL?nD4H6BL>s!S)E4D_><}1iA&a8+}Pc6yG zPtVMo-l@RYzuiEIQJAUzo}=}`!q)8LGCv=FPt&PWYTQwqopbi5bcN?0KHf93S8wE1 zuFTD7e$cd#`Lqt#zwTL!Wo~#U##oEHt%|LFa_QdAssM(h4|3wO3(PhxIaT#BP>NH( z)$e+t)|@WI?uh-%Lo|O(V_R}ae?pouOMJhZSn~yyknb&eEJDlfvz;)|sux$`uNBWv z>Mn~q`@q7WBJ;r|gPnQ;L0_LmSY3;(*OVf diff --git a/src/pharext/Tempname.php b/src/pharext/Tempname.php index d46250f..3116023 100644 --- a/src/pharext/Tempname.php +++ b/src/pharext/Tempname.php @@ -19,13 +19,23 @@ class Tempname * @param string $suffix e.g. file extension */ public function __construct($prefix, $suffix = null) { - $temp = sys_get_temp_dir() . "/pharext-" . posix_getlogin(); + $temp = sys_get_temp_dir() . "/pharext-" . $this->getUser(); if (!is_dir($temp) && !mkdir($temp, 0700, true)) { throw new Exception; } $this->name = $temp ."/". uniqid($prefix) . $suffix; } + private function getUser() { + if (extension_loaded("posix") && function_exists("posix_getpwuid")) { + return posix_getpwuid(posix_getuid())["name"]; + } + return trim(`whoami 2>/dev/null`) + ?: trim(`id -nu 2>/dev/null`) + ?: getenv("USER") + ?: get_current_user(); + } + /** * @return string */ -- 2.30.2