function processIdeaForm($userid = 0) { $resp = array(); $resp['error'] = false; $idea = $_POST['idea']; $details = $_POST['details']; $tagid = $_POST['tagid']; if ($idea == '') { $resp['error'] = true; $resp['msg'] = 'Sorry, we did not get your idea. Please try again.'; } if ($tagid == '' or $tagid == 0) { $resp['error'] = true; $resp['msg'] = 'Please specify a category. Please try again.'; } if (isset($_POST['videoURL']) and $_POST['videoURL'] != '') { require_once PATH_CORE . '/classes/video.class.php'; $videoURL = videos::getVideoURLFromEmbedCodeOrURL(stripslashes($_POST['videoURL'])); if (videos::validateVideoURL($videoURL)) { $vt = new VideoTable($db); $videoid = $vt->createVideoForIdea($userid, $videoURL, "Idea video by {$userid}"); } else { $resp['error'] = true; $resp['msg'] = 'Unsupported or invalid video URL'; } } else { $videoid = 0; } if (!$resp['error']) { $isDup = $this->isDup($idea); if ($isDup !== false) { // it is a duplicate $resp['error'] = true; $resp['msg'] = 'Sorry, <a href="?p=ideas&o=view&id=' . $isDup . '">that idea has already been added here</a>.'; } else { $iTable = new ideasTable($this->db); $ir = $iTable->getRowObject(); $ir->idea = $idea; $ir->details = $details; $ir->tagid = $tagid; $ir->userid = $userid; $ir->dt = date('Y-m-d H:i:s', time()); $ir->numLikes = 1; $ir->videoid = $videoid; $ir->insert(); // add like for this idea when user posts require_once PATH_CORE . '/classes/log.class.php'; $logObj = new log($this->db); $logItem = $logObj->serialize(0, $userid, 'likeIdea', $ir->id); $inLog = $logObj->update($logItem); $resp['id'] = $ir->id; } } return $resp; }