function getEventsByName($searchString){ $db = new PDO('sqlite:database/db/EventagerDB.db'); $searchFormatted = getExpression($searchString); $stmt = $db->prepare("SELECT * FROM Event WHERE ename LIKE ? "); $stmt->execute(array($searchFormatted)); $events = $stmt->fetchAll(); foreach($events as $event){ if(!$event['private']){ $stmt = $db->prepare('SELECT count(uid) AS attendees FROM EventFollower WHERE eid=?'); $stmt->execute(array($event['eid'])); $attending = $stmt->fetch(); ?> <p class="event"> <a href="event.php?id=<?echo $event['eid']?>"><?echo $event['ename']?></a> <?echo $event['edate']?> - <?echo $attending['attendees']?> attending </p> <? } } }
function getUsersByName($searchString){ $db = new PDO('sqlite:database/db/EventagerDB.db'); $stmt = $db->prepare('SELECT * FROM User WHERE uname LIKE ?'); $stmt->execute(array(getExpression($searchString))); $users = $stmt->fetchAll();?> <form action="invite.php?id=<?echo $_GET['id']?>" method="post"> <input type="hidden" name="csrf" value="<?echo $_SESSION['tok']?>" /> <input type="text" name="searchString" placeholder="Search for a user here"> <input type="submit" value="Search" > </form> <form action="database/action_addFollower.php" method="post"> <input type="hidden" name="csrf" value="<?echo $_SESSION['tok']?>" /> <?if($searchString !== ''){foreach($users as $user){?> <label><?echo $user['uname']?></label> <input type="checkbox" name="users[]" value="<?echo $user['uid']?>" > <br> <?}?> <input type="submit" value="Invite these people" > <?}?> <input type="hidden" name="eventId" value="<?echo $_GET['id']?>"> </form> <?}
function addDefinedMeaning( $definingExpressionId ) { $dc = wdGetDataSetContext(); $definedMeaningId = newObjectId( "{$dc}_defined_meaning" ); // wfDebug( "addDefinedMeaning(): $definedMeaningId has to be inserted to the database $dc" ); $dbw = wfGetDB( DB_MASTER ); $dbw->query( "INSERT INTO {$dc}_defined_meaning(defined_meaning_id, expression_id, add_transaction_id) values($definedMeaningId, $definingExpressionId, " . getUpdateTransactionId() . ")" ); // wfDebug( "addDefinedMeaning(): after $definedMeaningId has been inserted in the database" ); $expression = getExpression( $definingExpressionId ); $pageId = createPage( NS_DEFINEDMEANING, getPageTitle( "$expression->spelling ($definedMeaningId)" ) ); createInitialRevisionForPage( $pageId, 'Created by adding defined meaning' ); return $definedMeaningId; }
/** * @param DataSet where to look * @param Integer Defined Meaning Id * @param String Spelling * @return DataSet or null * @see checkExistence * */ public function checkExistenceInDataSet( DataSet $dc ) { $definingExpression = $this->definingExpression; $id = $this->getId(); $dbr = wfGetDB( DB_SLAVE ); $queryResult = $dbr->query( "SELECT defined_meaning_id, expression_id from {$dc}_defined_meaning where defined_meaning_id=" . $this->id . " AND " . getLatestTransactionRestriction( "{$dc}_defined_meaning" ) ); $dmRow = $dbr->fetchObject( $queryResult ); if ( !$dmRow || !$dmRow->defined_meaning_id ) { return null; } if ( is_null( $definingExpression ) ) { return $dc; } else { $expid = (int)$dmRow->expression_id; $storedExpression = getExpression( $expid, $dc ); if ( is_null( $storedExpression ) ) return null; if ( $storedExpression->spelling != $definingExpression ) { // Defining expression does not match, but check was requested! return null; } else { return $dc; } } }
public function getViewHTML( IdStack $idPath, $value ) { global $wgRequest; $dc = wdGetDataSetContext(); $output = ""; // We must find the spelling and the list of possible languages from $idPath $expressionId = $idPath->getKeyStack()->peek( 0 )->expressionId; $spelling = getExpression( $expressionId, $dc )->spelling; $title = Title::makeTitle( NS_EXPRESSION, $spelling ); $expressionsArray = getExpressions( $spelling, $dc ) ; $languageIdList = array() ; foreach ( $expressionsArray as $expression ) { if ( $expression->languageId != $value ) { // only add languages that are not the current language $languageIdList[] = $expression->languageId ; } } if ( count($languageIdList) > 0 ) { // there are other languages as alternative, prepare the dropdown $output .= Html::openElement('span', array('class' => 'wd-dropdown') ) ; } // displays the name of the current language // this is the only thing that is displayed if there are no other language available $output .= languageIdAsText( $value ) ; if ( count($languageIdList) > 0 ) { // there might be duplicates $languageIdList = array_unique ( $languageIdList ) ; // Now the names $languageNameList = array(); foreach ( $languageIdList as $languageId ) { $languageNameList[$languageId] = languageIdAsText($languageId) ; } asort($languageNameList); // build the list <ul> $output .= ' ▿' ; // now the <li> definining the menu // display: none is also in the .css, but defined here to prevent the list to show // when the .css is not yet loaded. $output .= Html::openElement('ul', array('class' => 'wd-dropdownlist', 'style' => 'display: none;' )); foreach ( $languageNameList as $languageId => $languageName ) { $output .= Html::openElement('li'); $urlOptions = array( 'explang' => $languageId ); if ( $wgRequest->getVal("action") == "edit" ) { $urlOptions['action'] = "edit" ; } $aHref = $title->getLocalURL( $urlOptions ) ; $output .= Html::rawElement('a', array('href' => $aHref), $languageName ); $output .= Html::closeElement('li'); } $output .= Html::closeElement('ul'); $output .= Html::closeElement('span'); } return $output; }