Beispiel #1
0
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>

  <?
    }
  }
}
Beispiel #2
0
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;
	}