[ Index ]

PHP Cross Reference of BBPress

title

Body

[close]

/src/includes/admin/converters/ -> PunBB.php (source)

   1  <?php
   2  
   3  /**
   4   * bbPress PunBB Converter
   5   *
   6   * @package bbPress
   7   * @subpackage Converters
   8   */
   9  
  10  /**
  11   * Implementation of PunBB v1.4.2 Forum converter.
  12   *
  13   * @since 2.5.0 bbPress (r5153)
  14   *
  15   * @link Codex Docs https://codex.bbpress.org/import-forums/punbb
  16   */
  17  class PunBB extends BBP_Converter_Base {
  18  
  19      /**
  20       * Main Constructor
  21       *
  22       */
  23  	public function __construct() {
  24          parent::__construct();
  25      }
  26  
  27      /**
  28       * Sets up the field mappings
  29       */
  30  	public function setup_globals() {
  31  
  32          /** Forum Section *****************************************************/
  33  
  34          // Old forum id (Stored in postmeta)
  35          $this->field_map[] = array(
  36              'from_tablename' => 'forums',
  37              'from_fieldname' => 'id',
  38              'to_type'        => 'forum',
  39              'to_fieldname'   => '_bbp_old_forum_id'
  40          );
  41  
  42          // Forum topic count (Stored in postmeta)
  43          $this->field_map[] = array(
  44              'from_tablename' => 'forums',
  45              'from_fieldname' => 'num_topics',
  46              'to_type'        => 'forum',
  47              'to_fieldname'   => '_bbp_topic_count'
  48          );
  49  
  50          // Forum reply count (Stored in postmeta)
  51          $this->field_map[] = array(
  52              'from_tablename' => 'forums',
  53              'from_fieldname' => 'num_posts',
  54              'to_type'        => 'forum',
  55              'to_fieldname'   => '_bbp_reply_count'
  56          );
  57  
  58          // Forum total topic count (Includes unpublished topics, Stored in postmeta)
  59          $this->field_map[] = array(
  60              'from_tablename' => 'forums',
  61              'from_fieldname' => 'num_topics',
  62              'to_type'        => 'forum',
  63              'to_fieldname'   => '_bbp_total_topic_count'
  64          );
  65  
  66          // Forum total reply count (Includes unpublished replies, Stored in postmeta)
  67          $this->field_map[] = array(
  68              'from_tablename' => 'forums',
  69              'from_fieldname' => 'num_posts',
  70              'to_type'        => 'forum',
  71              'to_fieldname'   => '_bbp_total_reply_count'
  72          );
  73  
  74          // Forum title.
  75          $this->field_map[] = array(
  76              'from_tablename' => 'forums',
  77              'from_fieldname' => 'forum_name',
  78              'to_type'        => 'forum',
  79              'to_fieldname'   => 'post_title'
  80          );
  81  
  82          // Forum slug (Clean name to avoid conflicts)
  83          $this->field_map[] = array(
  84              'from_tablename'  => 'forums',
  85              'from_fieldname'  => 'forum_name',
  86              'to_type'         => 'forum',
  87              'to_fieldname'    => 'post_name',
  88              'callback_method' => 'callback_slug'
  89          );
  90  
  91          // Forum description.
  92          $this->field_map[] = array(
  93              'from_tablename'  => 'forums',
  94              'from_fieldname'  => 'forum_desc',
  95              'to_type'         => 'forum',
  96              'to_fieldname'    => 'post_content',
  97              'callback_method' => 'callback_null'
  98          );
  99  
 100          // Forum display order (Starts from 1)
 101          $this->field_map[] = array(
 102              'from_tablename' => 'forums',
 103              'from_fieldname' => 'disp_position',
 104              'to_type'        => 'forum',
 105              'to_fieldname'   => 'menu_order'
 106          );
 107  
 108          // Forum type (Set a default value 'forum', Stored in postmeta)
 109          $this->field_map[] = array(
 110              'to_type'      => 'forum',
 111              'to_fieldname' => '_bbp_forum_type',
 112              'default'      => 'forum'
 113          );
 114  
 115          // Forum status (Set a default value 'open', Stored in postmeta)
 116          $this->field_map[] = array(
 117              'to_type'      => 'forum',
 118              'to_fieldname' => '_bbp_status',
 119              'default'      => 'open'
 120          );
 121  
 122          // Forum dates.
 123          $this->field_map[] = array(
 124              'to_type'      => 'forum',
 125              'to_fieldname' => 'post_date',
 126              'default'      => date('Y-m-d H:i:s')
 127          );
 128          $this->field_map[] = array(
 129              'to_type'      => 'forum',
 130              'to_fieldname' => 'post_date_gmt',
 131              'default'      => date('Y-m-d H:i:s')
 132          );
 133          $this->field_map[] = array(
 134              'to_type'      => 'forum',
 135              'to_fieldname' => 'post_modified',
 136              'default'      => date('Y-m-d H:i:s')
 137          );
 138          $this->field_map[] = array(
 139              'to_type'      => 'forum',
 140              'to_fieldname' => 'post_modified_gmt',
 141              'default'      => date('Y-m-d H:i:s')
 142          );
 143  
 144          /** Forum Subscriptions Section ***************************************/
 145  
 146          // Subscribed forum ID (Stored in usermeta)
 147          $this->field_map[] = array(
 148              'from_tablename'  => 'forum_subscriptions',
 149              'from_fieldname'  => 'forum_id',
 150              'to_type'         => 'forum_subscriptions',
 151              'to_fieldname'    => '_bbp_forum_subscriptions'
 152          );
 153  
 154          // Subscribed user ID (Stored in usermeta)
 155          $this->field_map[] = array(
 156              'from_tablename'  => 'forum_subscriptions',
 157              'from_fieldname'  => 'user_id',
 158              'to_type'         => 'forum_subscriptions',
 159              'to_fieldname'    => 'user_id',
 160              'callback_method' => 'callback_userid'
 161          );
 162  
 163          /** Topic Section *****************************************************/
 164  
 165          // Old topic id (Stored in postmeta)
 166          $this->field_map[] = array(
 167              'from_tablename' => 'topics',
 168              'from_fieldname' => 'id',
 169              'to_type'        => 'topic',
 170              'to_fieldname'   => '_bbp_old_topic_id'
 171          );
 172  
 173          // Topic reply count (Stored in postmeta)
 174          $this->field_map[] = array(
 175              'from_tablename'  => 'topics',
 176              'from_fieldname'  => 'num_replies',
 177              'to_type'         => 'topic',
 178              'to_fieldname'    => '_bbp_reply_count',
 179              'callback_method' => 'callback_topic_reply_count'
 180          );
 181  
 182          // Topic total reply count (Includes unpublished replies, Stored in postmeta)
 183          $this->field_map[] = array(
 184              'from_tablename'  => 'topics',
 185              'from_fieldname'  => 'num_replies',
 186              'to_type'         => 'topic',
 187              'to_fieldname'    => '_bbp_total_reply_count',
 188              'callback_method' => 'callback_topic_reply_count'
 189          );
 190  
 191          // Topic parent forum id (If no parent, then 0. Stored in postmeta)
 192          $this->field_map[] = array(
 193              'from_tablename'  => 'topics',
 194              'from_fieldname'  => 'forum_id',
 195              'to_type'         => 'topic',
 196              'to_fieldname'    => '_bbp_forum_id',
 197              'callback_method' => 'callback_forumid'
 198          );
 199  
 200          // Topic author.
 201          // Note: We join the 'posts' table because 'topics' table does not have user id's.
 202          $this->field_map[] = array(
 203              'from_tablename'  => 'posts',
 204              'from_fieldname'  => 'poster_id',
 205              'join_tablename'  => 'topics',
 206              'join_type'       => 'LEFT',
 207              'join_expression' => 'ON topics.first_post_id = posts.id',
 208              'to_type'         => 'topic',
 209              'to_fieldname'    => 'post_author',
 210              'callback_method' => 'callback_userid'
 211          );
 212  
 213          // Topic author name (Stored in postmeta as _bbp_anonymous_name)
 214          $this->field_map[] = array(
 215              'from_tablename'  => 'topics',
 216              'from_fieldname'  => 'poster',
 217              'to_type'         => 'topic',
 218              'to_fieldname'    => '_bbp_old_topic_author_name_id'
 219          );
 220  
 221          // Is the topic anonymous (Stored in postmeta)
 222          $this->field_map[] = array(
 223              'from_tablename'  => 'posts',
 224              'from_fieldname'  => 'poster_id',
 225              'join_tablename'  => 'topics',
 226              'join_type'       => 'LEFT',
 227              'join_expression' => 'ON topics.first_post_id = posts.id',
 228              'to_type'         => 'topic',
 229              'to_fieldname'    => '_bbp_old_is_topic_anonymous_id',
 230              'callback_method' => 'callback_check_anonymous'
 231          );
 232  
 233          // Topic Author ip (Stored in postmeta)
 234          // Note: We join the 'posts' table because 'topics' table does not have author ip.
 235          $this->field_map[] = array(
 236              'from_tablename'  => 'posts',
 237              'from_fieldname'  => 'poster_ip',
 238              'join_tablename'  => 'topics',
 239              'join_type'       => 'LEFT',
 240              'join_expression' => 'ON topics.first_post_id = posts.id',
 241              'to_type'         => 'topic',
 242              'to_fieldname'    => '_bbp_author_ip'
 243          );
 244  
 245          // Topic content.
 246          // Note: We join the 'posts' table because 'topics' table does not have content.
 247          $this->field_map[] = array(
 248              'from_tablename'  => 'posts',
 249              'from_fieldname'  => 'message',
 250              'join_tablename'  => 'topics',
 251              'join_type'       => 'LEFT',
 252              'join_expression' => 'ON topics.first_post_id = posts.id',
 253              'to_type'         => 'topic',
 254              'to_fieldname'    => 'post_content',
 255              'callback_method' => 'callback_html'
 256          );
 257  
 258          // Topic title.
 259          $this->field_map[] = array(
 260              'from_tablename' => 'topics',
 261              'from_fieldname' => 'subject',
 262              'to_type'        => 'topic',
 263              'to_fieldname'   => 'post_title'
 264          );
 265  
 266          // Topic slug (Clean name to avoid conflicts)
 267          $this->field_map[] = array(
 268              'from_tablename'  => 'topics',
 269              'from_fieldname'  => 'subject',
 270              'to_type'         => 'topic',
 271              'to_fieldname'    => 'post_name',
 272              'callback_method' => 'callback_slug'
 273          );
 274  
 275          // Topic parent forum id (If no parent, then 0)
 276          $this->field_map[] = array(
 277              'from_tablename'  => 'topics',
 278              'from_fieldname'  => 'forum_id',
 279              'to_type'         => 'topic',
 280              'to_fieldname'    => 'post_parent',
 281              'callback_method' => 'callback_forumid'
 282          );
 283  
 284          // Topic status (Open or Closed, PunBB v1.4.2 0=open & 1=closed)
 285          $this->field_map[] = array(
 286              'from_tablename'  => 'topics',
 287              'from_fieldname'  => 'closed',
 288              'to_type'         => 'topic',
 289              'to_fieldname'    => '_bbp_old_closed_status_id',
 290              'callback_method' => 'callback_topic_status'
 291          );
 292  
 293          // Sticky status (Stored in postmeta)
 294          $this->field_map[] = array(
 295              'from_tablename'  => 'topics',
 296              'from_fieldname'  => 'sticky',
 297              'to_type'         => 'topic',
 298              'to_fieldname'    => '_bbp_old_sticky_status_id',
 299              'callback_method' => 'callback_sticky_status'
 300          );
 301          // Topic dates.
 302          $this->field_map[] = array(
 303              'from_tablename'  => 'topics',
 304              'from_fieldname'  => 'posted',
 305              'to_type'         => 'topic',
 306              'to_fieldname'    => 'post_date',
 307              'callback_method' => 'callback_datetime'
 308          );
 309          $this->field_map[] = array(
 310              'from_tablename'  => 'topics',
 311              'from_fieldname'  => 'posted',
 312              'to_type'         => 'topic',
 313              'to_fieldname'    => 'post_date_gmt',
 314              'callback_method' => 'callback_datetime'
 315          );
 316          $this->field_map[] = array(
 317              'from_tablename'  => 'topics',
 318              'from_fieldname'  => 'last_post',
 319              'to_type'         => 'topic',
 320              'to_fieldname'    => 'post_modified',
 321              'callback_method' => 'callback_datetime'
 322          );
 323          $this->field_map[] = array(
 324              'from_tablename'  => 'topics',
 325              'from_fieldname'  => 'last_post',
 326              'to_type'         => 'topic',
 327              'to_fieldname'    => 'post_modified_gmt',
 328              'callback_method' => 'callback_datetime'
 329          );
 330          $this->field_map[] = array(
 331              'from_tablename'  => 'topics',
 332              'from_fieldname'  => 'last_post',
 333              'to_type'         => 'topic',
 334              'to_fieldname'    => '_bbp_last_active_time',
 335              'callback_method' => 'callback_datetime'
 336          );
 337  
 338          /** Tags Section ******************************************************/
 339  
 340          /**
 341           * PunBB v1.4.2 Forums do not support topic tags out of the box
 342           */
 343  
 344          /** Topic Subscriptions Section ***************************************/
 345  
 346          // Subscribed topic ID (Stored in usermeta)
 347          $this->field_map[] = array(
 348              'from_tablename'  => 'subscriptions',
 349              'from_fieldname'  => 'topic_id',
 350              'to_type'         => 'topic_subscriptions',
 351              'to_fieldname'    => '_bbp_subscriptions'
 352          );
 353  
 354          // Subscribed user ID (Stored in usermeta)
 355          $this->field_map[] = array(
 356              'from_tablename'  => 'subscriptions',
 357              'from_fieldname'  => 'user_id',
 358              'to_type'         => 'topic_subscriptions',
 359              'to_fieldname'    => 'user_id',
 360              'callback_method' => 'callback_userid'
 361          );
 362  
 363          /** Reply Section *****************************************************/
 364  
 365          // Old reply id (Stored in postmeta)
 366          $this->field_map[] = array(
 367              'from_tablename'  => 'posts',
 368              'from_fieldname'  => 'id',
 369              'to_type'         => 'reply',
 370              'to_fieldname'    => '_bbp_old_reply_id'
 371          );
 372  
 373          // Reply parent forum id (If no parent, then 0. Stored in postmeta)
 374          // Note: We join the 'topics' table because 'posts' table does not have parent forum id's.
 375          $this->field_map[] = array(
 376              'from_tablename'  => 'topics',
 377              'from_fieldname'  => 'forum_id',
 378              'join_tablename'  => 'posts',
 379              'join_type'       => 'LEFT',
 380              'join_expression' => 'ON topics.id = posts.topic_id WHERE topics.first_post_id != posts.id',
 381              'to_type'         => 'reply',
 382              'to_fieldname'    => '_bbp_forum_id',
 383              'callback_method' => 'callback_topicid_to_forumid'
 384          );
 385  
 386          // Reply parent topic id (If no parent, then 0. Stored in postmeta)
 387          $this->field_map[] = array(
 388              'from_tablename'  => 'posts',
 389              'from_fieldname'  => 'topic_id',
 390              'to_type'         => 'reply',
 391              'to_fieldname'    => '_bbp_topic_id',
 392              'callback_method' => 'callback_topicid'
 393          );
 394  
 395          // Reply author ip (Stored in postmeta)
 396          $this->field_map[] = array(
 397              'from_tablename' => 'posts',
 398              'from_fieldname' => 'poster_ip',
 399              'to_type'        => 'reply',
 400              'to_fieldname'   => '_bbp_author_ip'
 401          );
 402  
 403          // Reply author.
 404          $this->field_map[] = array(
 405              'from_tablename'  => 'posts',
 406              'from_fieldname'  => 'poster_id',
 407              'to_type'         => 'reply',
 408              'to_fieldname'    => 'post_author',
 409              'callback_method' => 'callback_userid'
 410          );
 411  
 412          // Reply author name (Stored in postmeta as _bbp_anonymous_name)
 413          $this->field_map[] = array(
 414              'from_tablename'  => 'posts',
 415              'from_fieldname'  => 'poster',
 416              'to_type'         => 'reply',
 417              'to_fieldname'    => '_bbp_old_reply_author_name_id'
 418          );
 419  
 420          // Is the reply anonymous (Stored in postmeta)
 421          $this->field_map[] = array(
 422              'from_tablename'  => 'posts',
 423              'from_fieldname'  => 'poster_id',
 424              'to_type'         => 'reply',
 425              'to_fieldname'    => '_bbp_old_is_reply_anonymous_id',
 426              'callback_method' => 'callback_check_anonymous'
 427          );
 428  
 429          // Reply content.
 430          $this->field_map[] = array(
 431              'from_tablename'  => 'posts',
 432              'from_fieldname'  => 'message',
 433              'to_type'         => 'reply',
 434              'to_fieldname'    => 'post_content',
 435              'callback_method' => 'callback_html'
 436          );
 437  
 438          // Reply parent topic id (If no parent, then 0)
 439          $this->field_map[] = array(
 440              'from_tablename'  => 'posts',
 441              'from_fieldname'  => 'topic_id',
 442              'to_type'         => 'reply',
 443              'to_fieldname'    => 'post_parent',
 444              'callback_method' => 'callback_topicid'
 445          );
 446  
 447          // Reply dates.
 448          $this->field_map[] = array(
 449              'from_tablename'  => 'posts',
 450              'from_fieldname'  => 'posted',
 451              'to_type'         => 'reply',
 452              'to_fieldname'    => 'post_date',
 453              'callback_method' => 'callback_datetime'
 454          );
 455          $this->field_map[] = array(
 456              'from_tablename'  => 'posts',
 457              'from_fieldname'  => 'posted',
 458              'to_type'         => 'reply',
 459              'to_fieldname'    => 'post_date_gmt',
 460              'callback_method' => 'callback_datetime'
 461          );
 462          $this->field_map[] = array(
 463              'from_tablename'  => 'posts',
 464              'from_fieldname'  => 'edited',
 465              'to_type'         => 'reply',
 466              'to_fieldname'    => 'post_modified',
 467              'callback_method' => 'callback_datetime'
 468          );
 469          $this->field_map[] = array(
 470              'from_tablename'  => 'posts',
 471              'from_fieldname'  => 'edited',
 472              'to_type'         => 'reply',
 473              'to_fieldname'    => 'post_modified_gmt',
 474              'callback_method' => 'callback_datetime'
 475          );
 476  
 477          /** User Section ******************************************************/
 478  
 479          // Store old user id (Stored in usermeta)
 480          // Don't import user id 1, this is PunBB's guest user
 481          $this->field_map[] = array(
 482              'from_tablename'  => 'users',
 483              'from_fieldname'  => 'id',
 484              'from_expression' => 'WHERE id != 1',
 485              'to_type'         => 'user',
 486              'to_fieldname'    => '_bbp_old_user_id'
 487          );
 488  
 489          // Store old user password (Stored in usermeta serialized with salt)
 490          $this->field_map[] = array(
 491              'from_tablename'  => 'users',
 492              'from_fieldname'  => 'password',
 493              'to_type'         => 'user',
 494              'to_fieldname'    => '_bbp_password',
 495              'callback_method' => 'callback_savepass'
 496          );
 497  
 498          // Store old user salt (This is only used for the SELECT row info for the above password save)
 499          $this->field_map[] = array(
 500              'from_tablename' => 'users',
 501              'from_fieldname' => 'salt',
 502              'to_type'        => 'user',
 503              'to_fieldname'   => ''
 504          );
 505  
 506          // User password verify class (Stored in usermeta for verifying password)
 507          $this->field_map[] = array(
 508              'to_type'      => 'users',
 509              'to_fieldname' => '_bbp_class',
 510              'default'      => 'PunBB'
 511          );
 512  
 513          // User name.
 514          $this->field_map[] = array(
 515              'from_tablename' => 'users',
 516              'from_fieldname' => 'username',
 517              'to_type'        => 'user',
 518              'to_fieldname'   => 'user_login'
 519          );
 520  
 521          // User nice name.
 522          $this->field_map[] = array(
 523              'from_tablename' => 'users',
 524              'from_fieldname' => 'username',
 525              'to_type'        => 'user',
 526              'to_fieldname'   => 'user_nicename'
 527          );
 528  
 529          // User email.
 530          $this->field_map[] = array(
 531              'from_tablename' => 'users',
 532              'from_fieldname' => 'email',
 533              'to_type'        => 'user',
 534              'to_fieldname'   => 'user_email'
 535          );
 536  
 537          // User homepage.
 538          $this->field_map[] = array(
 539              'from_tablename' => 'users',
 540              'from_fieldname' => 'url',
 541              'to_type'        => 'user',
 542              'to_fieldname'   => 'user_url'
 543          );
 544  
 545          // User registered.
 546          $this->field_map[] = array(
 547              'from_tablename'  => 'users',
 548              'from_fieldname'  => 'registered',
 549              'to_type'         => 'user',
 550              'to_fieldname'    => 'user_registered',
 551              'callback_method' => 'callback_datetime'
 552          );
 553  
 554          // User display name.
 555          $this->field_map[] = array(
 556              'from_tablename' => 'users',
 557              'from_fieldname' => 'realname',
 558              'to_type'        => 'user',
 559              'to_fieldname'   => 'display_name'
 560          );
 561  
 562          // User AIM (Stored in usermeta)
 563          $this->field_map[] = array(
 564              'from_tablename' => 'users',
 565              'from_fieldname' => 'aim',
 566              'to_type'        => 'user',
 567              'to_fieldname'   => '_bbp_punbb_user_aim'
 568          );
 569  
 570          // User Yahoo (Stored in usermeta)
 571          $this->field_map[] = array(
 572              'from_tablename' => 'users',
 573              'from_fieldname' => 'yahoo',
 574              'to_type'        => 'user',
 575              'to_fieldname'   => '_bbp_punbb_user_yim'
 576          );
 577  
 578          // Store Jabber
 579          $this->field_map[] = array(
 580              'from_tablename' => 'users',
 581              'from_fieldname' => 'jabber',
 582              'to_type'        => 'user',
 583              'to_fieldname'   => '_bbp_punbb_user_jabber'
 584          );
 585  
 586          // Store ICQ (Stored in usermeta)
 587          $this->field_map[] = array(
 588              'from_tablename' => 'users',
 589              'from_fieldname' => 'icq',
 590              'to_type'        => 'user',
 591              'to_fieldname'   => '_bbp_punbb_user_icq'
 592          );
 593  
 594          // Store MSN (Stored in usermeta)
 595          $this->field_map[] = array(
 596              'from_tablename' => 'users',
 597              'from_fieldname' => 'msn',
 598              'to_type'        => 'user',
 599              'to_fieldname'   => '_bbp_punbb_user_msn'
 600          );
 601  
 602          // Store Facebook (Stored in usermeta)
 603          $this->field_map[] = array(
 604              'from_tablename' => 'users',
 605              'from_fieldname' => 'facebook',
 606              'to_type'        => 'user',
 607              'to_fieldname'   => '_bbp_punbb_user_facebook'
 608          );
 609  
 610          // Store Twitter (Stored in usermeta)
 611          $this->field_map[] = array(
 612              'from_tablename' => 'users',
 613              'from_fieldname' => 'twitter',
 614              'to_type'        => 'user',
 615              'to_fieldname'   => '_bbp_punbb_user_twitter'
 616          );
 617  
 618          // Store LinkedIn (Stored in usermeta)
 619          $this->field_map[] = array(
 620              'from_tablename' => 'users',
 621              'from_fieldname' => 'linkedin',
 622              'to_type'        => 'user',
 623              'to_fieldname'   => '_bbp_punbb_user_linkedin'
 624          );
 625  
 626          // Store Skype (Stored in usermeta)
 627          $this->field_map[] = array(
 628              'from_tablename' => 'users',
 629              'from_fieldname' => 'skype',
 630              'to_type'        => 'user',
 631              'to_fieldname'   => '_bbp_punbb_user_skype'
 632          );
 633  
 634          // Store Signature (Stored in usermeta)
 635          $this->field_map[] = array(
 636              'from_tablename' => 'users',
 637              'from_fieldname' => 'signature',
 638              'to_type'        => 'user',
 639              'to_fieldname'   => '_bbp_punbb_user_sig',
 640              'callback_method' => 'callback_html'
 641          );
 642  
 643          // Store Location (Stored in usermeta)
 644          $this->field_map[] = array(
 645              'from_tablename' => 'users',
 646              'from_fieldname' => 'location',
 647              'to_type'        => 'user',
 648              'to_fieldname'   => '_bbp_punbb_user_from'
 649          );
 650  
 651          // Store Admin Note (Stored in usermeta)
 652          $this->field_map[] = array(
 653              'from_tablename' => 'users',
 654              'from_fieldname' => 'admin_note',
 655              'to_type'        => 'user',
 656              'to_fieldname'   => '_bbp_punbb_user_admin_note'
 657          );
 658      }
 659  
 660      /**
 661       * This method allows us to indicates what is or is not converted for each
 662       * converter.
 663       */
 664  	public function info() {
 665          return '';
 666      }
 667  
 668      /**
 669       * This method is to save the salt and password together.  That
 670       * way when we authenticate it we can get it out of the database
 671       * as one value. Array values are auto sanitized by WordPress.
 672       */
 673  	public function callback_savepass( $field, $row ) {
 674          $pass_array = array( 'hash' => $field, 'salt' => $row['salt'] );
 675          return $pass_array;
 676      }
 677  
 678      /**
 679       * This method is to take the pass out of the database and compare
 680       * to a pass the user has typed in.
 681       */
 682  	public function authenticate_pass( $password, $serialized_pass ) {
 683          $pass_array = unserialize( $serialized_pass );
 684          return ( $pass_array['hash'] == md5( md5( $password ). $pass_array['salt'] ) );
 685      }
 686  
 687      /**
 688       * Translate the post status from PunBB v1.4.2 numerics to WordPress's strings.
 689       *
 690       * @param int $status PunBB v1.4.2 numeric topic status
 691       * @return string WordPress safe
 692       */
 693  	public function callback_topic_status( $status = 0 ) {
 694          switch ( $status ) {
 695              case 1 :
 696                  $status = 'closed';
 697                  break;
 698  
 699              case 0  :
 700              default :
 701                  $status = 'publish';
 702                  break;
 703          }
 704          return $status;
 705      }
 706  
 707      /**
 708       * Translate the topic sticky status type from PunBB v1.4.2 numerics to WordPress's strings.
 709       *
 710       * @param int $status PunBB v1.4.2 numeric forum type
 711       * @return string WordPress safe
 712       */
 713  	public function callback_sticky_status( $status = 0 ) {
 714          switch ( $status ) {
 715              case 1 :
 716                  $status = 'sticky';       // PunBB Sticky 'topic_sticky = 1'
 717                  break;
 718  
 719              case 0  :
 720              default :
 721                  $status = 'normal';       // PunBB Normal Topic 'topic_sticky = 0'
 722                  break;
 723          }
 724          return $status;
 725      }
 726  
 727      /**
 728       * Verify the topic/reply count.
 729       *
 730       * @param int $count PunBB v1.4.2 topic/reply counts
 731       * @return string WordPress safe
 732       */
 733  	public function callback_topic_reply_count( $count = 1 ) {
 734          $count = absint( (int) $count - 1 );
 735          return $count;
 736      }
 737  }


Generated: Sat Dec 21 01:00:52 2024 Cross-referenced by PHPXref 0.7.1