Skip to content

Commit 98c6767

Browse files
committed
Add urlencode of db name
Database names like test-0ea7dc82592910cb7bcc9f2212e069de-2012-10-01T02:43:32+00:00 were causing db not found errors.
1 parent fd37b97 commit 98c6767

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

mongodbadmin.php

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -97,16 +97,16 @@ function linkDocumentReferences($mongo, $document)
9797

9898
$refDb = isset($value['$db']) ? $value['$db'] : $_REQUEST['db'];
9999

100-
$document[$key]['$ref'] = '<a href="'.$_SERVER['PHP_SELF'].'?db='.$refDb.'&collection='.$value['$ref'].'">'.$value['$ref'].'</a>';
100+
$document[$key]['$ref'] = '<a href="'.$_SERVER['PHP_SELF'].'?db='.urlencode($refDb).'&collection='.$value['$ref'].'">'.$value['$ref'].'</a>';
101101

102102
if ($ref['_id'] instanceof MongoId) {
103-
$document[$key]['$id'] = '<a href="'.$_SERVER['PHP_SELF'].'?db='.$refDb.'&collection='.$value['$ref'].'&id='.$value['$id'].'">'.$value['$id'].'</a>';
103+
$document[$key]['$id'] = '<a href="'.$_SERVER['PHP_SELF'].'?db='.urlencode($refDb).'&collection='.$value['$ref'].'&id='.$value['$id'].'">'.$value['$id'].'</a>';
104104
} else {
105-
$document[$key]['$id'] = '<a href="'.$_SERVER['PHP_SELF'].'?db='.$refDb.'&collection='.$value['$ref'].'&id='.$value['$id'].'&custom_id=1">'.$value['$id'].'</a>';
105+
$document[$key]['$id'] = '<a href="'.$_SERVER['PHP_SELF'].'?db='.urlencode($refDb).'&collection='.$value['$ref'].'&id='.$value['$id'].'&custom_id=1">'.$value['$id'].'</a>';
106106
}
107107

108108
if (isset($value['$db'])) {
109-
$document[$key]['$db'] = '<a href="'.$_SERVER['PHP_SELF'].'?db='.$refDb.'">'.$refDb.'</a>';
109+
$document[$key]['$db'] = '<a href="'.$_SERVER['PHP_SELF'].'?db='.urlencode($refDb).'">'.$refDb.'</a>';
110110
}
111111
} else {
112112
$document[$key] = linkDocumentReferences($mongo, $value);
@@ -223,7 +223,7 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
223223
}
224224

225225
if (isset($document['_id'])) {
226-
$url = $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['collection'] . '&id=' . (string) $document['_id'];
226+
$url = $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['collection'] . '&id=' . (string) $document['_id'];
227227

228228
if ($customId) {
229229
header('location: ' . $url . '&custom_id=true');
@@ -248,7 +248,7 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
248248
$mongo->selectDB($_REQUEST['create_db'])->createCollection('__tmp_collection_');
249249
$mongo->selectDB($_REQUEST['create_db'])->dropCollection('__tmp_collection_');
250250

251-
header('location: ' . $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['create_db']);
251+
header('location: ' . $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['create_db']));
252252
exit;
253253

254254
}
@@ -259,7 +259,7 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
259259
->selectDB($_REQUEST['db'])
260260
->createCollection($_REQUEST['create_collection']);
261261

262-
header('location: ' . $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['create_collection']);
262+
header('location: ' . $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['create_collection']);
263263
exit;
264264
}
265265

@@ -270,7 +270,7 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
270270
->selectCollection($_REQUEST['delete_collection'])
271271
->drop();
272272

273-
header('location: ' . $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db']);
273+
header('location: ' . $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']));
274274
exit;
275275
}
276276

@@ -284,7 +284,7 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
284284
$collection->remove(array('_id' => new MongoId($_REQUEST['delete_document'])));
285285
}
286286

287-
header('location: ' . $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['collection']);
287+
header('location: ' . $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['collection']);
288288
exit;
289289
}
290290

@@ -298,7 +298,7 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
298298
unset($document[$_REQUEST['delete_document_field']]);
299299
$coll->save($document);
300300

301-
$url = $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['collection'] . '&id=' . (string) $document['_id'];
301+
$url = $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['collection'] . '&id=' . (string) $document['_id'];
302302
header('location: ' . $url);
303303
exit;
304304
}
@@ -311,7 +311,7 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
311311
$document = prepareValueForMongoDB($_REQUEST['value']);
312312
$collection->save($document);
313313

