Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
noblogs-wp
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
33
Issues
33
List
Boards
Labels
Milestones
Merge Requests
2
Merge Requests
2
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
ai
noblogs-wp
Commits
e2d43ff9
Commit
e2d43ff9
authored
Dec 17, 2018
by
ale
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add JSON shard map generator
parent
b344956f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
47 additions
and
0 deletions
+47
-0
wp-nginx-map-json.php
wp-nginx-map-json.php
+47
-0
No files found.
wp-nginx-map-json.php
0 → 100644
View file @
e2d43ff9
<?php
// wp-nginx-map.php (JSON version)
// Load wordpress api.
define
(
'WP_CACHE'
,
false
);
require_once
(
'/opt/noblogs/www/wp-load.php'
);
// Return all blogs.
function
get_blogs
()
{
global
$wpdb
;
$sql
=
"SELECT blog_id, domain FROM
$wpdb->blogs
WHERE deleted = 0 AND archived = '0' ORDER BY domain ASC"
;
$result
=
$wpdb
->
get_results
(
$sql
);
return
(
$result
);
}
function
backend_to_shard_id
(
$backend
)
{
if
(
substr
(
$backend
,
0
,
8
)
!=
'backend_'
)
{
error_log
(
'diamine, di questo backend non so che farmene: '
.
$backend
);
return
'0'
;
}
return
substr
(
$backend
,
8
);
}
// Print the blog -> shard_id map.
function
generate_shard_map
(
$blogs
)
{
global
$wpdb
;
$wpdb_hash
=
&
$wpdb
->
hash_map
;
$shard_map
=
array
();
foreach
(
$blogs
as
$blog
)
{
$blog_id
=
$blog
->
blog_id
;
if
(
$blog_id
==
1
)
continue
;
$backend_id
=
$wpdb_hash
->
lookup
(
$blog_id
);
$shard_id
=
backend_to_shard_id
(
$backend_id
);
$shard_map
[
$blog
->
domain
]
=
$shard_id
;
}
echo
json_encode
(
$shard_map
);
}
function
generate_maps
()
{
$all_blogs
=
get_blogs
();
generate_shard_map
(
$all_blogs
);
}
generate_maps
();
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment