Anmeldung mit Facebook Connect

Begonnen von bambussprosse, 11 November 2013, 20:13:47

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

bambussprosse

#20
ZitatFrag doch mal den Entwickler, ob er seine Idee der Community hier frei zur Verfügung stellt.

Ohne jetzt Rücksprache mit Webfan deswegen gehalten zu haben, kann ich möglicherweise folgendes verraten.   :smile:

Webfan hat das Facebook-Connect Script via OAauth (ist ein offenes Protokoll, das eine standardisierte, sichere API-Autorisierung für Desktop-, Web- und Mobile-Applikationen ermöglicht) verwirklichen können.

Zusätzlich mit einigen Anpassungen, welche mir besonders wichtig waren, hat dies Webfan (kostenpflichtig) wie immer zu meiner größten Zufriedenheit umgesetzt. Kann seine Dienste als Programmierer jedem empfehlen.  :thumbup:

Folgende Faktoren waren mir dabei extrem wichtig:

Sicherheit
Bequemlichkeit für den User bzw. das Mitglied
Freie Entscheidungsmöglichkeit (die Facebook Verknüpfung kann im Konto jederzeit gelöscht werden.)


Andi

Zitat von: bambussprosse am 24 Januar 2014, 15:05:27
ZitatFrag doch mal den Entwickler, ob er seine Idee der Community hier frei zur Verfügung stellt.

Ohne jetzt Rücksprache mit Webfan deswegen gehalten zu haben, kann ich möglicherweise folgendes verraten.   :smile:

Webfan hat das Facebook-Connect Script via OAauth (ist ein offenes Protokoll, das eine standardisierte, sichere API-Autorisierung für Desktop-, Web- und Mobile-Applikationen ermöglicht) verwirklichen können.

Zusätzlich mit einigen Anpassungen, welche mir besonders wichtig waren, hat dies Webfan (kostenpflichtig) wie immer zu meiner größten Zufriedenheit umgesetzt. Kann seine Dienste als Programmierer jedem empfehlen.  :thumbup:

Folgende Faktoren waren mir dabei extrem wichtig:

Sicherheit
Bequemlichkeit für den User bzw. das Mitglied
Freie Entscheidungsmöglichkeit (die Facebook Verknüpfung kann im Konto jederzeit gelöscht werden.)


Da brauche ich jetzt nichts weiter zu schreiben, oder?  :gruebel: :gruebel: :puzzled:
schön´s Grüssle, Andi

nudels64

Lieben Gruß
Andreas
#################################
CMS-Version:
pragmaMx 2.1.2.94 (2014-10-22)
PHP-Version:
5.6.24-he.0
MySQL-Version:
5.6.31-77.0-log
Server-Version:
Apache

AlternativeComputing

Zitat von: Andi am 24 Januar 2014, 15:35:43
Zitat von: bambussprosse am 24 Januar 2014, 15:05:27
ZitatFrag doch mal den Entwickler, ob er seine Idee der Community hier frei zur Verfügung stellt.

Ohne jetzt Rücksprache mit Webfan deswegen gehalten zu haben, kann ich möglicherweise folgendes verraten.   :smile:

Webfan hat das Facebook-Connect Script via OAauth (ist ein offenes Protokoll, das eine standardisierte, sichere API-Autorisierung für Desktop-, Web- und Mobile-Applikationen ermöglicht) verwirklichen können.

Zusätzlich mit einigen Anpassungen, welche mir besonders wichtig waren, hat dies Webfan (kostenpflichtig) wie immer zu meiner größten Zufriedenheit umgesetzt. Kann seine Dienste als Programmierer jedem empfehlen.  :thumbup:

Folgende Faktoren waren mir dabei extrem wichtig:

Sicherheit
Bequemlichkeit für den User bzw. das Mitglied
Freie Entscheidungsmöglichkeit (die Facebook Verknüpfung kann im Konto jederzeit gelöscht werden.)


Da brauche ich jetzt nichts weiter zu schreiben, oder?  :gruebel: :gruebel: :puzzled:

:thumbup:
MfG

Peter

bambussprosse