314-
$url = $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['collection'] . '&id=' . (string) $document['_id'];
314+
$url = $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['collection'] . '&id=' . (string) $document['_id'];
315315
header('location: ' . $url . ($customId ? '&custom_id=1' : null));
316316
exit;
317317
}
@@ -528,11 +528,11 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
528528
<?php $dbs = $mongo->listDBs() ?>
529529
<?php foreach ($dbs['databases'] as $db): if ($db['name'] === 'local' || $db['name'] === 'admin') continue; ?>
530530
<tr>
531-
<td><a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . $db['name'] ?>"><?php echo $db['name'] ?></a></td>
531+
<td><a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . urlencode($db['name']) ?>"><?php echo $db['name'] ?></a></td>
532532
<td><?php echo count($mongo->selectDb($db['name'])->listCollections()) ?></td>
533533

534534
<?php if ($readOnly !== true): ?>
535-
<td><a href="<?php echo $_SERVER['PHP_SELF'] ?>?delete_db=<?php echo $db['name'] ?>" onClick="return confirm('Are you sure you want to delete this database?');">Delete</a></td>
535+
<td><a href="<?php echo $_SERVER['PHP_SELF'] ?>?delete_db=<?php echo urlencode($db['name']) ?>" onClick="return confirm('Are you sure you want to delete this database?');">Delete</a></td>
536536
<?php else: ?>
537537
<td>&nbsp;</td>
538538
<?php endif; ?>
@@ -546,7 +546,7 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
546546

547547
<?php if ($readOnly !== true): ?>
548548
<div id="create_form">
549-
<form action="<?php echo $_SERVER['PHP_SELF'] ?>?db=<?php echo $_REQUEST['db'] ?>" method="POST">
549+
<form action="<?php echo $_SERVER['PHP_SELF'] ?>?db=<?php echo urlencode($_REQUEST['db']) ?>" method="POST">
550550
<label for="create_collection_field">Create Collection</label>
551551
<input type="text" name="create_collection" id="create_collection_field" />
552552
<input type="submit" name="create" value="Save" class="save_button" />
@@ -570,11 +570,11 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
570570
<?php $collections = $mongo->selectDB($_REQUEST['db'])->listCollections() ?>
571571
<?php foreach ($collections as $collection): ?>
572572
<tr>
573-
<td><a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $collection->getName() ?>"><?php echo $collection->getName() ?></a></td>
573+
<td><a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $collection->getName() ?>"><?php echo $collection->getName() ?></a></td>
574574
<td><?php echo $collection->count(); ?></td>
575575

576576
<?php if ($readOnly !== true): ?>
577-
<td><a href="<?php echo $_SERVER['PHP_SELF'] ?>?db=<?php echo $_REQUEST['db'] ?>&delete_collection=<?php echo $collection->getName() ?>" onClick="return confirm('Are you sure you want to delete this collection?');">Delete</a></td>
577+
<td><a href="<?php echo $_SERVER['PHP_SELF'] ?>?db=<?php echo urlencode($_REQUEST['db']) ?>&delete_collection=<?php echo $collection->getName() ?>" onClick="return confirm('Are you sure you want to delete this collection?');">Delete</a></td>
578578
<?php else: ?>
579579
<td>&nbsp;</td>
580580
<?php endif; ?>
@@ -621,14 +621,14 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
621621

622622
<h2>
623623
<a href="<?php echo $_SERVER['PHP_SELF'] ?>">Databases</a> >>
624-
<a href="<?php echo $_SERVER['PHP_SELF'] ?>?db=<?php echo $_REQUEST['db'] ?>"><?php echo $_REQUEST['db'] ?></a> >>
624+
<a href="<?php echo $_SERVER['PHP_SELF'] ?>?db=<?php echo urlencode($_REQUEST['db']) ?>"><?php echo $_REQUEST['db'] ?></a> >>
625625
<?php echo $_REQUEST['collection'] ?> (<?php echo $cursor->count() ?> Documents)
626626
</h2>
627627

