Sponsored Content
The Lounge What is on Your Mind? VBulletin 3.8 to Discourse on Docker Migration Test Take Four Post 303045371 by Neo on Wednesday 18th of March 2020 11:12:43 AM
Old 03-18-2020
Regarding PHP code to create migration table for vb thanks to discourse likes, I have modified the code to make up for a mismatch between how vb3 and discourse deals with the first post in a topic (testing now):

Code:
 <?php

/**************************************************
+-----------+------------+-----------+-----------+
| thanker   | unixtime   | id        | thanked   |
+-----------+------------+-----------+-----------+
|         1 | 1584149592 | 303045211 | 302093876 |
| 302153369 | 1584136706 | 303045214 | 302116191 |
| 302108573 | 1584128526 | 303045211 | 302093876 |
| 302153369 | 1584126659 | 303042175 | 302116191 |
| 302153369 | 1584126400 | 303045174 | 302116191 |
| 302153369 | 1584117711 | 303045184 |         1 |
|     37898 | 1584108187 | 303045175 |         1 |
| 302181242 | 1584106664 | 303045201 | 302122047 |
| 302181242 | 1584104642 | 303045074 | 302052697 |
| 302025710 | 1584103722 | 303045184 |         1 |
+-----------+------------+-----------+-----------+
 **************************************************/

$query = 'SELECT p.threadid AS threadid,t.userid AS thanker,t.date AS unixtime,t.postid AS postid,p.userid AS thanked from post_thanks as t LEFT JOIN post p ON p.postid = t.postid';

$allthanks = $vbulletin->db->query_read($query);

/****************************************
mysql> describe user_actions;
+-----------------+------------------+------+-----+---------+----------------+
| Field           | Type             | Null | Key | Default | Extra          |
+-----------------+------------------+------+-----+---------+----------------+
| id              | int(11)          | NO   | PRI | NULL    | auto_increment |
| action_type     | int(11) unsigned | NO   |     | NULL    |                |
| user_id         | int(11) unsigned | NO   |     | NULL    |                |
| target_topic_id | int(11) unsigned | YES  |     | NULL    |                |
| target_post_id  | varchar(16)      | YES  |     | NULL    |                |
| target_user_id  | int(11) unsigned | YES  |     | NULL    |                |
| acting_user_id  | int(11) unsigned | YES  |     | NULL    |                |
| created_at      | timestamp        | YES  |     | NULL    |                |
| updated_at      | timestamp        | YES  |     | NULL    |                |
+-----------------+------------------+------+-----+---------+----------------+
9 rows in set (0.00 sec)
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
 *************************************/

$action_code = 2; // discourse like action == 2
$target_user_id = "";
while ($action = $vbulletin->db->fetch_array($allthanks)) {

    #code to deal with how discourse tags the first post in a topic in the post_custom_fields table
    $query = 'SELECT firstpostid FROM thread WHERE threadid =' . $action['threadid'] . ' LIMIT 1';
    $threadinfo = $vbulletin->db->query_first($query);
    if ($threadinfo['firstpostid'] == $action['postid']) {
        $action['postid'] = 'thread-' . $action['threadid'];
    }

    $update = 'INSERT INTO user_actions (action_type, user_id, target_topic_id, target_post_id, target_user_id,acting_user_id, created_at, updated_at)' .
        ' VALUES (' . $action_code . ',' .
        '"' . $action['thanked'] . '",' .
        '"' . $action['threadid'] . '",' .
        '"' . $action['postid'] . '",' .
        '"' . $target_user_id . '",' .
        '"' . $action['thanker'] . '",' .
        'FROM_UNIXTIME(' . $action['unixtime'] . '),' .
        'FROM_UNIXTIME(' . $action['unixtime'] . '))';
    $doit = $vbulletin->db->query_write($update);
}


Testing now.
 

7 More Discussions You Might Find Interesting

1. Web Development

Removing VBSEO for vbulletin – Reverting back to vbulletin URLs

Please note, this information was copied from vbseo.com, now showing a database error. This is posted for reference since vbSEO seems to be going out of business: If you ever need to uninstall vBSEO , you can use the following instructions. Make sure you carefully follow each step. Login... (37 Replies)
Discussion started by: Neo
37 Replies

2. Linux

Docker and pipework,ip with other subnet

Recently i found this for give to docker a "personal" ip ip addr del 10.1.1.133/24 dev eth0 ip link add link eth0 dev eth0m type macvlan mode bridge ip link set eth0m up ip addr add 10.1.1.133/24 dev eth0m route add default gw 10.1.1.1On container i did ... (0 Replies)
Discussion started by: Linusolaradm1
0 Replies

3. AIX

AIX - FC Switch migration, SAN Migration question!