Da ich diesen Thread ursprünglich eröffnet hatte und das eigentliche Thema (Anmeldung mit Facebook-Connect) auf großes Interesse gestoßen ist, hatte ich mir erlaubt darauf hinzuweisen, dass mit programmiertechnischer Unterstützung von Webfan dies in meinen Fall erfolgreich umgesetzt worden ist.

Leider wurde mein Text danach von Andi mit der Zitatfunktion und der teilweise Einfärbung von einigen Textpassagen, in einen vollkommen anderen Kontext gebracht.

Bitte gebt doch Webfan die Möglichkeit darauf selbst zu antworten. Möglicherweise erklärt sich Webfan dazu bereit ein derartiges Tool für PragmaMx kostenlos zur Verfügung zu stellen.  (?)

Webfan

Yeah! Mal wieder Webfan vs. Facebook Bashing  :thumbup:

Ne mal im Ernst, eines vorweg: Die antikommunistische imperialistische Ausbeutung wird eines Tages ein Ende finde, außerdem verstehe ich natürlich Andis Aussage als kleinen Spaß, im Sinne des Foren-Friedens verzichte ich jetzt hier darauf an Formulierungen rumzudeuten und hier ein Streitgespräch vom Zaun zu brechen.

Hallo Andi erstmal, willkommen zurück in Deinem Zuhause!
Zitat
Na, das ist doch toll.  biggrin Frag doch mal den Entwickler, ob er seine Idee der Community hier frei zur Verfügung stellt. Das würde dem thread hier doch ungemein helfen.....
Da, bitte:
<?php


class oauth_schmeckts
{

 CONST 
__CONFIG_INI_DIR__ 'modules/Lokale/config/oauth_schmeckts/';

 private 
$bserialize;

 public 
$success;

 public 
$userdata;
 public 
$isRegistered;
 public 
$isRegiestered_OAuth;

 public 
$user;

 public 
$provider;
 public 
$template_navbar;
 public 
$template;
 public 
$conf;

 public 
$client;  // & oauth_client_class

 
public $unames;
 public 
$name_anrede;

 public 
$userdir;
 public 
$file;

 public 
$REG;
 public 
$userdata_provider_first;
 public 
$userdata_provider;


  function 
__construct($success$client$user$provider 'facebook')
   {
     
$this->success $success;
     
$this->client = &$client;
     
$this->user = &$user;
     
$this->provider $provider;
     
$this->isRegiestered_OAuth FALSE;
     
$this->isRegistered FALSE;
     if(
MX_IS_USER)$this->isRegistered TRUE;
     
$this->userdata mxGetUserData();
     
$this->loadConfig();
     
$this->unames = array();
     
$this->userdir NULL;
     
$this->bserialize = new bserialize();
   }
   
//constructor


  
public function loadConfig()
   {
    
$ini = new wINI();
    
$this->conf $ini->load$this->dirName($this->provider).$this->provider.'.settings.ini' );
    
$this->template_navbar $this->conf['provider_settings']['template_navbar'];
    
$this->template $this->conf['provider_settings']['template'];

   }

  function 
mkname($name ''$first_name ''$last_name ''$username '')
    {
     
$n $username;
     if(
$name != '')$n $name;
     if(
$first_name != '')$n $first_name;
     if(
$first_name != '' && $last_name != '')
      {
        
$n $first_name.' '.$last_name;
        
$n strtolower($n);
        
$n ucwords($n);
      }
     return 
$n;
    }

  function 
mkuname($n)
   {
     
$umlaute = array('.''-''Ä''ä''Ö''ö''Ü''ü');
     
$replace = array('_''_''Ae''ae''Oe''oe''Ue''ue');
     
$n str_replace($umlaute$replace$n);
     
$n preg_replace("/\s+/"' '$n);
     
$n preg_replace("/\s/"'_'$n);
     
$n preg_replace("/[^A-Za-z0-9_]/"''$n);
     return 
$n;
   }


  function 
dirName($provider NULL)
   {
    if(
$provider === NULL && $this->provider !== '')$provider $this->provider;
    return 
self::__CONFIG_INI_DIR__.'/provider.'.$provider.'/';
   }
   
