function &getItemFromRow(&$row)
 {
     $item = null;
     switch ($row['item_type']) {
         case PLUGIN_DOCMAN_ITEM_TYPE_FOLDER:
             $item = new Docman_Folder($row);
             break;
         case PLUGIN_DOCMAN_ITEM_TYPE_FILE:
             $item = new Docman_File($row);
             break;
         case PLUGIN_DOCMAN_ITEM_TYPE_LINK:
             $item = new Docman_Link($row);
             if (isset($row['link_version_id'])) {
                 $item->setCurrentVersion(new Docman_LinkVersion(array('id' => $row['link_version_id'], 'user_id' => $row['link_version_user_id'], 'item_id' => $item->getId(), 'number' => $row['link_version_number'], 'label' => $row['link_version_label'], 'changelog' => $row['link_version_changelog'], 'date' => $row['link_version_date'], 'link_url' => $row['link_version_link_url'])));
             }
             break;
         case PLUGIN_DOCMAN_ITEM_TYPE_EMBEDDEDFILE:
             $item = new Docman_EmbeddedFile($row);
             break;
         case PLUGIN_DOCMAN_ITEM_TYPE_WIKI:
             $item = new Docman_Wiki($row);
             break;
         case PLUGIN_DOCMAN_ITEM_TYPE_EMPTY:
             $item = new Docman_Empty($row);
             break;
         default:
             return;
     }
     if ($row['item_type'] == PLUGIN_DOCMAN_ITEM_TYPE_FILE || $row['item_type'] == PLUGIN_DOCMAN_ITEM_TYPE_EMBEDDEDFILE) {
         if (isset($row['version_id'])) {
             $version = array('id' => $row['version_id'], 'user_id' => $row['version_user_id'], 'item_id' => $item->getId(), 'number' => $row['version_number'], 'label' => $row['version_label'], 'changelog' => $row['version_changelog'], 'date' => $row['version_date'], 'filename' => $row['version_filename'], 'filesize' => $row['version_filesize'], 'filetype' => $row['version_filetype'], 'path' => $row['version_path']);
             $item->setCurrentVersion(new Docman_Version($version));
         }
     }
     return $item;
 }