protected function insertPost($post)
 {
     static $post_model;
     if (!$post_model) {
         $post_model = new blogPostModel();
     }
     if (empty($post['contact_id'])) {
         $post['contact_id'] = $this->settings['contact'];
     }
     $method = __METHOD__;
     $this->log(var_export(compact('method', 'post'), true));
     $post['blog_id'] = $this->settings['blog'];
     $post['blog_status'] = $this->settings['blog_status'];
     $post['text'] = $this->userReplace($post['text']);
     $post_model->ping();
     switch ($field = $this->settings['mode']) {
         case 'title':
             if ($p = $post_model->getByField(array($field => $post[$field], 'blog_id' => $post['blog_id']))) {
                 $this->log("Post with timestamp [{$post['timestamp']}] skipped because there was a duplicate (id={$p['id']})", self::LOG_NOTICE);
                 $this->log("Post raw data " . var_export($post, true), self::LOG_DEBUG);
                 return false;
             }
             break;
     }
     if ($post['blog_status'] == blogBlogModel::STATUS_PUBLIC) {
         $post['url'] = $post_model->genUniqueUrl(empty($post['url']) ? $post['title'] : $post['url']);
     } elseif (!empty($post['url'])) {
         $post['url'] = $post_model->genUniqueUrl($post['url']);
     } else {
         $post['url'] = '';
     }
     $post['id'] = $post_model->updateItem(null, $post);
     return $post;
 }