//eof dirName


  
private function create()
   {
    global 
$prefix;

     if(!
$this->user->id || empty($this->user->id) || $this->user->id == '')return log_error2'Cannot get facebook User-ID'__FILE____LINE__'oauth_schmeckts::create' );

     if(
$this->isRegiestered_OAuth !== FALSE)return $this->isRegiestered_OAuth;

     
$this->userdir str_replace('{ID}'$this->user->id$this->conf['provider_settings']['dir'] );
     
$this->file $this->userdir.$this->conf['FILES']['regdata'];

     if(!
is_dir($this->userdir) )mkdir($this->userdir);
     
chmod($this->userdir0777);

     
$this->REG = array();
     
$this->REG = (object)$this->REG;
     
$this->REG->isRegistered $this->isRegistered;
     
$this->REG->uid 0;
     if(
MX_IS_USER)
       {
         
$this->REG->uid $this->userdata['uid'];
       }
    
/*
                access_token_expiry='".mxAddSlashesForSQL($this->client->access_token_expiry)."',
            access_token='".mxAddSlashesForSQL($this->client->access_token)."',
            */
    
$q="INSERT INTO ".$prefix."lok_OAuth_users
           SET
            verified='"
.intval($this->user->verified)."',
            provider='"
.mxAddSlashesForSQL($this->provider)."',
            uid='"
.intval($this->REG->uid)."',
            user_id='"
.intval($this->user->id)."',
            scope_unique='"
.mxAddSlashesForSQL($this->conf['settings_user']['scope_unique'])."',
            scope_provider='"
.mxAddSlashesForSQL($this->conf['settings_user']['scope_provider'])."',
            email='"
.mxAddSlashesForSQL($this->user->email)."',
            username='"
.mxAddSlashesForSQL($this->user->username)."',
            first_name='"
.mxAddSlashesForSQL($this->user->first_name)."',
            last_name='"
.mxAddSlashesForSQL($this->user->last_name)."',
            name='"
.mxAddSlashesForSQL($this->user->name)."',
            link='"
.mxAddSlashesForSQL($this->user->link)."',

            dir='"
.mxAddSlashesForSQL($this->userdir)."'
        "
;
     
sql_query($q);
    
// if(mysql_error() )//die(mysql_error() );//return NULL;
     
$this->REG->id_OAuth_user_db mysql_insert_id();
     
$this->REG->time time();
     
$this->REG->IP MX_REMOTE_ADDR;

     
$this->userdata_provider_first $this->user;
     
$this->userdata_provider $this->user;


     
$this->writeFiles( array('REG''userdata_provider''userdata_provider_first') );

     
$this->isRegiestered_OAuth TRUE;

         
$msg 'Ein Facebook-User hat Ihre Seite besucht, ein Profil wurde angelegt:';
         
$msg.="\n";
         
$msg.= $this->user->first_name.' '.$this->user->last_name;
         
$msg .= "\n";
         
$msg .= $this->user->link;
         
$msg .= "\n";
         
LOK_ADMIN_MESSAGE::msg($msg);

     return 
$this->isRegiestered_OAuth;
   }


  public function 
register($u)
   {

     
$this->userdir str_replace('{ID}'$u['user_id'], $this->conf['provider_settings']['dir'] );
     
$this->file $this->userdir.$this->conf['FILES']['regdata'];
     
$fp fopen($this->file'rb');
     
$df fread($fpfilesize($this->file) );
     
fclose($fp);

     
$this->REG $this->bserialize->unserialize($df);
     
$this->REG->isRegistered TRUE;
     
$this->REG->uid $u['uid'];
     
$this->writeFiles( array('REG') );

         
$msg 'Ein Facebook-User hat sich bei schmeckts.at registriert:';
         
$msg.="\n";
         
$msg .= 'UID: '.$this->REG->uid;
         
$msg .= "\n";
         
$msg .= $u['uname'];
         
$msg .= "\n";
         
LOK_ADMIN_MESSAGE::msg($msg);
   }


  public function 
readFiles$files = array('REG''userdata_provider''userdata_provider_first''anmeldevorgang') )
   {
     
$this->userdir str_replace('{ID}'$this->user->id$this->conf['provider_settings']['dir'] );

     foreach(
$files as $file)
      {
         if(
$file == 'REG')
              {
                  
$fp fopen($this->userdir.$this->conf['FILES']['regdata'], 'rb');
                  
$data fread($fpfilesize($this->userdir.$this->conf['FILES']['regdata']) );
                  
fclose($fp);
                  
$this->REG $this->bserialize->unserialize($data);
              }
         if(
$file == 'userdata_provider')
              {
                  
$fp fopen($this->userdir.$this->conf['FILES']['userdata_provider'], 'rb');
                  
$data fread($fpfilesize($this->userdir.$this->conf['FILES']['userdata_provider']) );
                  
fclose($fp);
                  
$this->userdata_provider $this->bserialize->unserialize($data);
              }
         if(
$file == 'userdata_provider_first')
              {
                  
$fp fopen($this->userdir.$this->conf['FILES']['userdata_provider_first'], 'rb');
                  
$data fread($fpfilesize($this->userdir.$this->conf['FILES']['userdata_provider_first']) );
                  
fclose($fp);
                  
$this->userdata_provider_first $this->bserialize->unserialize($data);
              }

      }

   }
   
//writeFiles


  
public function writeFiles$files = array('REG''userdata_provider''userdata_provider_first''anmeldevorgang') )
   {
     
$this->userdir str_replace('{ID}'$this->user->id$this->conf['provider_settings']['dir'] );

     foreach(
$files as $file)
      {
         if(
$file == 'REG')
              {
                  
$data $this->bserialize->serialize($this->REG);
                  
$fp fopen($this->userdir.$this->conf['FILES']['regdata'], 'wb');
                  
fwrite($fp$data);
                  
fclose($fp);
              }
         if(
$file == 'userdata_provider')
              {
                  
$data $this->bserialize->serialize($this->userdata_provider);
                  
$fp fopen($this->userdir.$this->conf['FILES']['userdata_provider'], 'wb');
                  
fwrite($fp$data);
                  
fclose($fp);
              }
         if(
$file == 'userdata_provider_first')
              {
                  
$data $this->bserialize->serialize($this->userdata_provider_first);
                  
$fp fopen($this->userdir.$this->conf['FILES']['userdata_provider_first'], 'wb');
                  
fwrite($fp$data);
                  
fclose($fp);
              }

      }

   }



  public function 
checkIsRegistered_OAuth($create TRUE)
   {
     
$this->isRegiestered_OAuth FALSE;
     
$this->userdir str_replace('{ID}'$this->user->id$this->conf['provider_settings']['dir'] );
     
$this->file $this->userdir.$this->conf['FILES']['regdata'];
     if(
file_exists($this->file) )$this->isRegiestered_OAuth TRUE;

     if(
$this->isRegiestered_OAuth !== TRUE && $create === TRUE)
       {
          
$this->isRegiestered_OAuth $this->create();
       }elseif(
$this->isRegiestered_OAuth === TRUE)
            {
              
$this->readFiles( array('REG') );
            }

     return 
$this->isRegiestered_OAuth;
   }


  public function 
view_first()
   {
     global 
$pagetitle;


        
$pagetitle $this->conf['provider_settings']['pagetitle'];


        if(!
$this->success || !is_numeric($this->user->id) )
         {

          require(
'header.php');
          
$tpl load_class('Template');
          
$tpl->init_path(__FILE__);

          
$tpl->display('navbar.html');
          
$tpl->display($this->template_navbar);

          echo 
'<br /><br /><span class="webfan-red">Die Anmeldung ist leider fehlgeschlagen.</span><br />';
          echo 
'<br /><a href="'.PMX_HOME_URL.'/modules.php?name=User_Registration">Weiter...</a><br /><br />';
          
$tpl->display('foot.html');
          require(
'footer.php');
          die();
         }

        
$this->checkIsRegistered_OAuth(TRUE);
        if(
MX_IS_USER)$this->login_UserRegistered();
        if(!
MX_IS_USER)$this->check_login();

        
$this->name_anrede $this->mkname($this->user->name,
                                                  
$this->user->first_name,
                                                  
$this->user->last_name,
                                                  
$this->user->username);

        
$this->unames = array();
        if(
$this->name_anrede != '')$this->unames[] = $this->mkuname($this->name_anrede);
        if(
$this->user->name != '')$this->unames[] = $this->mkuname($this->user->name);
        if(
$this->user->first_name != '')$this->unames[] = $this->mkuname($this->user->first_name);
        if(
$this->user->last_name != '')$this->unames[] = $this->mkuname($this->user->last_name);
        if(
$this->user->username != '')$this->unames[] = $this->mkuname($this->user->username);

        
$_SESSION['oauth_schmeckts'] = array();
        
$_SESSION['oauth_schmeckts']['conf'] = $this->conf;
        
$_SESSION['oauth_schmeckts']['provider'] = $this->provider;
        
$_SESSION['oauth_schmeckts']['user_id'] = $this->user->id;


$msg '<h1 class="webfan-blue">Anmelden mit <span class="fb_schmeckts">'.$this->provider.'</span>...</h1>
Hallo '
.$this->name_anrede.',<br />
werden Sie Mitglied bei schmeckts.at dem kulinarischen Bewertungsportal!<br />'
;

$msg.= '
<script type="text/javascript">
 Dom.get(\'SCHMECKTS_INTRO_DIV_TXT\').style.display=\'none\';
 Dom.get(\'SCHMECKTS_INTRO_DIV_TXT_SWITCH_ON\').style.display=\'block\';
</script>   '
;

        
$OAUTH_S;
        
$OAUTH_S = &$this;
        
new_user($msg$OAUTH_S );
        die();

  
/*
        require('header.php');
        $tpl = load_class('Template');
        $tpl->init_path(__FILE__);

        $tpl->assign('provider', $this->provider);
        $tpl->assign('user', $this->user);
        $tpl->assign('userdata', $this->userdata);
        $tpl->assign('name_anrede', $this->name_anrede );
        $tpl->assign('unames', $this->unames );

        $tpl->display('navbar.html');
        $tpl->display($this->template_navbar);

        $tpl->display($this->template);


        $tpl->display('foot.html');
        require('footer.php');
        die();
    */



   
}
   
//view_first


  
public function erase()
   {
     global 
$prefix;

    
// while(ob_get_level()){ob_end_clean();}
      
$weiter '<br /><a href="'.PMX_HOME_URL.'/modules.php?name=Your_Account">Weiter...</a>';

      if(!
MX_IS_USER)
       {
         
//mxRedirect(PMX_HOME_URL.'/modules.php?name=Your_Account', 'Bitte melden Sie sich an...', 1);
         
require('header.php');
          echo 
'Bitte melden Sie sich an.'.$weiter;
         require(
'footer.php');
         die();
       }

      
$this->checkIsRegistered_OAuth(FALSE);
      
$_REQUEST['schmeckts_fb_login_step'] = 'erase';

      
$oauth NULL;

      
$q ="SELECT * FROM ".$prefix."lok_OAuth_users
             WHERE
               uid='"
.intval($this->userdata['uid'])."'
             AND
               provider='"
.mxAddSlashesForSQL($this->provider)."'
            LIMIT 1
            "
;
      
$result sql_query($q);
      while(
$row sql_fetch_array($result) )
        {
          
$oauth $row;
        }

     if( !
is_array($oauth) )
      {
        
// mxRedirect(PMX_HOME_URL.'/modules.php?name=Your_Account', 'Die Verkn&uuml;pfung konnte nicht geladen werden...', 10);
         
require('header.php');
          echo 
'Die Verkn&uuml;pfung konnte nicht geladen werden.'.$weiter;
         require(
'footer.php');
        die();
      }

     
$errors 0;
     
LOK_HELPER::sql_begin();

      
$q ="DELETE FROM ".$prefix."lok_OAuth_users
             WHERE
               id='"
.intval($oauth['id'])."'
              LIMIT 1
            "
;
      
sql_query($q);
      if(
mysql_error() )$errors++;

     
$this->userdir str_replace('{ID}'$oauth['user_id'], $this->conf['provider_settings']['dir'] );
     
$this->file $this->userdir.$this->conf['FILES']['regdata'];

     
$files glob$this->userdir.'*' );
     foreach(
$files as $file)
      {
        if(!
preg_match("/".$this->provider."/"$file))continue;
        
chmod$file777 );
        
unlink($file);
      }
     if(
preg_match("/".$this->provider."/"$this->userdir))chmod$this->userdir777 );
     if(
preg_match("/".$this->provider."/"$this->userdir))rmdir$this->userdir );
     if(
is_dir($this->userdir) )$errors++;

     if( 
$errors == 0)
       {
         
LOK_HELPER::sql_commit();
         
$msg $this->userdata['uname'].' hat seine '.$this->provider.' Verknüpfung gelöscht.';
         
LOK_ADMIN_MESSAGE::msg($msg);
         
//xRedirect(PMX_HOME_URL.'/modules.php?name=Your_Account', 'Die Verkn&uuml;pfung mit '.$this->provider.' wurde gel&ouml;scht...', 10);
         
require('header.php');
          echo 
'Die Verkn&uuml;pfung mit '.$this->provider.' wurde gel&ouml;scht.'.$weiter;
         require(
'footer.php');

          die();
       }else{
              
LOK_HELPER::sql_rollback();
             
// mxRedirect(PMX_HOME_URL.'/modules.php?name=Your_Account', 'Leider hat es Fehler gegeben...', 10);
              
require('header.php');
               echo 
'Leider hat es Fehler gegeben.'.$weiter;
              require(
'footer.php');
              die();
            }

   }
   
//erase




  
private function check_login()
   {
    global 
$prefix;

      
$oauth_user = array('uid' => 0);
      if(
$this->REG->isRegistered === TRUE && isset($this->REG->id_OAuth_user_db) && $this->REG->id_OAuth_user_db 0)
        {
          
$q="SELECT * FROM ".$prefix."lok_OAuth_users
                         WHERE
                           id='"
.intval($this->REG->id_OAuth_user_db)."'
                          AND
                           uid<>'0'
                          AND
                           provider='"
.mxAddSlashesForSQL($this->provider)."'
                          AND
                           user_id='"
.intval($this->user->id)."'
                LIMIT 1
             "
;
          
$result sql_query($q);
          while(
$row sql_fetch_array($result) )
           {
             
$oauth_user $row;
             
$this->userdata mxGetUserDataFromUid($oauth_user['uid']);
             
$this->userdata_provider $this->user;
             
$this->writeFiles( array('userdata_provider') );
             
$this->login($this->userdata);
           }

        }


   }
   
//check_login



   
private function login($dbdata)
    {
        
mxSetUserSession($dbdata['uid'], $dbdata['uname'], $dbdata['pass'], $dbdata['storynum'], $dbdata['umode'], $dbdata['uorder'], $dbdata['thold'], $dbdata['noscore'], $dbdata['ublockon'], $dbdata['theme'], $dbdata['commentmax']);
        
mxSessionDelVar('formvalues');
        
mxSessionDelVar('ucountbadlogin');
        
mxSessionDelVar('newusercheck'); // falls noch von Accounterstellung vorhanden
        
mxSessionSetVar('lang'$dbdata['user_lang']);

        
/* Modulspezifische Logins durchfuehren */

        
pmx_run_hook('user.login'$dbdata['uid']);

        
$nexturl LOK_HELPER::makeLinkStammgastbuch($dbdata['uname'], $dbdata['uid'], TRUE);
        
$nexturl str_replace('.html''-redirect-account.html'$nexturl);

        
session_write_close();
        return 
mxRedirect($nexturl);
    }
     
//login



   
private function login_UserRegistered()
    {
     global 
$prefix;

      if(!
MX_IS_USER)return;

       if(isset(
$this->REG->id_OAuth_user_db) && $this->REG->id_OAuth_user_db 0)
        {
                    
$q="UPDATE ".$prefix."lok_OAuth_users
                         SET
                           uid='"
.intval($this->userdata['uid'])."'
                         WHERE
                           id='"
.intval($this->REG->id_OAuth_user_db)."'
                         LIMIT 1
                    "
;
                    
sql_query($q);
        }

        
pmx_run_hook('user.login'$dbdata['uid']);

        
$nexturl LOK_HELPER::makeLinkStammgastbuch($this->userdata['uname'], $this->userdata['uid'], TRUE);
        
$nexturl str_replace('.html''-redirect-account.html'$nexturl);

      
//  session_write_close();
       
return mxRedirect($nexturl);

    }
    
//login_user



}
//EOF


ZitatIch würde mich freuen, wenn andere mit Ihrem Wissen, ihren Erfahrungen und ihrem Können die Community bereichern würden.
Hieran zeigt sich was hier nicht ganz in Ordnung ist.
Da postet man seit Jahren hier regelmäßig kostenlos Downloads, und ich denke auch mein Frage-/Antwortverhältnis kann sich sehen lassen, und falls es Euch aufgefallen sein sollte wurdet Ihr in letzterer Zeit von konkreten Vorschlägen meinerseits geradezu überschüttet.
Desweiteren darf man hier immerzu gespannt raten wann und ob es denn was neues gibt, sicherlich das gute Recht des Teams hier kleine Termine zu nennen keine Frage.
Aber sobald dann der liebe Till scheinbar irgendwie den Kindern kurz den Lolli wegzunehmen scheint, und ohne konkrete Absage auf die Zeit bzw. das ausstehende PMX2.0 hinweißt kommt hier plötzlich Kritik auf ???
Das ist nicht OK :bindoof:
Zitat
Möglicherweise erklärt sich Webfan dazu bereit ein derartiges Tool für PragmaMx kostenlos zur Verfügung zu stellen.
(Siehe auch dazu unten)
Ich arbeite in der Tat bereits an einer Lösung für das Webfan Homepagesystem.
Das wird als nächstes von mir kostenlos kommen: Ein FB Login ( mit eigener App für den Systemnutzer ) und ein sagenhaftes Wiki für das Homepagesystem.
Wenn ich Lust habe und überhaupt die Zeit dafür mache ich vielleicht irgendwann wieder etwas kostenlos für das PragmaMx.
Als nebenberuflich Selbstständiger MUSS ich leider auch in meiner eigenen Branche auch mal kostenpflichtig arbeiten, es tut  mir so leid  :gott:
Im übrigen denke ich mein Preis-Leisungsverhältnis kann sich sehen lassen.
Ich habe meine Fähigkeiten und Kenntnisse mit der Zeit gesteigert, die Module welche hier in den Downloads sind sind meist Tages- oder Wochenendarbeiten, meist weit unter meinem jetzigen Niveau, weshalb wahrscheinlich auch das Webfan-Modul-Lieferungs-Interval etwas länger werden dürfte oder auch sollte.

ZitatDie Vorstellung dass Pragma mit Fratzenbuch "gekoppelt" würde allein bringt meine Fußnägel zum Aufrollen.
Wenn Du nur wüßtest mit was Deine IT-Infrastruktur so alles gekoppelt ist, ... nunja, wie dem auch sei.

Zitatwird eh alles von der NSA überwacht.
->Gleichgültigkeit->Fußnägel...

ZitatDa brauche ich jetzt nichts weiter zu schreiben, oder?
...  :gruebel:

Im Fazit denke ich:
ZitatIch denke Facebook ist eine Sache und das CMS ein andere.

Und
ZitatEs ist eigentlich eine Kleinigkeit, was da abläuft, aber dafür sind halt systemweite Integrationen notwendig.
Ganz genau, was die Registrierung und Benutzerverwaltung betrifft welche hier nötig ist, ist PMX eben nicht darauf vorbereitet in seiner jetzigen Version zumindest, und auch wenn ich den Eingriff minimal halten konnte, so ganz ohne Core-Eingriff ist es hier nicht möglich oder sinnvoll.

Nochmal zurück zu folgendem @bambussprosse:
ZitatMöglicherweise erklärt sich Webfan dazu bereit ein derartiges Tool für PragmaMx kostenlos zur Verfügung zu stellen.  (?)
Wie bereits gesagt kann es möglicherweis sein das ich etwas ähnliches irgendwann mal mache.
Hier sei angemerkt das der Rechteinhaber an dem bisherigen Script allerdings der Kunde ist!

Wünsche allen ein schönes und friedliches Wochenende!

Viele Grüße
:bye:




Olaf

ok... damit wäre das Thema "Facebook-Login" geklärt, denke ich...

der Code steht ja oben. Zu Implementation und sonstigen Fragen dazu, wendet euch bitte dann auch an Webfan (ggf. k.....g) wenn Ihr sein Niveau erreicht, oder an den Lizenzinhaber...

Übrigens finde ich die Idee gut, wir sollten den Code von pmx 2 auch in kleinen Häppchen hier so posten   :thumbup:
g

Olaf

Kein Support über PN, Mail etc.!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

nudels64

Supi, das ist die schnelle unkomplizierte Unterstützung die die Community hier so liebt.
Lieben Gruß
Andreas
#################################
CMS-Version:
pragmaMx 2.1.2.94 (2014-10-22)
PHP-Version:
5.6.24-he.0
MySQL-Version:
5.6.31-77.0-log
Server-Version:
Apache

Webfan

Also
1. "Niveau": Habe ich von MEINEM Niveau gesprochen und von MEINEN alten Scripten die
                 dieses Niveau nicht mehr erreichen da ich dazugelernt habe.
2. "Häppchen" : Entschuldige bitte das ich Deiner Bitte entsprochen habe und Dir den kleinen Finger gereicht habe.
3. "Supi, das ist die schnelle unkomplizierte Unterstützung die die Community hier so liebt."
    @nudels64 : Wann hast DU denn MIR das letztemal was geholfen?
Die Unterstellung ich würde hier keine Hilfe leisten ist falsch und wird der Sache nicht gerecht.

Die Diskussion verliert zunehmend an Niveau(!) und wird unsachlich, hier geht es doch jetzt gar nicht mehr um das Facebook Login und wie man es realisieren könnte, nein hier ...keine Ahnung was ich Euch getan habe?


nudels64

Ich will Dir nicht zu Nahe treten, Webfan. Aber mit Deinen Äusserungen stellst Du dich doch immer mehr ins Abseits. Müssen jetzt alle hier, die das Pragmamx verwenden vorher Zeugnis darüber ablegen ob Sie berechtigt sind das CMS frei zu benutzen? Ich komme aus der IT-Branche, kann leider nicht programmieren. Ich lerne jedoch bei der Verwendung immer mehr dazu. Vieles habe ich auf meiner Seite selbst realisiert oder mir heraus genommen hier Fragen zu stellen ohne das ich hierfür zuvor eine Gegenleistung erbringen musste.
Lieben Gruß
Andreas
#################################
CMS-Version:
pragmaMx 2.1.2.94 (2014-10-22)
PHP-Version:
5.6.24-he.0
MySQL-Version:
5.6.31-77.0-log
Server-Version:
Apache

Olaf

Zitat von: Webfan am 24 Januar 2014, 20:12:48
Also
1. "Niveau": Habe ich von MEINEM Niveau gesprochen und von MEINEN alten Scripten die
                 dieses Niveau nicht mehr erreichen da ich dazugelernt habe.

ok, sorry, hab ich falsch gelesen ....

Zitat von: Webfan am 24 Januar 2014, 20:12:48
2. "Häppchen" : Entschuldige bitte das ich Deiner Bitte entsprochen habe und Dir den kleinen Finger gereicht habe.

...nicht mir... da hast DU was falsch verstanden.... die Community hat danach gefragt, nicht ICH. Im Normalfalle hätte eine Aussage von Dir gereicht, wie "Ich setze ein Paket in die Downloads" oder "aus Lizenzgründen nur kostenpflichtig abzugeben..." (o.ä.) ... diese Art aber einen unvollständigen und unkommentierten Code zu posten, hilft den Usern nicht wirklich.... ist unütz,  äusserst unprofessionell und zeugt nicht unbedingt von Charakter....

Zitat von: Webfan am 24 Januar 2014, 20:12:48
Die Diskussion verliert zunehmend an Niveau(!) und wird unsachlich, hier geht es doch jetzt gar nicht mehr um das Facebook Login und wie man es realisieren könnte, nein hier ...keine Ahnung was ich Euch getan habe?
schau dir einfach nochmal deine Posts hier an...

ok, ich mache jetzt hier Dicht, bevor das noch ausufert !!!
g

Olaf

Kein Support über PN, Mail etc.!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!