628628
<?php if ($pages > 1): ?>
629629
<div id="pager">
630630
<?php echo $pages ?> pages. Go to page
631-
<input type="text" name="page" size="4" value="<?php echo $page ?>" onChange="javascript: location.href = '<?php echo $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['collection'] ?><?php if (isset($_REQUEST['search'])): ?>&search=<?php echo urlencode($_REQUEST['search']) ?><?php endif; ?>&page=' + this.value;" />
631+
<input type="text" name="page" size="4" value="<?php echo $page ?>" onChange="javascript: location.href = '<?php echo $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['collection'] ?><?php if (isset($_REQUEST['search'])): ?>&search=<?php echo urlencode($_REQUEST['search']) ?><?php endif; ?>&page=' + this.value;" />
632632
<input type="button" name="go" value="Go" />
633633
</div>
634634
<?php endif; ?>
@@ -651,9 +651,9 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
651651
<?php foreach ($cursor as $document): ?>
652652
<tr>
653653
<?php if (is_object($document['_id']) && $document['_id'] instanceof MongoId): ?>
654-
<td><a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['collection'] ?>&id=<?php echo (string) $document['_id'] ?>"><?php echo (string) $document['_id'] ?></a></td>
654+
<td><a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['collection'] ?>&id=<?php echo (string) $document['_id'] ?>"><?php echo (string) $document['_id'] ?></a></td>
655655
<?php else: ?>
656-
<td><a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['collection'] ?>&id=<?php echo (string) $document['_id'] ?>&custom_id=1"><?php echo (string) $document['_id'] ?></a></td>
656+
<td><a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['collection'] ?>&id=<?php echo (string) $document['_id'] ?>&custom_id=1"><?php echo (string) $document['_id'] ?></a></td>
657657
<?php endif; ?>
658658
<td>
659659
<?php
@@ -686,9 +686,9 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
686686
?>
687687
</td>
688688
<?php if (is_object($document['_id']) && $document['_id'] instanceof MongoId && $readOnly !== true): ?>
689-
<td><a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['collection'] ?>&delete_document=<?php echo (string) $document['_id'] ?>" onClick="return confirm('Are you sure you want to delete this document?');">Delete</a></td>
689+
<td><a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['collection'] ?>&delete_document=<?php echo (string) $document['_id'] ?>" onClick="return confirm('Are you sure you want to delete this document?');">Delete</a></td>
690690
<?php elseif ($readOnly !== true): ?>
691-
<td><a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['collection'] ?>&delete_document=<?php echo (string) $document['_id'] ?>&custom_id=1" onClick="return confirm('Are you sure you want to delete this document?');">Delete</a></td>
691+
<td><a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['collection'] ?>&delete_document=<?php echo (string) $document['_id'] ?>&custom_id=1" onClick="return confirm('Are you sure you want to delete this document?');">Delete</a></td>
692692
<?php endif; ?>
693693
</tr>
694694
<?php endforeach; ?>
@@ -721,8 +721,8 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
721721

722722
<h2>
723723
<a href="<?php echo $_SERVER['PHP_SELF'] ?>">Databases</a> >>
724-
<a href="<?php echo $_SERVER['PHP_SELF'] ?>?db=<?php echo $_REQUEST['db'] ?>"><?php echo $_REQUEST['db'] ?></a> >>
725-
<a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['collection'] ?>"><?php echo $_REQUEST['collection'] ?></a> >>
724+
<a href="<?php echo $_SERVER['PHP_SELF'] ?>?db=<?php echo urlencode($_REQUEST['db']) ?>"><?php echo $_REQUEST['db'] ?></a> >>
725+
<a href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['collection'] ?>"><?php echo $_REQUEST['collection'] ?></a> >>
726726
<?php echo $_REQUEST['id'] ?>
727727
</h2>
728728
<?php $document = findMongoDbDocument($_REQUEST['id'], $_REQUEST['db'], $_REQUEST['collection']); ?>
@@ -747,9 +747,9 @@ function findMongoDbDocument($id, $db, $collection, $forceCustomId = false)
747747
<?php endif; ?>
748748
<br/>
749749
<?php if (is_object($document['_id']) && $document['_id'] instanceof MongoId && $readOnly !== true): ?>
750-
<a class="save_button" href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['collection'] ?>&delete_document=<?php echo (string) $document['_id'] ?>" onClick="return confirm('Are you sure you want to delete this document?');">Delete</a>
750+
<a class="save_button" href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['collection'] ?>&delete_document=<?php echo (string) $document['_id'] ?>" onClick="return confirm('Are you sure you want to delete this document?');">Delete</a>
751751
<?php elseif ($readOnly !== true): ?>
752-
<a class="save_button" href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . $_REQUEST['db'] . '&collection=' . $_REQUEST['collection'] ?>&delete_document=<?php echo (string) $document['_id'] ?>&custom_id=1" onClick="return confirm('Are you sure you want to delete this document?');">Delete</a>
752+
<a class="save_button" href="<?php echo $_SERVER['PHP_SELF'] . '?db=' . urlencode($_REQUEST['db']) . '&collection=' . $_REQUEST['collection'] ?>&delete_document=<?php echo (string) $document['_id'] ?>&custom_id=1" onClick="return confirm('Are you sure you want to delete this document?');">Delete</a>
753753
<?php endif; ?>
754754

755755
<?php endif; ?>

0 commit comments

Comments
 (0)