about summary refs log tree commit diff stats
Commit message (Expand)AuthorAgeFilesLines
* Series: Integrated UpdateKelly Rauchenberger2008-09-132-3/+46
* Update: Created MediaWiki directory structureKelly Rauchenberger2008-09-130-0/+0
* Series: Added instaDisc_checkVerification()Kelly Rauchenberger2008-09-112-0/+38
* Update: Added back $idusSubscriptionTitleKelly Rauchenberger2008-09-111-3/+5
* Series: Added sendFromUpdate()Kelly Rauchenberger2008-09-111-1/+13
* Series: Moved around directory structureKelly Rauchenberger2008-09-1032-0/+0
* Update: Added more fieldsKelly Rauchenberger2008-09-101-7/+22
* Series: Fixed a few errorsKelly Rauchenberger2008-09-072-3/+3
* Series: Added Add Subscription formKelly Rauchenberger2008-09-074-0/+252
* Series: [15]Kelly Rauchenberger2008-09-071-0/+7
* Series: Added change password formKelly Rauchenberger2008-09-073-0/+219
* Series: Fixed bug in install.phpKelly Rauchenberger2008-09-071-1/+1
* Series: Hashed admin passwordKelly Rauchenberger2008-09-071-1/+1
* Series: Added admin/logout.phpKelly Rauchenberger2008-09-071-0/+26
* Series: Started ACPKelly Rauchenberger2008-09-077-0/+234
* Series: Added getPasswordInfo() to XML-RPC interfaceKelly Rauchenberger2008-09-071-1/+20
* Series: Added Administrator accountKelly Rauchenberger2008-09-072-3/+26
* Series: Fixed up index.phpKelly Rauchenberger2008-09-073-2/+13
* Series: Wrote installation scriptKelly Rauchenberger2008-09-072-0/+503
* Central: Updated database schemaKelly Rauchenberger2008-09-071-3/+3
* Client: Centralized CentralKelly Rauchenberger2008-09-075-121/+98
* Central: Fixed a few errorsKelly Rauchenberger2008-09-071-6/+8
* General: [15]Kelly Rauchenberger2008-09-072-1/+3
* Series: Updated Subscription File generator againKelly Rauchenberger2008-09-071-0/+1
* Series: Updated Subscription File generatorKelly Rauchenberger2008-09-061-0/+2
* Update: Removed category valueKelly Rauchenberger2008-09-061-4/+2
* Update: Centralized Central in SubversionKelly Rauchenberger2008-09-061-11/+7
* Update: Centralized Central in WordpressKelly Rauchenberger2008-09-062-109/+19
* Central: Removed UN and PW valuesKelly Rauchenberger2008-09-061-1/+1
* Update: Removed UN and PW valuesKelly Rauchenberger2008-09-061-11/+4
* Update: Centralized Central in phpBB3Kelly Rauchenberger2008-09-066-100/+21
* Update: Centralized Central in LibraryKelly Rauchenberger2008-09-062-37/+10
* Central: Removed idea of multiple central serversKelly Rauchenberger2008-09-064-250/+12
* Central: Moved to SeriesKelly Rauchenberger2008-09-063-33/+45
* Series: Created database schemaKelly Rauchenberger2008-09-061-0/+44
* Central: Started moving to SeriesKelly Rauchenberger2008-09-0612-626/+66
* Series: Imported XML-RPC librariesKelly Rauchenberger2008-09-069-0/+6194
* Series: Started work on Series ControlKelly Rauchenberger2008-09-068-0/+315
* Series: Created directory structureKelly Rauchenberger2008-09-060-0/+0
* Client: Added the ability to disable UnreadKelly Rauchenberger2008-09-028-32/+128
* Client: Added Unread flag manipulationKelly Rauchenberger2008-09-015-1/+111
* Client: Added Unread flagKelly Rauchenberger2008-09-016-90/+241
* Central: Patched security holeKelly Rauchenberger2008-08-311-1/+4
* Central: Switched order of sendDatabaseKelly Rauchenberger2008-08-311-29/+32
* Central: Fixes #47Kelly Rauchenberger2008-08-283-6/+28
* Central: Fixed a few typos/errorsKelly Rauchenberger2008-08-262-8/+8
* Central: Create Subscription Management pageKelly Rauchenberger2008-08-263-0/+83
* Central: Added Activate Subscription formKelly Rauchenberger2008-08-256-5/+220
* Update: Revert two accidental edits in phpBB3Kelly Rauchenberger2008-08-241-2/+2
* Update: Added password protection to phpBB3Kelly Rauchenberger2008-08-241-3/+36
lass="s1">' given', E_USER_WARNING); return; } // Standardise versions $v1 = explode('.', str_replace('..', '.', preg_replace('/([^0-9\.]+)/', '.$1.', str_replace(array('-', '_', '+'), '.', trim($version1))))); $v2 = explode('.', str_replace('..', '.', preg_replace('/([^0-9\.]+)/', '.$1.', str_replace(array('-', '_', '+'), '.', trim($version2))))); // Replace empty entries at the start of the array while (empty($v1[0]) && array_shift($v1)) {} while (empty($v2[0]) && array_shift($v2)) {} // Release state order // '#' stands for any number $versions = array( 'dev' => 0, 'alpha' => 1, 'a' => 1, 'beta' => 2, 'b' => 2, 'RC' => 3, '#' => 4, 'p' => 5, 'pl' => 5); // Loop through each segment in the version string $compare = 0; for ($i = 0, $x = min(count($v1), count($v2)); $i < $x; $i++) { if ($v1[$i] == $v2[$i]) { continue; } $i1 = $v1[$i]; $i2 = $v2[$i]; if (is_numeric($i1) && is_numeric($i2)) { $compare = ($i1 < $i2) ? -1 : 1; break; } // We use the position of '#' in the versions list // for numbers... (so take care of # in original string) if ($i1 == '#') { $i1 = ''; } elseif (is_numeric($i1)) { $i1 = '#'; } if ($i2 == '#') { $i2 = ''; } elseif (is_numeric($i2)) { $i2 = '#'; } if (isset($versions[$i1]) && isset($versions[$i2])) { $compare = ($versions[$i1] < $versions[$i2]) ? -1 : 1; } elseif (isset($versions[$i1])) { $compare = 1; } elseif (isset($versions[$i2])) { $compare = -1; } else { $compare = 0; } break; } // If previous loop didn't find anything, compare the "extra" segments if ($compare == 0) { if (count($v2) > count($v1)) { if (isset($versions[$v2[$i]])) { $compare = ($versions[$v2[$i]] < 4) ? 1 : -1; } else { $compare = -1; } } elseif (count($v2) < count($v1)) { if (isset($versions[$v1[$i]])) { $compare = ($versions[$v1[$i]] < 4) ? -1 : 1; } else { $compare = 1; } } } // Compare the versions if (func_num_args() > 2) { switch ($operator) { case '>': case 'gt': return (bool) ($compare > 0); break; case '>=': case 'ge': return (bool) ($compare >= 0); break; case '<=': case 'le': return (bool) ($compare <= 0); break; case '==': case '=': case 'eq': return (bool) ($compare == 0); break; case '<>': case '!=': case 'ne': return (bool) ($compare != 0); break; case '': case '<': case 'lt': return (bool) ($compare < 0); break; default: return; } } return $compare; } } ?>