I'm New to AIX / VIOS We're doing a FC switch cutover on an ibm device, connected via SAN. How do I tell if one path to my remote disk is lost? (aix lvm) How do I tell when my link is down on my HBA port? Appreciate your help, very much! (4 Replies)
Discussion started by: BG_JrAdmin
4 Replies

4. Shell Programming and Scripting

Problem in extracting yocto SDK for docker

Actually I was facing the following issue while building my Yocto SDK on Docker container sudo docker build --tag="akash/eclipse-che:6.5.0-1" --tag="akash/eclipse-che:latest" /home/akash/dockerimage.yocto.support/ Sending build context to Docker daemon 26.93MB Step 1/5 : FROM eclipse/cpp_gcc ... (3 Replies)
Discussion started by: Akash BHardwaj
3 Replies

5. Docker

Docker learning Phase-I

Hello All, I had recently learnt a bit of Docker(which provides containerization process). Here are some of my learning points from it. Let us start first with very basic question: What is Docker: Docker is a platform for sysadmins and developers to DEPLOY, DEVELOP and RUN applications ... (7 Replies)
Discussion started by: RavinderSingh13
7 Replies

6. What is on Your Mind?

VBulletin 3.8 to Discourse on Docker Migration Test Take Two

OK. Like we all do, we learn a lot from tests, test migrations, and so forth. Today, I started from scratch on test migration 2, armed with a lot more knowledge, The main differences are as follows: Installed discourse plugin ruby-bbcode-to-md before starting the install Modified... (30 Replies)
Discussion started by: Neo
30 Replies

7. What is on Your Mind?

Under Consideration: Migrate the Forums to Discourse

Dear All, After being active on the Node-RED forum for the last few weeks, I have been very impressed with Discourse, and my eyes have been opened. https://www.discourse.org/ but not the paid /hosted offering, but using the open distribution: https://github.com/discourse/discourse ... (52 Replies)
Discussion started by: Neo
52 Replies
Router::Simple::Cookbook(3pm)				User Contributed Perl Documentation			     Router::Simple::Cookbook(3pm)

NAME
Router::Simple::Cookbook - The Router::Simple Cookbook FAQ
How to create Sinatra-ish framework with Router::Simple? Please read the following example code. package MySinatraish; use Router::Simple; use Plack::Request; sub import { my $pkg = caller(0); my $router = Router::Simple->new(); my $any = sub ($$;$) { my ($pattern, $dest, $opt) = do { if (@_ == 3) { my ($methods, $pattern, $code) = @_; ($pattern, {code => $code}, +{method => [ map { uc $_ } @$methods ]}); } else { my ($pattern, $code) = @_; ($pattern, {code => $code}, +{}); } }; $router->connect( $pattern, $dest, $opt, ); }; no strict 'refs'; # any [qw/get post delete/] => '/bye' => sub { ... }; # any '/bye' => sub { ... }; *{"${pkg}::any"} = $any; *{"${pkg}::get"} = sub { $any->([qw/GET HEAD/], $_[0], $_[1]); }; *{"${pkg}::post"} = sub { $any->([qw/POST/], $_[0], $_[1]); }; *{"${pkg}::as_psgi_app"} = sub { return sub { if (my $p = $router->match($_[0])) { [200, [], [$p->{code}->()]]; } else { [404, [], ['not found']]; } } }; } package MyApp; use MySinatraish; get '/' => sub { 'top'; }; post '/new' => sub { 'posted'; }; as_psgi_app; How to switch from HTTPx::Dispatcher? HTTPx::Dispatcher is class specific declararative router. package MyApp::Dispatcher; use HTTPx::Dspatcher; connect '/', {controller => 'foo', action => 'bar'}; 1; The following script is same as above. package MyApp::Dispatcher; use Router::Simple::Declare; my $router = router { connect '/', {controller => 'foo', action => 'bar'}; }; sub match { $router->match() } How to use Router::Simple with non-strictly-MVC application? use Router::Simple::Declare; my $router = router { connect '/foo/bar/' => { 'target' => '/foobar.asp' }; connect '/topics/:topic' => { target => '/my-topic.asp' }; connect '/products/{Category:.*}' => { target => '/products.asp', Category => 'All' }; connect '/zipcode/{zip:[0-9]{5,5}}' => {target => '/zipcode.asp' }; }; You can pass the target path as destination. AUTHOR
Tokuhiro Matsuno <tokuhirom AAJKLFJEF GMAIL COM> LICENSE
Copyright (C) Tokuhiro Matsuno This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
Router::Simple perl v5.14.2 2011-05-15 Router::Simple::Cookbook(3pm)
All times are GMT -4. The time now is 01:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy