Пример #1
0
 /**
  * Try to create a wikiplace owned by the given user.
  * <ul>
  * <li>try to fetch last user subscription</li>
  * <li>try to create new wikiplace record linked to $homepage_article_id</li>
  * <li>try to initialize the new wikiplace usage</li>
  * </ul>
  * @param int $user_id
  * @param int $homepage_article_id
  * @return WpWikiplace or null if an error occured
  */
 private static function doCreateWikiplace($user_id, $homepage_article_id)
 {
     // creating a new wikiplace
     $subscription = WpSubscription::newByUserId($user_id);
     if ($subscription == null) {
         wfDebugLog('wikiplaces', 'doCreateWikiplace() ERROR cannot create wikiplace, user has no subscription, user='******' article_id=' . $homepage_article_id);
         return null;
     }
     $wikiplace = WpWikiplace::create($homepage_article_id, $subscription);
     if ($wikiplace == null) {
         wfDebugLog('wikiplaces', 'doCreateWikiplace() ERROR while creating wikiplace, user='******' article_id=' . $homepage_article_id);
         return null;
     }
     if (!$wikiplace->forceArchiveAndResetUsage()) {
         wfDebugLog('wikiplaces', 'doCreateWikiplace() ERROR while initialization of wikiplace usage, user='******' article_id=' . $homepage_article_id);
         return null;
     }
     return $wikiplace;
 }