03-04-26, 07:29 PM
(آخر تعديل لهذه المشاركة : 03-04-26, 07:33 PM {2} بواسطة Amir_Alzubidy.)
المفروض كذا يشتغل :
اذا عندك اني ديسك ترا ممكن نحل المشكلة من زمان
او تيم فيور او حاجه تانية المهم نشوف الدنيا عندك عاملة ازاااي
بكل الاحوال انا صعب احدد من فين المشكلة لذلك طبيعي جداً تظهر معنا الاخطاء
على العموم انت جرب الكود الحالي و بانتظار ردك القادم
تحياتي لك
PHP كود :
<?php
function GetCacheID() {
global $db;
$SQL = "INSERT INTO " . TABLE_PREFIX . "y2ksw_imgcache2 (ID) VALUES (0)";
$db->query_write($SQL);
return $db->insert_id();
}
function DownloadImage($url) {
if (empty($url)) return false;
$context = stream_context_create([
'http' => [
'header' => "User-Agent: Mozilla/5.0\r\n"
],
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
],
]);
return @file_get_contents($url, false, $context);
}
function CacheImages($message_body, $old_message, $forum_home) {
$files = [];
$n = 0;
$pos_end = -1;
while (($pos_start = strpos(strtolower($message_body), '[img]', $pos_end + 1)) !== false) {
$pos_end = strpos(strtolower($message_body), '[/img]', $pos_start + 1);
if ($pos_end === false) break;
$pos_start += 5;
$pos_end--;
$url = trim(substr($message_body, $pos_start, $pos_end - $pos_start + 1));
$files[$n]['url'] = $url;
$n++;
}
if (!$n) return $old_message;
foreach ($files as $i => $file) {
if (empty($file['url'])) continue;
if (!empty($forum_home) && strpos($file['url'], $forum_home . 'imgcache/2/') !== false) {
$files[$i]['url'] = '';
continue;
}
$matar = strtolower($file['url']);
if (preg_match("/alshafeen.site|alsh3er.com/i", $matar)) {
$files[$i]['url'] = '';
continue;
}
}
for ($i = 0; $i < $n; $i++) {
if (empty($files[$i]['url'])) continue;
for ($j = $i + 1; $j < $n; $j++) {
if ($files[$j]['url'] == $files[$i]['url']) {
$files[$j]['url'] = '';
}
}
}
foreach ($files as $file) {
if (empty($file['url'])) continue;
$content = DownloadImage($file['url']);
if (!$content) continue;
$tmp = tempnam(sys_get_temp_dir(), "img_");
file_put_contents($tmp, $content);
$info = @getimagesize($tmp);
if (!$info) {
unlink($tmp);
continue;
}
$ext = '';
if ($info['mime'] == 'image/jpeg') $ext = 'jpg';
elseif ($info['mime'] == 'image/png') $ext = 'png';
elseif ($info['mime'] == 'image/gif') $ext = 'gif';
elseif ($info['mime'] == 'image/webp') $ext = 'webp';
if ($ext == '') {
unlink($tmp);
continue;
}
$id = GetCacheID();
$new_file = 'imgcache/2/' . $id . 'alsh3er.' . $ext;
copy($tmp, $new_file);
unlink($tmp);
AddWatermark($new_file, "alsh3er.site");
$old_message = str_replace($file['url'], $forum_home . $new_file, $old_message);
}
return $old_message;
}
function AddWatermark($imagePath, $text) {
$info = getimagesize($imagePath);
if (!$info) return;
if ($info['mime'] == 'image/jpeg') $img = imagecreatefromjpeg($imagePath);
elseif ($info['mime'] == 'image/png') $img = imagecreatefrompng($imagePath);
elseif ($info['mime'] == 'image/gif') $img = imagecreatefromgif($imagePath);
elseif ($info['mime'] == 'image/webp') $img = imagecreatefromwebp($imagePath);
else return;
$color = imagecolorallocatealpha($img, 255, 255, 255, 50);
imagestring(
$img,
3,
imagesx($img) - 120,
imagesy($img) - 15,
$text,
$color
);
if ($info['mime'] == 'image/jpeg') imagejpeg($img, $imagePath);
elseif ($info['mime'] == 'image/png') imagepng($img, $imagePath);
elseif ($info['mime'] == 'image/gif') imagegif($img, $imagePath);
elseif ($info['mime'] == 'image/webp') imagewebp($img, $imagePath);
imagedestroy($img);
}
?>اذا عندك اني ديسك ترا ممكن نحل المشكلة من زمان
او تيم فيور او حاجه تانية المهم نشوف الدنيا عندك عاملة ازاااي
بكل الاحوال انا صعب احدد من فين المشكلة لذلك طبيعي جداً تظهر معنا الاخطاء
على العموم انت جرب الكود الحالي و بانتظار ردك القادم
تحياتي لك


![[صورة مرفقة: 177461173141861.gif]](https://up6.cc/2026/03/177461173141861.gif)