We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 6953
    • 94 Posts
    Давно искал этот плагин для своего проекта. Что он делает - при регистрации нового юзера ему создается автоматом новая страница, которую только он может редактировать. Ниже код плагина:
    //retrive last inserted webuser id
    $user_id=$modx->db->select("id","modx_web_users","", "id DESC","1");
    $last = mysql_fetch_assoc($user_id);
    $user_id=$last[id];

    //check if user is member of any group
    $is_member=$modx->db->select("id","modx_web_groups","webuser = $user_id", "","");
    $total_rows = $modx->db->getRecordCount( $is_member );

    //if not
    if($total_rows==0){


    //create unique doc group name
    $sql = "INSERT INTO modx_documentgroup_names VALUES (NULL,’$doc_group$user_id’,0,0)";
    $modx->db->query($sql);
    $last_docgroup_name_id=$modx->db->getInsertId();

    //create page
    $sql ="INSERT INTO `modx_site_content` VALUES (NULL, ’document’, ’text/html’, ’test’, ’test’, ’’, ’’, ’’, 1, 0, 0, 0, 0, ’test’, ’<p>test</p>’, 1, 5, 6, 1, 1, 1, 1182963293, 1, 1182963829, 0, 0, 0, 1182963293, 1, ’’, 0, 0, 0, 1, 0, 0, 0)";
    $modx->db->query($sql);
    $last_page_id=$modx->db->getInsertId();

    //create unique doc group
    $sql = "INSERT INTO modx_document_groups (document_group,document) VALUES($last_docgroup_name_id,$last_page_id) ";
    $modx->db->query($sql);
    $last_docgroup_id=$modx->db->getInsertId();

    //create unique web group name
    $prefix="web_group_";
    $sql = "INSERT INTO modx_webgroup_names VALUES(NULL,’$prefix$user_id’)";
    $modx->db->query($sql);
    $last_webgroup_name_id=$modx->db->getInsertId();

    //add user to webgroup
    $sql = "INSERT INTO modx_web_groups VALUES(NULL,$last_webgroup_name_id,$user_id) ";
    $modx->db->query($sql);


    //add web group access to doc groups
    $sql = "INSERT INTO modx_webgroup_access VALUES(NULL,$last_webgroup_name_id,$last_docgroup_name_id) ";
    $modx->db->query($sql);



    //set homepage for user
    $sql = "INSERT INTO modx_web_user_settings VALUES($user_id,’login_home’,$last_page_id) ";
    $modx->db->query($sql);

    include_once($modx->config[’base_path’] . "manager/processors/cache_sync.class.processor.php");
    $sync = new synccache();
    $sync->setCachepath($modx->config[’base_path’] . "assets/cache/");
    $sync->setReport(false);
    $sync->emptyCache();
    $modx->clearCache(); // double clear cache

    }
    else{
    return 0;
    }

    Параметры конфигурации:
    &doc_group=doc group prefix;string;doc_group_

    Использует OnWebUserSave Event

    При попытке зарегистрировать нового пользователя, выдается сообщение браузера: "Missing username. Please enter username."

    Теперь мои вопросы:
    1) можно ли исправить данное недоразумение;
    2) есть ли более галантное решение для данного плагина

    P.S. Очень важен именно этот плагин. На нем практически вся идея сейчас висит. Помогите, плз..
    P.P.S. Проверил сейчас - плагин не контачит с 0.9.6 Вместе с 0.9.5 вроде все окей. Как привести к 0.9.6?
      L.O.V.E is just a four letter word