├── Arabic-PHP-Engine.php ├── LICENSE.txt └── README.md /Arabic-PHP-Engine.php: -------------------------------------------------------------------------------- 1 | الرمز ); 27 | 28 | while ( موضع_النص( $المحتوى , $this->الرمز ) !== خاطئ ) { 29 | 30 | $موضع_البداية = موضع_النص( $المحتوى , $this->الرمز ); 31 | 32 | $موضع_النهاية = موضع_النص( $المحتوى , $this->الرمز , موضع_النص( $المحتوى , $this->الرمز ) + $عدد_خانات_الرمز ); 33 | 34 | $الحجم = $موضع_النهاية - $موضع_البداية + $عدد_خانات_الرمز; 35 | 36 | 37 | $النص_قبل = اقتطاع( $المحتوى , 0 , $موضع_البداية ); 38 | 39 | $النص_بعد = اقتطاع( $المحتوى , $موضع_النهاية + $عدد_خانات_الرمز ); 40 | 41 | $النص = اقتطاع( $المحتوى , $موضع_البداية , $الحجم ); 42 | 43 | $النص = استبدال_الكل( $النص , $this->الرمز , "" ); 44 | 45 | $النص = 'استبدال_النص( $النص ) . '?>'; 46 | 47 | $المحتوى = $النص_قبل . $النص . $النص_بعد; 48 | 49 | } 50 | 51 | eval( '?>' . $المحتوى); 52 | 53 | } 54 | } 55 | 56 | private function استبدال_النص( $النص ) { 57 | 58 | $التبديل = array(); 59 | 60 | $النصوص=array(); 61 | 62 | preg_match_all( '/\'([^\']+)\'|"([^"]+)"/' , $النص , $النصوص ); 63 | 64 | $النصوص = $النصوص[0]; 65 | 66 | foreach ( $النصوص as $_النص ) { 67 | 68 | $النص_المؤقت = توليد_نص(50); 69 | 70 | $النص = استبدال( $النص , $_النص , $النص_المؤقت ); 71 | 72 | $التبديل[]=array($النص_المؤقت,$_النص); 73 | 74 | } 75 | $الأسماء_العربية = [ 76 | "؛" 77 | , "،" 78 | , "ع.إذا_كان" 79 | , "ع.أو_إذا" 80 | , "ع.آخر" 81 | , "ع.عملية" 82 | , "ع.سويتش" 83 | , "ع.الحالة" 84 | , "ع.إفتراضي" 85 | , "ع.بينما" 86 | , "ع.عمل" 87 | , "ع.من_أجل" 88 | , "ع.من_أجل_الكل" 89 | , "ع.مصفوفة" 90 | , "ع.كـ" 91 | , "ع.عامؤ" 92 | ]; 93 | 94 | $الأسماء_الأساسية = [ 95 | ";" 96 | , "," 97 | , "if" 98 | , "else if" 99 | , "else" 100 | , "function" 101 | , "switch" 102 | , "case" 103 | , "default" 104 | , "while" 105 | , "do" 106 | , "for" 107 | , "foreach" 108 | , "array" 109 | , "as" 110 | , "global" 111 | ]; 112 | 113 | $النص = استبدال_الكل( $النص , $الأسماء_العربية , $الأسماء_الأساسية ); 114 | 115 | foreach ( $التبديل as $_النص ) { 116 | 117 | $النص = استبدال( $النص , $_النص[0] , $_النص[1] ); 118 | 119 | } 120 | 121 | return $النص; 122 | return eval( $النص ); 123 | } 124 | 125 | 126 | 127 | 128 | 129 | } 130 | 131 | // اللغة الحالية للمتصفح من حرفين ar , en ... 132 | تعريف_متغير( "لغة_المتصفح" , isset( $_SERVER['HTTP_ACCEPT_LANGUAGE'] ) ? اقتطاع( $_SERVER['HTTP_ACCEPT_LANGUAGE'] , 0 , 2 ) : "en" ); 133 | 134 | تعريف_متغير( "اسم_الملف_الحالي" , $_SERVER['PHP_SELF'] ); 135 | 136 | تعريف_متغير( "ايبي_المضيف" , $_SERVER['SERVER_ADDR'] ); 137 | 138 | // نوع طلب الصفحة post , get 139 | تعريف_متغير( "نوع_الطلب" , $_SERVER['REQUEST_METHOD'] ); 140 | 141 | // متغيرات الرابط 142 | // ?id=1&name=test... 143 | تعريف_متغير( "متغيرات_الرابط" , $_SERVER['QUERY_STRING'] ); 144 | 145 | تعريف_متغير( "الدومين" , $_SERVER['HTTP_HOST'] ); 146 | 147 | تعريف_متغير( "ايبي_المستخدم" , $_SERVER['REMOTE_ADDR'] ); 148 | 149 | تعريف_متغير( "رابط_الملف_الكامل" , $_SERVER['SCRIPT_FILENAME'] ); 150 | 151 | // فروع_الرابط 152 | // /blog/year/month/day/... 153 | تعريف_متغير( "فروع_الرابط" , $_SERVER['REQUEST_URI'] ); 154 | 155 | // تستخدم في أي مكان بدل true 156 | تعريف_متغير( "صحيح" , true ); 157 | 158 | // تستخدم في أي مكان بدل false 159 | تعريف_متغير( "خاطئ" , false ); 160 | 161 | تعريف_متغير( "أحرف_كبيرة" , CASE_UPPER ); 162 | 163 | تعريف_متغير( "أحرف_صغيرة" , CASE_LOWER ); 164 | 165 | // هل يتم التصفح من الأمان https 166 | تعريف_متغير( "الأمان_مفعل" , isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] === 'on' ? صحيح : خاطئ ); 167 | 168 | // http://www.example.com/ 169 | تعريف_متغير( "الرابط_الأساسي" , ( الأمان_مفعل ? "https" : "http" ) . "://" . الدومين . "/" ); 170 | 171 | // http://www.example.com/blog/year/month/day/name 172 | تعريف_متغير( "الرابط_الكامل" , الرابط_الأساسي . ( اقتطاع( فروع_الرابط , 0 , 1 ) == "/" ? اقتطاع( فروع_الرابط , 1 ) : فروع_الرابط ) ); 173 | 174 | // php user agent 175 | تعريف_متغير( "معرف_المتصفح" , $_SERVER['HTTP_USER_AGENT'] ); 176 | 177 | // إذا كان التصفح يتم عن طريق الهاتف 178 | تعريف_متغير( "هل_التصفح_من_هاتف" , موضع_النص( معرف_المتصفح , "Mobile" ) || موضع_النص( معرف_المتصفح , "Mobi" ) ? صحيح : خاطئ ); 179 | 180 | // توليد نص عشوائي 181 | function توليد_نص( $الحجم = 10 ){ 182 | 183 | $الأحرف_المتاحة = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 184 | 185 | $العدد = عدد_الخانات( $الأحرف_المتاحة ); 186 | 187 | $النص = ''; 188 | 189 | for( $ن = 0 ; $ن < $الحجم ; $ن++ ){ 190 | 191 | $النص .= $الأحرف_المتاحة[ توليد_رقم_بين( 0 , $العدد - 1 ) ]; 192 | 193 | } 194 | 195 | return $النص; 196 | 197 | } 198 | 199 | // توليد رقم عشوائي 200 | function توليد_رقم( $الحجم = 10 ){ 201 | 202 | $الأرقام_المتاحة = '0123456789'; 203 | 204 | $العدد = عدد_الخانات( $الأرقام_المتاحة ); 205 | 206 | $الرقم = ''; 207 | 208 | for( $ن = 0 ; $ن < $الحجم ; $ن++ ){ 209 | 210 | $الرقم .= $الأرقام_المتاحة[ توليد_رقم_بين( 0 , $العدد - 1) ]; 211 | 212 | } 213 | 214 | return $الرقم; 215 | 216 | } 217 | 218 | /************************************* المصفوفات *************************************/ 219 | 220 | // php array_change_key_case 221 | // تغيير حالة أحرف مفاتيح المصفوفة 222 | // أحرف_كبيرة , أحرف_صغيرة 223 | function تغيير_حالة_أحرف_المصفوفة( $المصفوفة , $الحالة ){ 224 | 225 | return array_change_key_case( $المصفوفة , $الحالة ); 226 | 227 | } 228 | 229 | // php array_chunk 230 | // تقسيم المصفوفة إلى مصفوفات ضمن المصفوفة الأساسية 231 | function تقسيم_المصفوفة( $المصفوفة , $العدد ){ 232 | 233 | return array_chunk( $المصفوفة , $العدد ); 234 | 235 | } 236 | 237 | // php array_combine 238 | // دمج مصفوفتين الأولى تكون مفاتيح والثانية قيم 239 | function دمج_مصفوفتين( $المصفوفة_1 , $المصفوفة_2 ){ 240 | 241 | return array_combine( $المصفوفة_1 , $المصفوفة_2 ); 242 | 243 | } 244 | 245 | // php array_diff 246 | // ايجاد الفرق بين المصفوفات 247 | // فرق_القيم_بين_المصفوفات( $المصفوفة1 [, $المصفوفة2] [, $المصفوفة3] ... ) 248 | function فرق_القيم_بين_المصفوفات(){ 249 | 250 | return call_user_func_array( "array_diff" , func_get_args() ); 251 | 252 | } 253 | 254 | // php array_flip 255 | // التبديل بين القيم و المفاتيح للمصفوفة 256 | function قلب_القيم_والمفاتيح_للمصفوفة( $المصفوفة ){ 257 | 258 | return array_flip( $المصفوفة ); 259 | 260 | } 261 | 262 | // php array_intersect 263 | // ايجاد القيم المشتركة بين المصفوفات 264 | // ايجاد_القيم_المشتركة_بين_المصفوفات( $المصفوفة1 [, $المصفوفة2] [, $المصفوفة3] ... ) 265 | function ايجاد_القيم_المشتركة_بين_المصفوفات(){ 266 | 267 | return call_user_func_array( "array_intersect" , func_get_args() ); 268 | 269 | } 270 | 271 | // php array_key_exists 272 | // إذا كانت المصفوفة تحوي مفتاح 273 | function هل_تحوي_المصفوفة_مفتاح( $المفتاح , $المصفوفة ){ 274 | 275 | return array_key_exists( $المفتاح , $المصفوفة ); 276 | 277 | } 278 | 279 | // php array_keys 280 | // جلب مفاتيح المصفوفة ضمن مصفوفة جديدة 281 | function جلب_مفاتيح_المصفوفة( $المصفوفة ){ 282 | 283 | return array_keys( $المصفوفة ); 284 | 285 | } 286 | 287 | // php array_map 288 | // تطبيق عملية محددة على كافة قيم المصفوفة 289 | // تطبيق_عملية_على_قيم_المصفوفة( $المصفوفة1 [, $المصفوفة2] [, $المصفوفة3] ... ) 290 | function تطبيق_عملية_على_قيم_المصفوفة(){ 291 | 292 | return call_user_func_array( "array_map" , func_get_args() ); 293 | 294 | } 295 | 296 | // php array_merge 297 | // دمج عدة مصفوفات 298 | // دمج_مصفوفات( $المصفوفة1 [, $المصفوفة2] [, $المصفوفة3] ... ) 299 | function دمج_مصفوفات(){ 300 | 301 | return call_user_func_array( "array_merge" , func_get_args() ); 302 | 303 | } 304 | 305 | // php array_pop 306 | // حذف آخر عنصر من المصفوفة 307 | function حذف_آخر_عنصر_من_المصفوفة( $المصفوفة ){ 308 | 309 | return array_pop( $المصفوفة ); 310 | 311 | } 312 | 313 | // php array_push 314 | // إضافة قيم إلى نهاية المصفوفة 315 | // إضافة_عناصر_إلى_المصفوفة( $المصفوفة , $القيمة1 [, $القيمة2] [, $القيمة3 ]) 316 | function إضافة_عناصر_إلى_المصفوفة(){ 317 | 318 | return call_user_func_array( "array_push" , func_get_args() ); 319 | 320 | } 321 | 322 | // php array_rand 323 | // جلب عناصر عشوائية من المصفوفة 324 | // جلب_عناصر_عشوائية_من_المصفوفة( $المصفوفة , $العدد ) 325 | function جلب_عناصر_عشوائية_من_المصفوفة(){ 326 | 327 | return call_user_func_array( "array_rand" , func_get_args() ); 328 | 329 | } 330 | 331 | // php array_reverse 332 | // عكس المصفوفة 333 | function عكس_المصفوفة( $المصفوفة ){ 334 | 335 | return array_reverse( $المصفوفة ); 336 | 337 | } 338 | 339 | // php array_search 340 | // بحث عن قيمة ضمن المصفوفة و إرجاع المفتاح 341 | function بحث_في_المصفوفة( $البحث , $المصفوفة ){ 342 | 343 | return array_search( $البحث , $المصفوفة ); 344 | 345 | } 346 | 347 | // php array_shift 348 | // حذف أول عنصر من المصفوفة 349 | function حذف_أول_عنصر_من_المصفوفة( $المصفوفة ){ 350 | 351 | return array_shift( $المصفوفة ); 352 | 353 | } 354 | 355 | // php array_slice 356 | // جلب قسم من المصفوفة ضمن مصفوفة جديدة 357 | // جلب_قسم_من_المصفوفة( $المصفوفة , $البداية [, $الحجم] ) 358 | function جلب_قسم_من_المصفوفة(){ 359 | 360 | return call_user_func_array( "array_slice" , func_get_args() ); 361 | 362 | } 363 | 364 | // php array_sum 365 | // جلب مجموع قيم المصفوفة الرقمية 366 | function جلب_مجموع_قيم_المصفوفة( $المصفوفة ){ 367 | 368 | return array_sum( $المصفوفة ); 369 | 370 | } 371 | 372 | // php array_unique 373 | // حذف القيم المكررة من المصفوفة 374 | function حذف_المكرر_من_المصفوفة( $المصفوفة ){ 375 | 376 | return array_unique( $المصفوفة ); 377 | 378 | } 379 | 380 | // php array_unshift 381 | // إضافة قيم إلى بداية المصفوفة 382 | // إضافة_عناصر_إلى_بداية_المصفوفة( $المصفوفة , $القيمة1 [, $القيمة2] [, $القيمة3 ]) 383 | function إضافة_عناصر_إلى_بداية_المصفوفة(){ 384 | 385 | return call_user_func_array( "array_unshift" , func_get_args() ); 386 | 387 | } 388 | 389 | // php array_values 390 | // جلب قيم المصفوفة فقط ضمن مصفوفة جديدة 391 | function جلب_قيم_المصفوفة( $المصفوفة ){ 392 | 393 | return array_values( $المصفوفة ); 394 | 395 | } 396 | 397 | // php asort 398 | // ترتيب المصفوفة تصاعدياً حسب القيم 399 | function ترتيب_قيم_المصفوفة_تصاعدي( $المصفوفة ){ 400 | 401 | return asort( $المصفوفة ); 402 | 403 | } 404 | 405 | // php arsort 406 | // ترتيب المصفوفة تنازلياً حسب القيم 407 | function ترتيب_قيم_المصفوفة_تنازلي( $المصفوفة ){ 408 | 409 | return arsort( $المصفوفة ); 410 | 411 | } 412 | 413 | // php count 414 | // جلب عدد عناصر المصفوفة 415 | function حجم_المصفوفة( $المصفوفة ){ 416 | 417 | return count( $المصفوفة ); 418 | 419 | } 420 | 421 | // php current 422 | // جلب العنصر الحالي من المصفوفة 423 | function جلب_العنصر_الحالي_للمصفوفة( $المصفوفة ){ 424 | 425 | return current( $المصفوفة ); 426 | 427 | } 428 | 429 | // php reset 430 | // جلب العنصر الأول من المصفوفة 431 | function جلب_العنصر_الأول_للمصفوفة( $المصفوفة ){ 432 | 433 | return reset( $المصفوفة ); 434 | 435 | } 436 | 437 | // php end 438 | // جلب العنصر الأخير من المصفوفة 439 | function جلب_العنصر_الأخير_للمصفوفة( $المصفوفة ){ 440 | 441 | return end( $المصفوفة ); 442 | 443 | } 444 | 445 | // php next 446 | // جلب العنصر التالي من المصفوفة 447 | function جلب_العنصر_التالي_للمصفوفة( $المصفوفة ){ 448 | 449 | return next( $المصفوفة ); 450 | 451 | } 452 | 453 | // php prev 454 | // جلب العنصر السابق من المصفوفة 455 | function جلب_العنصر_السابق_للمصفوفة( $المصفوفة ){ 456 | 457 | return prev( $المصفوفة ); 458 | 459 | } 460 | 461 | // php ksort 462 | // ترتيب المصفوفة تصاعدياً حسب المفاتيح 463 | function ترتيب_مفاتيح_المصفوفة_تصاعدي( $المصفوفة ){ 464 | 465 | return ksort( $المصفوفة ); 466 | 467 | } 468 | 469 | // php krsort 470 | // ترتيب المصفوفة تنازلياً حسب المفاتيح 471 | function ترتيب_مفاتيح_المصفوفة_تنازلي( $المصفوفة ){ 472 | 473 | return krsort( $المصفوفة ); 474 | 475 | } 476 | 477 | // php range 478 | // توليد مصفوفة من أرقام 479 | // توليد_مصفوفة_أرقام( $الرقم_الأصغر , $الرقم_الأكبر , $الفاصل_بين_الأرقام ) 480 | function توليد_مصفوفة_أرقام(){ 481 | 482 | return call_user_func_array( "range" , func_get_args() ); 483 | 484 | } 485 | 486 | // php shuffle 487 | // ترتيب المصفوفة بشكل عشوائي 488 | function ترتيب_المصفوفة_عشوائي( $المصفوفة ){ 489 | 490 | return shuffle( $المصفوفة ); 491 | 492 | } 493 | 494 | // php sort 495 | // ترتيب المصفوفة تصاعدياً 496 | function ترتيب_المصفوفة_تصاعدي( $المصفوفة ){ 497 | 498 | return sort( $المصفوفة ); 499 | 500 | } 501 | 502 | // php rsort 503 | // ترتيب المصفوفة تنازلياً 504 | function ترتيب_المصفوفة_تنازلي( $المصفوفة ){ 505 | 506 | return rsort( $المصفوفة ); 507 | 508 | } 509 | 510 | // php in_array 511 | // إذا كانت المصفوفة تحوي قيمة 512 | function هل_تملك_المصفوفة_عنصر( $البحث , $المصفوفة ){ 513 | 514 | return in_array( $البحث , $المصفوفة ); 515 | 516 | } 517 | 518 | // إذا كانت المصفوفة تحوي مفاتيح 519 | // ["blue","red"] خاطئ 520 | // ["a"=>"blue","b"=>"red"] صحيح 521 | function هل_المصفوفة_تحوي_مفاتيح( array $المصفوفة ){ 522 | 523 | if ( array() === $المصفوفة ){ 524 | 525 | return خاطئ; 526 | 527 | } 528 | 529 | return جلب_مفاتيح_المصفوفة( $المصفوفة ) !== توليد_مصفوفة_أرقام( 0 , حجم_المصفوفة( $المصفوفة ) - 1 ); 530 | 531 | } 532 | 533 | function كل( $المصفوفة , $العملية ){ 534 | 535 | if ( هل_المصفوفة_تحوي_مفاتيح( $المصفوفة ) ) { 536 | 537 | foreach( $المصفوفة as $الاسم => $القيمة ) { 538 | 539 | $العملية( $الاسم , $القيمة ); 540 | 541 | } 542 | 543 | } else { 544 | 545 | for( $الرقم = 0 ; $الرقم < count( $المصفوفة ) ; $الرقم++ ) { 546 | 547 | $العملية( $الرقم , $المصفوفة[ $الرقم ] ); 548 | 549 | } 550 | 551 | } 552 | 553 | } 554 | 555 | /************************************* المصفوفات *************************************/ 556 | 557 | 558 | 559 | 560 | 561 | /************************************* الوقت *************************************/ 562 | 563 | // جلب عدد أيام الشهر من السنة 564 | // إذا كان الشهر 28 ، 30 أو 31 يوم 565 | function عدد_أيام_الشهر( $الشهر , $السنة ){ 566 | 567 | return cal_days_in_month( CAL_GREGORIAN , $الشهر , $السنة ); 568 | 569 | } 570 | 571 | // جلب المنطقة الزمنية الحالية 572 | function جلب_المنطقة_الزمنية(){ 573 | 574 | return date_default_timezone_get(); 575 | 576 | } 577 | 578 | // تغيير المنطقة الزمنية الحالية 579 | function تغيير_المنطقة_الزمنية( $المنطقة_الزمنية ){ 580 | 581 | return date_default_timezone_set( $المنطقة_الزمنية ); 582 | 583 | } 584 | 585 | function جلب_اسم_اليوم( $الاسم ) { 586 | 587 | $الاسم = تبديل_لصغير( $الاسم ); 588 | 589 | return [ 590 | "sun" => "الأحد" 591 | , "mon" => "الإثنين" 592 | , "tue" => "الثلاثاء" 593 | , "wed" => "الأربعاء" 594 | , "thu" => "الخميس" 595 | , "fri" => "الجمعة" 596 | , "sat" => "السبت" 597 | ][ $الاسم ]; 598 | 599 | } 600 | 601 | function جلب_اسم_الشهر( $الرقم ) { 602 | 603 | return [ 604 | "كانون الثاني" 605 | , "شباط" 606 | , "آذار" 607 | , "نيسان" 608 | , "أيار" 609 | , "حزيران" 610 | , "تموز" 611 | , "آب" 612 | , "أيلول" 613 | , "تشرين الأول" 614 | , "تشرين الثاني" 615 | , "كانون الأول" 616 | ][ $الرقم ]; 617 | 618 | } 619 | 620 | // العملية تغنيك عن استخدام time , date 621 | // الوقت() إرجاع تايم ستامب 622 | // الوقت( $المطلوب ) إرجاع قيمة المطلوب يوم، شهر، سنة ... 623 | // الوقت( "صيغة" ) إرجاع نص بالقيم المطلوبة 624 | // مثال الوقت( "س-ر-م ع:د:ث و" ) 625 | // س سنة 626 | // ش اسم الشهر 627 | // ر رقم الشهر 628 | // ي اسم اليوم 629 | // م رقم اليوم 630 | // ع الساعة 12 631 | // ة الساعة 24 632 | // د دقيقة 633 | // ث ثانية 634 | // و الوضع مساءً أو صباحاً 635 | function الوقت( $الوقت = null ){ 636 | 637 | if ( $الوقت ) { 638 | 639 | $الوقت_الأساسي = time(); 640 | 641 | $مصفوفة_الوقت = array( 642 | "الثانية" => date( "s" , $الوقت_الأساسي ) 643 | , "الدقيقة" => date( "i" , $الوقت_الأساسي ) 644 | , "الساعة" => date( "h" , $الوقت_الأساسي ) 645 | , "رقم_اليوم" => date( "d" , $الوقت_الأساسي ) 646 | , "اسم_اليوم" => جلب_اسم_اليوم( date( "D" , $الوقت_الأساسي ) )// 647 | , "رقم_الشهر" => date( "m" , $الوقت_الأساسي ) 648 | , "اسم_الشهر" => جلب_اسم_الشهر( جلب_الرقم( date( "m" , $الوقت_الأساسي ) ) )// 649 | , "السنة" => date( "Y" , $الوقت_الأساسي ) 650 | , "الوضع" => تبديل_لصغير( date( "a" , $الوقت_الأساسي ) ) == "am" ? "صباحاً" : "مساءً" 651 | ); 652 | 653 | if ( هل_تحوي_المصفوفة_مفتاح( $الوقت , $مصفوفة_الوقت ) ) { 654 | 655 | return $مصفوفة_الوقت[ $الوقت ]; 656 | 657 | } else { 658 | 659 | $الوقت_المخرج = $الوقت; 660 | 661 | $الوقت_المخرج = استبدال_الكل( 662 | $الوقت_المخرج , 663 | [ "س" , "ش" , "ر" , "ي" , "م" , "ع" , "ة" , "د" , "ث" , "و" ] , 664 | [ "___a" , "___b" , "___c" , "___d" , "___e" , "___f" , "___g" , "___h" , "___i" , "___j" ] 665 | ); 666 | 667 | $الوقت_المخرج = استبدال_الكل( 668 | $الوقت_المخرج , 669 | [ "___a" , "___b" , "___c" , "___d" , "___e" , "___f" , "___g" , "___h" , "___i" , "___j" ] , 670 | [ $مصفوفة_الوقت[ "السنة" ] , $مصفوفة_الوقت[ "اسم_الشهر" ] , $مصفوفة_الوقت[ "رقم_الشهر" ] , $مصفوفة_الوقت[ "اسم_اليوم" ] , $مصفوفة_الوقت[ "رقم_اليوم" ] , date( "H" , $الوقت_الأساسي ) , $مصفوفة_الوقت[ "الساعة" ] , $مصفوفة_الوقت[ "الدقيقة" ] , $مصفوفة_الوقت[ "الثانية" ] , $مصفوفة_الوقت[ "الوضع" ] ] ); 671 | 672 | return $الوقت_المخرج; 673 | 674 | } 675 | 676 | } else { 677 | 678 | return time(); 679 | 680 | } 681 | 682 | } 683 | 684 | // php strtotime 685 | // تحويل النص إلى وقت تايم ستامب 686 | function النص_إلى_وقت( $النص ){ 687 | 688 | return strtotime( $النص ); 689 | 690 | } 691 | 692 | /************************************* الوقت *************************************/ 693 | 694 | 695 | 696 | 697 | 698 | /************************************* النصوص *************************************/ 699 | 700 | // php mb_substr 701 | // اقتطاع جزء محدد من النص 702 | // اقتطاع( $النص , $البداية , $الحجم ) 703 | function اقتطاع() { 704 | 705 | return call_user_func_array( "mb_substr" , func_get_args() ); 706 | 707 | } 708 | 709 | // php str_replace 710 | // البحث عن كل النصوص المطابقة واستبدالها 711 | function استبدال_الكل( $النص , $البحث , $الاستبدال ) { 712 | 713 | return str_replace( $البحث , $الاستبدال , $النص ); 714 | 715 | } 716 | 717 | // php preg_replace 718 | // البحث عن نص واستبداله بآخر مرة واحدة 719 | function استبدال( $النص , $البحث , $الاستبدال ) { 720 | 721 | return preg_replace( "/".$البحث."/" , $الاستبدال , $النص , 1 ); 722 | 723 | } 724 | 725 | // php addslashes 726 | // إضافة سلاش إلى علامات التنصيص 727 | function إضافة_سلاش( $النص ) { 728 | 729 | return addslashes( $النص ); 730 | 731 | } 732 | 733 | // php stripslashes 734 | // حذف جميع السلاش من النص 735 | function حذف_سلاش( $النص ) { 736 | 737 | return stripslashes( $النص ); 738 | 739 | } 740 | 741 | // php explode 742 | // تقسيم النص إلى مصفوفة بناءً على بحث 743 | // تقطيع_النص( $الفاصل , $النص ) 744 | function تقطيع_النص( $الفاصل , $النص ) { 745 | 746 | return explode( $الفاصل , $النص ); 747 | 748 | } 749 | 750 | // php implode 751 | // جمع قيم المصفوفة وتحويلها إلى نص 752 | // جمع_النصوص_من_مصفوفة( $الفاصل , $المصفوفة ) 753 | function جمع_النصوص_من_مصفوفة() { 754 | 755 | return call_user_func_array( "implode" , func_get_args() ); 756 | 757 | } 758 | 759 | // php ltrim 760 | // حذف المسافات من يسار النص 761 | function حذف_المسافات_من_يسار_النص( $النص ) { 762 | 763 | return ltrim( $النص ); 764 | 765 | } 766 | 767 | // php rtrim 768 | // حذف المسافات من يمين النص 769 | function حذف_المسافات_من_يمين_النص( $النص ) { 770 | 771 | return rtrim( $النص ); 772 | 773 | } 774 | 775 | // php md5 776 | // تشفير النص وتحويله إلى md5 777 | function تشفير_ام_دي_5( $النص ) { 778 | 779 | return md5( $النص ); 780 | 781 | } 782 | 783 | // php sha1 784 | // تشفير النص وتحويله إلى sha1 785 | function تشفير_شا_1( $النص ) { 786 | 787 | return sha1( $النص ); 788 | 789 | } 790 | 791 | // php sprintf 792 | // استبدال المتغيرات ضمن النص %s 793 | // استبدال_متغيرات_النصوص( $النص , $المتغير1 [, $المتغير2] ) 794 | function استبدال_متغيرات_النصوص() { 795 | 796 | return call_user_func_array( "sprintf" , func_get_args() ); 797 | 798 | } 799 | 800 | // php mb_strlen 801 | // جلب عدد أحرف النص 802 | function عدد_الخانات( $النص ){ 803 | 804 | return mb_strlen( $النص ); 805 | 806 | } 807 | 808 | // php str_word_count 809 | // جلب عدد الكلمات ضمن النص 810 | function عدد_الكلمات( $النص ){ 811 | 812 | return str_word_count( $النص ); 813 | 814 | } 815 | 816 | // php strrev 817 | // قلت أحرف النص بين بعضها 818 | function عكس_النص( $النص ){ 819 | 820 | return strrev( $النص ); 821 | 822 | } 823 | 824 | // php mb_strpos 825 | // ايجاد موضع نص ضمن النص الأساسي 826 | // موضع_النص( $النص , $البحث [, $البداية] ) 827 | function موضع_النص(){ 828 | 829 | return call_user_func_array( "mb_strpos" , func_get_args() ); 830 | 831 | } 832 | 833 | // php strtoupper 834 | // تحويل النص إلى أحرف كبيرة 835 | function تبديل_لكبير( $النص ){ 836 | 837 | return strtoupper( $النص ); 838 | 839 | } 840 | 841 | // php strtolower 842 | // تحويل النص إلى أحرف صغيرة 843 | function تبديل_لصغير( $النص ){ 844 | 845 | return strtolower( $النص ); 846 | 847 | } 848 | 849 | // php substr_count 850 | // إيجاد عدد المطابقات ضمن النص 851 | // عدد_المطابقات( $النص , المطابقة [, $البداية ][, $مجال_البحث] ) 852 | function عدد_المطابقات(){ 853 | 854 | return call_user_func_array( "substr_count" , func_get_args() ); 855 | 856 | } 857 | 858 | // php wordwrap 859 | // إضافة نص إلى النص كل عدد أحرف معين 860 | function إضافة_نص_كل( $النص , $الحجم = 75 , $بداية_السطر = "\n" ){ 861 | 862 | return htmlspecialchars( $النص , $الحجم , $بداية_السطر ); 863 | 864 | } 865 | 866 | // php htmlspecialchars 867 | // طباعة النص مع تجاهل HTML 868 | function الكود_إلى_نص( $النص ){ 869 | 870 | return htmlspecialchars( $النص ); 871 | 872 | } 873 | 874 | /************************************* النصوص *************************************/ 875 | 876 | 877 | 878 | 879 | 880 | /************************************* الأرقام *************************************/ 881 | 882 | // php abs 883 | // جلب الرقم الايجابي من الرقم المعطى 884 | function جلب_الرقم_الإيجابي( $الرقم ){ 885 | 886 | return abs( $الرقم ); 887 | 888 | } 889 | 890 | // php ceil 891 | // تقريب الرقم للعدد الأعلى 892 | function تقريب_لأعلى( $الرقم ){ 893 | 894 | return ceil( $الرقم ); 895 | 896 | } 897 | 898 | // php floor 899 | // تقريب الرقم للعدد الأدنى 900 | function تقريب_لأسفل( $الرقم ){ 901 | 902 | return floor( $الرقم ); 903 | 904 | } 905 | 906 | // php round 907 | // تقريب إلى عدد محدد من الفواصل 908 | function تقريب_إلى_فواصل( $الرقم , $الفواصل = 0 ){ 909 | 910 | return round( $الرقم , $الفواصل ); 911 | 912 | } 913 | 914 | // php is_finite 915 | // إذا كان الرقم محدود 916 | function هل_الرقم_محدود( $الرقم ){ 917 | 918 | return is_finite( $الرقم ); 919 | 920 | } 921 | 922 | // php is_infinite 923 | // إذا كان الرقم غير محدود 924 | function هل_الرقم_غير_محدود( $الرقم ){ 925 | 926 | return is_infinite( $الرقم ); 927 | 928 | } 929 | 930 | // php is_nan 931 | // إذا كان المتغير غير رقمي 932 | function هل_المتغير_غير_رقمي( $المتغير ){ 933 | 934 | return is_nan( $المتغير ); 935 | 936 | } 937 | // php max 938 | // جلب الرقم الأقل من ضمن مجموعة أرقام 939 | // جلب_الأعلى( الرقم1 , الرقم2 [, الرقم3 ...] ) 940 | // جلب_الأعلى( [ الرقم1 , الرقم2 [, الرقم3 ...] ] ) 941 | function جلب_الأعلى(){ 942 | 943 | return call_user_func_array( "max" , func_get_args() ); 944 | 945 | } 946 | 947 | // php min 948 | // جلب الرقم الأقل من ضمن مجموعة أرقام 949 | // جلب_الأقل( الرقم1 , الرقم2 [, الرقم3 ...] ) 950 | // جلب_الأقل( [ الرقم1 , الرقم2 [, الرقم3 ...] ] ) 951 | function جلب_الأقل(){ 952 | 953 | return call_user_func_array( "min" , func_get_args() ); 954 | 955 | } 956 | 957 | // php mt_rand 958 | // توليد رقم بين رقمين 959 | // توليد_رقم_بين( الرقم_الأقل , الرقم_الأعلى ) 960 | function توليد_رقم_بين(){ 961 | 962 | return call_user_func_array( "mt_rand" , func_get_args() ); 963 | 964 | } 965 | 966 | /************************************* الأرقام *************************************/ 967 | 968 | 969 | 970 | 971 | 972 | /************************************* الجلسات و الكوكيز *************************************/ 973 | 974 | // php $_COOKIE 975 | // إذا كان الكوكيز المطلوب قد تم إدخاله 976 | function هل_الكوكيز_مضاف( $الاسم ){ 977 | 978 | return isset( $_COOKIE[ $الاسم ] ); 979 | 980 | } 981 | 982 | // جلب قيمة الكوكيز 983 | function جلب_الكوكيز( $الاسم ){ 984 | 985 | return $_COOKIE[ $الاسم ]; 986 | 987 | } 988 | 989 | // تعديل قيمة الكوكيز 990 | function تعديل_الكوكيز( $الاسم , $القيمة , $المدة = 86400 * 30 ){ 991 | 992 | setcookie( $الاسم , $القيمة , time() + $المدة , "/"); 993 | 994 | } 995 | 996 | // حذف الكوكيز 997 | // واحدة أو الكل 998 | function حذف_الكوكيز( $الاسم = null ){ 999 | 1000 | if ( $الاسم ) { 1001 | 1002 | تعديل_الكوكيز( $الاسم , "" , - 3600 ); 1003 | 1004 | unset( $_COOKIE[ $الاسم ] ); 1005 | 1006 | } else { 1007 | 1008 | foreach ( $_COOKIE as $الاسم => $القيمة ) { 1009 | 1010 | تعديل_الكوكيز( $الاسم , "" , - 3600 ); 1011 | 1012 | unset( $_COOKIE[ $الاسم ] ); 1013 | 1014 | } 1015 | 1016 | } 1017 | 1018 | } 1019 | 1020 | // php $_SESSION 1021 | // قبل استخدام الجلسات يجب تشغيل العملية هذه 1022 | function تفعيل_الجلسات(){ 1023 | 1024 | session_start(); 1025 | 1026 | } 1027 | 1028 | // إذا كانت الجلسة تم إضافتها 1029 | function هل_الجلسة_مضافة( $الاسم ){ 1030 | 1031 | return isset( $_SESSION[ $الاسم ] ); 1032 | 1033 | } 1034 | 1035 | // جلب قيمة الجلسة 1036 | function جلب_الجلسة( $الاسم ){ 1037 | 1038 | return $_SESSION[ $الاسم ]; 1039 | 1040 | } 1041 | 1042 | // تعديل قيمة الجلسة 1043 | function تعديل_الجلسة( $الاسم , $القيمة ){ 1044 | 1045 | $_SESSION[ $الاسم ] = $القيمة; 1046 | 1047 | } 1048 | 1049 | // حذف الجلسات 1050 | // واحدة أو الكل 1051 | function حذف_الجلسات( $الاسم = null ){ 1052 | 1053 | if ( $الاسم ) { 1054 | 1055 | unset( $_SESSION[ $الاسم ] ); 1056 | 1057 | } else { 1058 | 1059 | session_unset(); 1060 | 1061 | session_destroy(); 1062 | 1063 | } 1064 | 1065 | } 1066 | 1067 | /************************************* الجلسات و الكوكيز *************************************/ 1068 | 1069 | 1070 | 1071 | 1072 | 1073 | /************************************* بوست جيت فايل *************************************/ 1074 | 1075 | // php $_POST 1076 | // إذا كان هناك بيانات بوست تم استلامها 1077 | // واحدة أو الكل 1078 | function هل_متغير_بوست_معرف( $الاسم = "" ){ 1079 | 1080 | if ( $الاسم ) { 1081 | 1082 | return isset( $_POST[ $الاسم ] ); 1083 | 1084 | } 1085 | 1086 | return isset( $_POST ); 1087 | 1088 | } 1089 | 1090 | // جلب قيمة متغير بوست 1091 | function جلب_بوست( $الاسم = "" ){ 1092 | 1093 | if ( $الاسم ) { 1094 | 1095 | return $_POST[ $الاسم ]; 1096 | 1097 | } 1098 | 1099 | return $_POST; 1100 | 1101 | } 1102 | 1103 | // php $_GET 1104 | // إذا كان هناك بيانات جيت تم استلامها 1105 | // واحدة أو الكل 1106 | function هل_متغير_جيت_معرف( $الاسم = "" ){ 1107 | 1108 | if ( $الاسم ) { 1109 | 1110 | return isset( $_GET[ $الاسم ] ); 1111 | 1112 | } 1113 | 1114 | return isset( $_GET ); 1115 | 1116 | } 1117 | 1118 | // جلب قيمة متغير جيت 1119 | function جلب_جيت( $الاسم = "" ){ 1120 | 1121 | if ( $الاسم ) { 1122 | 1123 | return $_GET[ $الاسم ]; 1124 | 1125 | } 1126 | 1127 | return $_GET; 1128 | 1129 | } 1130 | 1131 | // php $_FILES 1132 | // إذا كان هناك ملفات تم استلامها 1133 | // واحدة أو الكل 1134 | function هل_متغير_المرفق_معرف( $الاسم = "" ){ 1135 | 1136 | if ( $الاسم ) { 1137 | 1138 | return isset( $_FILES[ $الاسم ] ); 1139 | 1140 | } 1141 | 1142 | return isset( $_FILES ); 1143 | 1144 | } 1145 | 1146 | // جلب بيانات المرفقات 1147 | // واحد أو الكل 1148 | function جلب_المرفق( $الاسم = "" ){ 1149 | 1150 | if ( $الاسم ) { 1151 | 1152 | return $_FILES[ $الاسم ]; 1153 | 1154 | } 1155 | 1156 | return $_FILES; 1157 | 1158 | } 1159 | 1160 | // جلب الاسم الحقيقي للمرفق 1161 | function جلب_اسم_المرفق( $الاسم ){ 1162 | 1163 | return $_FILES[ $الاسم ][ "name" ]; 1164 | 1165 | } 1166 | 1167 | // جلب الاسم المؤقت للمرفق 1168 | function جلب_الاسم_المؤقت_للمرفق( $الاسم ){ 1169 | 1170 | return $_FILES[ $الاسم ][ "tmp_name" ]; 1171 | 1172 | } 1173 | 1174 | // جلب حجم المرفق 1175 | function جلب_حجم_المرفق( $الاسم ){ 1176 | 1177 | return $_FILES[ $الاسم ][ "size" ]; 1178 | 1179 | } 1180 | 1181 | // جلب نوع المرفق 1182 | function جلب_نوع_المرفق( $الاسم ){ 1183 | 1184 | return $_FILES[ $الاسم ][ "type" ]; 1185 | 1186 | } 1187 | 1188 | /************************************* بوست جيت فايل *************************************/ 1189 | 1190 | 1191 | 1192 | 1193 | 1194 | /************************************* الملفات *************************************/ 1195 | 1196 | // php file_get_contents 1197 | // جلب محتويات ملف من السيرفر أو موقع آخر 1198 | function جلب_محتويات_ملف( $الرابط ){ 1199 | 1200 | return file_get_contents( $الرابط ); 1201 | 1202 | } 1203 | 1204 | // php unlink 1205 | // حذف ملف من السيرفر 1206 | function حذف_ملف( $الاسم ){ 1207 | 1208 | return unlink( $الاسم ); 1209 | 1210 | } 1211 | 1212 | // php rename 1213 | // إعادة تسمية ملف على السيرفر 1214 | function إعادة_تسمية_ملف( $الملف , $الاسم_الجديد ){ 1215 | 1216 | return pathinfo( $الملف , $الاسم_الجديد ); 1217 | 1218 | } 1219 | 1220 | // php pathinfo 1221 | // معلومات الرابط 1222 | function معلومات_الرابط( $الرابط ){ 1223 | 1224 | return pathinfo( $الرابط ); 1225 | 1226 | } 1227 | 1228 | // php mkdir 1229 | // إنشاء مجلد على السيرفر 1230 | function إنشاء_مجلد( $الاسم ){ 1231 | 1232 | return mkdir( $الاسم ); 1233 | 1234 | } 1235 | 1236 | // php is_dir 1237 | // هل الرابط مجلد 1238 | function هل_الرابط_مجلد( $الرابط ){ 1239 | 1240 | return is_dir( $الرابط ); 1241 | 1242 | } 1243 | 1244 | // php copy 1245 | // نسخ ملف 1246 | // نسخ_ملف( $الملف_الأساس , $الملف_الوجهة ) 1247 | function نسخ_ملف(){ 1248 | 1249 | return call_user_func_array( "copy" , func_get_args() ); 1250 | 1251 | } 1252 | 1253 | // php dirname 1254 | // جلب رايط المجلد 1255 | function جلب_رابط_المجلد( $الرابط ){ 1256 | 1257 | return dirname( $الرابط ); 1258 | 1259 | } 1260 | 1261 | // php basename 1262 | // جلب اسم الملف 1263 | // جلب_اسم_الملف( $الرابط [, $اللاحقة] ) 1264 | function جلب_اسم_الملف(){ 1265 | 1266 | return call_user_func_array( "basename" , func_get_args() ); 1267 | 1268 | } 1269 | 1270 | // php file_exists 1271 | // إذا كان الملف موجود 1272 | function هل_الملف_موجود( $الرابط ){ 1273 | 1274 | return file_exists( $الرابط ); 1275 | 1276 | } 1277 | 1278 | // قراءة ملف من السيرفر 1279 | function قراءة_ملف( $الرابط ){ 1280 | 1281 | $المخرجات = ""; 1282 | 1283 | $الملف = fopen( $الرابط , "r" ); 1284 | 1285 | $المخرجات = fread( $الملف , filesize( $الرابط ) ); 1286 | 1287 | fclose( $الملف ); 1288 | 1289 | return $المخرجات; 1290 | 1291 | } 1292 | 1293 | // كتابة ملف إلى السيرفر 1294 | function كتابة_ملف( $الرابط , $البيانات ){ 1295 | 1296 | $الملف = fopen( $الرابط , "w" ); 1297 | 1298 | fwrite($الملف, $البيانات); 1299 | 1300 | fclose($الملف); 1301 | 1302 | } 1303 | 1304 | // php move_uploaded_file 1305 | // رفع ملف إلى السيرفر 1306 | function رفع_ملف( $الاسم , $الوجهة ){ 1307 | 1308 | return move_uploaded_file( جلب_الاسم_المؤقت_للمرفق( $الاسم ) , $الوجهة ); 1309 | 1310 | } 1311 | 1312 | /************************************* الملفات *************************************/ 1313 | 1314 | 1315 | 1316 | 1317 | 1318 | /************************************* قاعدة البيانات *************************************/ 1319 | 1320 | // إنشاء اتصال mysql جديد 1321 | function إنشاء_اتصال( $المضيف , $اسم_المستخدم , $كلمة_المرور , $قاعدة_البيانات ) { 1322 | 1323 | return new mysqli( $المضيف , $اسم_المستخدم , $كلمة_المرور , $قاعدة_البيانات ); 1324 | 1325 | } 1326 | 1327 | // php mysql insert , update , delete , select 1328 | // إدخال ، تعديل ، حذف أو جلب بيانات من قاعدة البيانات 1329 | // الطلبات المسموح كتابتها باللغة العربية 1330 | // ، , 1331 | // ع.جلب select 1332 | // ع.من from 1333 | // ع.عندما_يكون where 1334 | // ع.حد limit 1335 | // ع.العدد count 1336 | // ع.حذف delete 1337 | // ع.تحديث update 1338 | // ع.الترتيب order by 1339 | // ع.تصاعدي asc 1340 | // ع.تنازلي desc 1341 | // ع.أعلى max 1342 | // ع.أقل min 1343 | // ع.إدخال insert into 1344 | // ع.القيم values 1345 | // ع.إعداد set 1346 | // ع.و and 1347 | // ع.أو or 1348 | function طلب_قاعدة_بيانات( $الاتصال , $الطلب , $تحديث_أو_حذف_أو_إدخال = خاطئ ){ 1349 | 1350 | $الطلب = استبدال_الكل( 1351 | $الطلب 1352 | , [ "،" , "ع.جلب" , "ع.من" , "ع.عندما_يكون" , "ع.حد" , "ع.العدد" , "ع.حذف" , "ع.تحديث" , "ع.الترتيب" , "ع.تصاعدي" , "ع.تنازلي" , "ع.أعلى" , "ع.أقل" , "ع.إدخال" , "ع.القيم" , "ع.إعداد" , "ع.و" , "ع.أو" ] 1353 | , [ "," , "select" , "from" , "where" , "limit" , "count" , "delete" , "update" , "order by" , "asc" , "desc" , "max" , "min" , "insert into" , "values" , "set" , "and" , "or" ] 1354 | ); 1355 | 1356 | $نتيجة_الطلب = $الاتصال->query( $الطلب ); 1357 | 1358 | if ( $تحديث_أو_حذف_أو_إدخال ) { 1359 | 1360 | return $نتيجة_الطلب; 1361 | 1362 | } else { 1363 | 1364 | $النتيجة = array( "عدد_الصفوف" => $نتيجة_الطلب->num_rows , "الصفوف" => array() ); 1365 | 1366 | while( $الصف = $نتيجة_الطلب->fetch_array() ){ 1367 | 1368 | $النتيجة[ "الصفوف" ] = $الصف; 1369 | 1370 | } 1371 | 1372 | return $النتيجة; 1373 | 1374 | } 1375 | 1376 | } 1377 | 1378 | // php mysql insert_id 1379 | // جلب معرف آخر صف تم إدخاله في قاعدة البيانات 1380 | function آخر_مدخل( $الاتصال ){ 1381 | 1382 | return $الاتصال->insert_id; 1383 | 1384 | } 1385 | 1386 | /************************************* قاعدة البيانات *************************************/ 1387 | 1388 | // php sleep 1389 | // لإيقاف السكربت وقت محدد 1390 | function ايقاف_السكربت_مؤقت( $الوقت ) { 1391 | 1392 | sleep( $الوقت ); 1393 | 1394 | } 1395 | 1396 | // php exit 1397 | // لإيقاف السكربت ومنع متابعة استخراجه 1398 | function ايقاف_السكربت() { 1399 | 1400 | exit; 1401 | 1402 | } 1403 | 1404 | // php include 1405 | // لتضمين ملف داخل السكربت 1406 | function تصمين_ملف( $الملف ) { 1407 | 1408 | include $الملف; 1409 | 1410 | } 1411 | 1412 | // php define 1413 | // تعريف متغير لتتمكن من استخدامه ضمن السكربت في أي مكان 1414 | function تعريف_متغير( $الاسم , $المتفير ) { 1415 | 1416 | define( $الاسم , $المتفير ); 1417 | 1418 | } 1419 | 1420 | // إذا كان المتغير بريد إلكتروني 1421 | function هل_المتغير_بريد( $المتفير ) { 1422 | 1423 | return filter_var( $المتفير , FILTER_VALIDATE_EMAIL ); 1424 | 1425 | } 1426 | 1427 | // php empty 1428 | // إذا كان المتغير له قيمة 1429 | function هل_المتغير_بلا_قيمة( $المتفير ) { 1430 | 1431 | return empty( $المتفير ); 1432 | 1433 | } 1434 | 1435 | // php intval 1436 | // استخراج الرقم من النص 1437 | function جلب_الرقم( $النص ) { 1438 | 1439 | return intval( $النص ); 1440 | 1441 | } 1442 | 1443 | // php floatval 1444 | // استخراج الرقم مع الفواصل من النص 1445 | function جلب_الرقم_مع_فواصل( $النص ) { 1446 | 1447 | return floatval( $النص ); 1448 | 1449 | } 1450 | 1451 | // php print_r 1452 | // طباعة مصفوفة 1453 | function طباعة_مصفوفة( $المصفوفة ){ 1454 | 1455 | echo print_r( $المصفوفة ); 1456 | 1457 | } 1458 | 1459 | // php echo 1460 | // طباعة نص 1461 | function طباعة( $النص ){ 1462 | 1463 | echo $النص; 1464 | 1465 | } 1466 | 1467 | // $_SERVER["HTTP_REFERER"] 1468 | // هل الرابط مباشر أو تم التحويل من رابط آخر 1469 | function هل_رابط_الإحالة_معرف() { 1470 | 1471 | return isset($_SERVER["HTTP_REFERER"]); 1472 | 1473 | } 1474 | 1475 | // جلب فروع الرابط 1476 | // http://example.com/blog/year/month/day 1477 | // blog/year/month/day 1478 | function جلب_مصفوفة_الفروع( $مجلد_الموقع = "" ){ 1479 | 1480 | $الفروع = فروع_الرابط; 1481 | 1482 | if( اقتطاع( $الفروع , 0 , 1 ) === "/" ){ 1483 | 1484 | $الفروع = اقتطاع( $الفروع , 1 ); 1485 | 1486 | } 1487 | 1488 | if ( $مجلد_الموقع && تبديل_لصغير( اقتطاع( $الفروع , 0 , عدد_الخانات( $مجلد_الموقع ) ) ) === تبديل_لصغير( $مجلد_الموقع ) ) { 1489 | 1490 | $الفروع = اقتطاع( $الفروع , عدد_الخانات( $مجلد_الموقع ) ); 1491 | 1492 | } 1493 | 1494 | if( اقتطاع( $الفروع , 0 , 1 ) === "/" ){ 1495 | 1496 | $الفروع = اقتطاع( $الفروع , 1 ); 1497 | 1498 | } 1499 | 1500 | $الفروع = explode( "/" , $الفروع ); 1501 | 1502 | return $الفروع; 1503 | 1504 | } -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019 عبدالستار الخلف 2 | Permission is hereby granted, free of charge, to any person 3 | obtaining a copy of this software and associated documentation 4 | files (the "Software"), to deal in the Software without 5 | restriction, including without limitation the rights to use, 6 | copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the 8 | Software is furnished to do so, subject to the following 9 | conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 16 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 18 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 21 | OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |