rem: this.setTags(param.tags);   this.setTopic(param.topic || param.addToTopic); 
add: this.setTags(param.tags || param.tag_array) 
context: Story.prototype.evalStory = function(param, modifier) {   var site = this.site || res.handlers.site;   // collect content   var content = extractContent(param, this.content.get());   // if all story parts are null, return with error-message   if (!content.exists) {      throw new Exception("textMissing");   }   // check if the createtime is set in param   if (param.createtime) {      try {         var ctime = param.createtime.toDate("yyyy-MM-dd HH:mm", site.getTimeZone());      } catch (err) {         throw new Exception("timestampParse", param.createtime);      }   }      // re-create day of story with respect to site-timezone   if (ctime && ctime != this.createtime) {      this.createtime = ctime;   }      if (!this.day) {      this.day = this.createtime.format("yyyyMMdd", site.getLocale(),             site.getTimeZone());   }      // store the new values of the story   if (param.publish) {      var newStatus = param.addToFront ? 2 : 1;      if (!this.online || content.isMajorUpdate) {         site.lastupdate = new Date();      }      this.online = newStatus;   } else {      this.online = 0;   }   if (content.isMajorUpdate) {      this.modifytime = new Date();   }   // let's keep the title property   this.title = content.value.title;   if (!this.creator || modifier == this.creator) {      this.editableby = !isNaN(param.editableby) ?                        parseInt(param.editableby, 10) : EDITABLEBY_ADMINS;   }   this.discussions = param.discussions ? 1 : 0;   this.modifier = modifier;   this.ipaddress = param.http_remotehost;      // FIXME: Ugly hack to get back to the StoryMgr   if (!this.site) {      return;   }   this.content.set(content.value);   // Update tags of the story   this.setTags(param.tags);   // FIXME: Set the story's topic (backwards-compatible)   this.setTopic(param.topic || param.addToTopic);   // send e-mail notification   if (site.isNotificationEnabled() && newStatus != 0) {      // status changes from offline to online      // (this is bad because somebody could send a bunch      // of e-mails simply by toggling the online status.)      //if (this.online == 0)      //   this.sendNotification("story", "create");      // major update of an already online story      if (this.online != 0 && content.isMajorUpdate)         site.sendNotification("update", this);   }      var result = new Message("storyUpdate");   result.url = this.online > 0 ? this.href() : site.stories.href();   result.id = this._id;   // add the modified story to search index   app.data.indexManager.getQueue(site).add(this);   return result;};
meta: 993	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/993/9d08dc89aac0d7c924338b450a19800616cd3946/Story.js/clean/code/Story/Story.js